הרצאה: Apache ופתרונות ענן/שרתים¶
הקדמה - מה זה Apache?¶
הApache הוא שם שנחשב בעיקר ל Apache HTTP Server - אחד מהשרתים הפופולריים ביותר בעולם:
- משרת קבצים סטטיים ודינמיים (HTML, CSS, JS, PHP ועוד)
- פועל כ-Reverse Proxy או Load Balancer
- פתוח וקוד פתוח (Open Source)
- נמצא בשימוש במערכות רבות - מ-Small Business עד Enterprise
בפועל, apache הוא שם של המון פרויקטי opensource מדהימים, ששווה להכיר.
Apache HTTP Server¶
-
Web Server
-
שרת http: מקבל בקשות HTTP/HTTPS ומחזיר תוכן
-
יכול להפעיל תכנות צד-שרת כמו PHP בקלות רבה
-
Reverse Proxy
-
מחלק בקשות לשרתים פנימיים אחרים- מאפשר להרים כמה אתרים שונים (עם דומיין שונה) תחת אותו שרת http.
-
Load Balancer
-
Apache יכול לפזר עומס בין מספר שרתי
- משפר ביצועים ומונע נקודות כשל
Apache API Gateway¶
הAPI Gateway הוא רכיב שמרכז את כל הבקשות ל-API שלך:
- מקבל בקשות מהלקוח (Mobile/Web)
- מפנה אותן למיקרוסרביסים השונים (לדוגמה אם כל מיקרוסרביס מטפל בroute-ים שונים)
- מספק שירותים חשובים:
- הRouting - הפנייה ל-service המתאים
- הAuthentication / Authorization - ניהול הרשאות
- הRate Limiting - הגבלת בקשות כדי למנוע עומס
- הCaching - שמירת תוצאות נפוצות לשיפור ביצועים
- הMonitoring & Logging - איסוף נתונים על כל בקשה
דוגמה ל-flow עם Apache API Gateway¶
- ה-Gateway מנהל את כל ההפניות
- מאפשר לשנות את הלוגיקה מבלי לשנות את ה-client
- מאפשר להוסיף אבטחה ומדדים מרכזיים למערכת
מוצרים עיקריים של 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
5. Apache Flink¶
- 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 ומיקרוסרביסים.