מערך שיעור: פרויקט מסכם — אינטגרציה מלאה
הקשר: שיא הפרויקט הצוותי — כל 4 השירותים (Collector, Analyzer, Alert, Dashboard) שנבנו בנפרד רצים יחד לראשונה, עם docker-compose ותהליך עבודה צוותי אמיתי.
מטרת הפרויקט: כל צוות ירכיב ויפעיל את מערכת המודיעין השלמה עם docker-compose, ויציג אותה — עם End-to-End Flow מאומת ולפחות PR אחד עם קוד-ריוויו.
דגשים להנחיה
- זהו השלב שבו בעיות Contract “נסתרות” מתגלות סוף-סוף — זה צפוי ותקין, לא כישלון. הכינו את הצוותים מראש לכך שדיבוג באינטגרציה שונה מדיבוג שירות בודד, ולעודד שיתוף פעולה בין חברי הצוות (לא רק “כל אחד מתקן את שלו”).
- ודאו ש-PR+קוד-ריוויו קורה בפועל, לא רק “מדובר עליו” — זה חלק מהותי מהלמידה על עבודת צוות אמיתית.
- הקדישו את רוב הזמן לעבודה בפועל ולפתרון בעיות אינטגרציה אמיתיות, לא הרצאה. הכינו זמן חיץ (buffer) — אינטגרציה תמיד לוקחת יותר זמן מהמצופה.
איך להעריך הצלחה
הובילו כל צוות דרך רצף אבחון מובנה: (1) docker-compose ps — כל השירותים למעלה? (2) docker logs collector — הבקשה התקבלה ופורסמה בהצלחה? (3) docker logs analyzer — קיבל ועיבד? (4) docker logs dashboard — מאזין ל-Topic הנכון? בדקו שאירוע “רגיל” מופיע ב-totalEvents, ושאירוע קיצוני מופיע גם ב-totalAnomalies וגם מייצר התראה — הכל מבקשת HTTP יחידה, בלי הזרקה ידנית.
טעויות נפוצות של סטודנטים
- מריצים כל שירות בנפרד עם
docker runבמקוםdocker-compose— מאבדים את הרשת המשותפת האוטומטית. - מניחים ש-
depends_onמבטיח ש-Kafka מוכן, לא רק שהוא התחיל — לפעמים נדרשת המתנה קצרה נוספת. - מדלגים על בדיקת End-to-End ומסתפקים בבדיקת כל שירות בבידוד — מפספסים בעיות Contract אמיתיות.
תרגיל חשיבה
שאלת פתיחה: “אתם מריצים docker-compose up, שולחים בקשה ל-Collector, אבל Dashboard לא מראה שום דבר חדש. מהם 4 המקומות הראשונים שהייתם בודקים, ולפי איזה סדר?”
מהלך: הובילו את הצוותים לבנות רצף אבחון: (1) docker-compose ps — כל השירותים למעלה? (2) docker logs collector — הבקשה התקבלה, פורסמה בהצלחה? (3) docker logs analyzer — קיבל, עיבד? (4) docker logs dashboard — מאזין ל-Topic הנכון? זהו בדיוק רצף האבחון המקצועי שיהיה להם צורך בו בפועל תוך כדי השיעור.
מה המרצה מראה בסוף: בחרו צוות (בהסכמתם) עם בעיית אינטגרציה אמיתית שעדיין קיימת, ועברו יחד עם כל הכיתה על תהליך האבחון בשידור חי — לפי הרצף שנבנה יחד בתרגיל החשיבה. פתרון תקלה אמיתית מול הכיתה משכנע הרבה יותר מכל תרחיש מבוים.