לדלג לתוכן

הרצאה: Apache ופתרונות ענן/שרתים

הקדמה - מה זה Apache?

הApache הוא שם שנחשב בעיקר ל Apache HTTP Server - אחד מהשרתים הפופולריים ביותר בעולם:

  • משרת קבצים סטטיים ודינמיים (HTML, CSS, JS, PHP ועוד)
  • פועל כ-Reverse Proxy או Load Balancer
  • פתוח וקוד פתוח (Open Source)
  • נמצא בשימוש במערכות רבות - מ-Small Business עד Enterprise

בפועל, apache הוא שם של המון פרויקטי opensource מדהימים, ששווה להכיר.

Apache HTTP Server

  1. Web Server

  2. שרת http: מקבל בקשות HTTP/HTTPS ומחזיר תוכן

  3. יכול להפעיל תכנות צד-שרת כמו PHP בקלות רבה

  4. Reverse Proxy

  5. מחלק בקשות לשרתים פנימיים אחרים- מאפשר להרים כמה אתרים שונים (עם דומיין שונה) תחת אותו שרת http.

  6. Load Balancer

  7. Apache יכול לפזר עומס בין מספר שרתי

  8. משפר ביצועים ומונע נקודות כשל

Apache API Gateway

הAPI Gateway הוא רכיב שמרכז את כל הבקשות ל-API שלך:

  • מקבל בקשות מהלקוח (Mobile/Web)
  • מפנה אותן למיקרוסרביסים השונים (לדוגמה אם כל מיקרוסרביס מטפל בroute-ים שונים)
  • מספק שירותים חשובים:
  • הRouting - הפנייה ל-service המתאים
  • הAuthentication / Authorization - ניהול הרשאות
  • הRate Limiting - הגבלת בקשות כדי למנוע עומס
  • הCaching - שמירת תוצאות נפוצות לשיפור ביצועים
  • הMonitoring & Logging - איסוף נתונים על כל בקשה

דוגמה ל-flow עם Apache API Gateway

Client → Apache API Gateway → Microservice 1
                                → Microservice 2
                                → Microservice 3
  • ה-Gateway מנהל את כל ההפניות
  • מאפשר לשנות את הלוגיקה מבלי לשנות את ה-client
  • מאפשר להוסיף אבטחה ומדדים מרכזיים למערכת

איור המראה כיצד API Gateway מנתב כל בקשה לפי הנתיב אל המיקרוסרביס המתאים ומרכז אימות והגבלת קצב

מוצרים עיקריים של Apache

1. Apache HTTP Server

  • Web server פתוח
  • Reverse proxy / Load balancer
  • מודולים להרחבת פונקציונליות (mod_ssl, mod_proxy וכו’)

2. Apache Kafka

  • דיברנו עלייה בשיעור 1.6
  • מערכת Message Queue / Streaming
  • מאפשר העברת הודעות בין שירותים (Publish/Subscribe)
  • שימושי למיקרוסרביסים, IoT, Event-driven architectures

3. Apache Spark

  • Engine לעיבוד נתונים גדול (Big Data)
  • תומך ב-Streaming, Batch, ML, Graph processing
  • מופעל על Hadoop או כ-standalone

4. Apache Cassandra

  • מסד נתונים NoSQL מבוזר
  • מתאים ל-scale גדול מאוד
  • מספק High Availability ו-Fault Tolerance
  • Engine ל-Stream Processing בזמן אמת
  • עיבוד זרמים גדולים של נתונים ברמה גבוהה

6. Apache Airflow

  • Workflow orchestration tool
  • ניהול Pipeline של נתונים, ETL jobs, או אוטומציות בענן

למה Apache?

  • קוד פתוח - אין עלות רישוי
  • קהילה רחבה - הרבה תיעוד ותמיכה
  • מגוון מוצרים - מ-Web Server ועד Big Data
  • מוניטין מוכח - משמש בארגונים גדולים כבר עשרות שנים

סיכום

  • Apache HTTP Server - Web Server עם יכולות Proxy/Load Balancer
  • Apache API Gateway - מרכז בקשות, אבטחה, Rate Limiting, Routing
  • מוצרים נוספים של Apache:

  • Kafka - Messaging / Streaming

  • Spark - Big Data processing
  • Cassandra - NoSQL מבוזר
  • Flink - Stream Processing
  • Airflow - Orchestration

Apache הוא לא רק Web Server - זו קהילה ומערך כלי תוכנה שמכסה הרבה תחומים בעולם הענן, Big Data ומיקרוסרביסים.