לעתים קרובות אנו נתקלים במצב הבא: מהנדס חדש מצטרף לפרויקט, ובמקום תיעוד ברור, הוא רואה רק מאגר עם קוד Terraform. הבנת VPC peerings, אשכולות ECS ושכפול RDS מקובצי HCL מבזבזת ימים. בעידן הטרנספורמציה הדיגיטלית, גישה זו אינה מקובלת. אנו פותרים זאת על ידי יצירת תיעוד ארכיטקטוני מלא שלא רק מתאר אלא גם מסביר את ההחלטות.
תיעוד ארכיטקטוני אינו דיאגרמות לשם עצמן. הוא משמר את ההקשר של פשרות: למה בחרנו ב-Transit Gateway על פני VPC Peering, למה תת-רשת מסד הנתונים מבודדת, למה NAT Gateway בכל אזור זמינות (AZ). הניסיון שלנו מראה: ללא תיעוד כזה, MTTR גדל ב-30–50%, וקליטת חברי צוות חדשים נמשכת שבועות. ברגע שמקבלים תיעוד, מקצרים את זמן כניסה לפרויקט פי 3.
מה הולך לאיבוד ללא תיעוד
ההפסד היקר ביותר הוא הקשר ההחלטות. שנה אחרי תכנון הרשת, אף אחד לא זוכר את ההיגיון מאחורי בחירת Transit Gateway על פני VPC Peering, הסיבות לבידוד תת-רשת מסד הנתונים, או ההצדקה לשימוש ב-NAT Gateway בכל AZ. כשמגיע הזמן לשנות את הארכיטקטורה, מתקיימות פגישות, ניסיונות להיזכר, שיחות למחבר הפתרון (שעזב מזמן). זה זמן מבוזבז – דבר ש-Architecture Decision Records מונעים לחלוטין. בנוסף, בזמן תקלות, הצוות מבזבז עד שעתיים בקביעת תלויות שירות – מה שמגדיל את MTTR ב-40%.
מה כולל תיעוד ארכיטקטורת תשתית
ארכיטקטורת רשת. טופולוגיית VPC: בלוקי CIDR, פירוט תת-רשתות (ציבורית/פרטית/מסד נתונים/ניהול), טבלאות ניתוב, מטריצת קבוצות אבטחה. הדיאגרמה מראה כיצד תעבורה זורמת מהמשתמש למסד הנתונים – דרך Load Balancer, דרך VPN או Direct Connect, דרך NAT. לא רק דיאגרמה – עם טווחי פורטים וכללי קבוצות אבטחה לכל קפיצה.
ארכיטקטורת מחשוב. כיצד עומסי עבודה נפרסים: ECS/EKS, EC2, Lambda. עבור Kubernetes – מבנה namespaces, קבוצות node (spot לעומת on-demand), מדיניות autoscaling (HPA/VPA), תוספים לאשכול (CNI, ingress controller, cert-manager, external-secrets).
ארכיטקטורת נתונים. מיקום מסדי נתונים, טופולוגיית שכפול, מדיניות גיבוי, תקופות שמירה. RDS Multi-AZ לעומת Single-AZ – למה נבחרה אפשרות אחת. Redis cluster mode לעומת standalone. הצפנה במנוחה ובמעבר.
דיאגרמת צינור CI/CD. תיאור שלבים, טריגרים ושערי אישור מהקומיט ועד הייצור. מפת תלויות – איזה שירות תלוי במה (מסדי נתונים, API חיצוניים, תורי הודעות). זה קריטי לניתוח השפעת תקלות: אם Redis נופל, אילו שירותים מתדרדרים ואילו נשברים לחלוטין.
פורמט: מודל C4
אנו משתמשים ב-מודל C4 – ארבע רמות פירוט: Context, Container, Component, Code. דיאגרמות ב-Mermaid או PlantUML – מאוחסנות במאגר לצד הקוד, עם גרסאות מתואמות. מודל C4 אינטואיטיבי פי 3 מתיאורים טקסטואליים, ויצירת דיאגרמות אוטומטית כאשר Terraform משתנה מבטיחה שהתיעוד תמיד תואם למציאות.
graph TB
User --> ALB[Application Load Balancer]
ALB --> ECS[ECS Fargate Cluster]
ECS --> RDS[(RDS PostgreSQL Multi-AZ)]
ECS --> ElastiCache[(ElastiCache Redis)]
ECS --> S3[(S3 Bucket)] | פורמט | גרסאות | אוטומציה | רלוונטיות |
|---|---|---|---|
| Confluence | לא | לא | יורדת אחרי השינוי הראשון |
| Markdown ב-Git | כן | כן (CI/CD) | תמיד תואם לקוד |
רשומות החלטות ארכיטקטוניות
עבור כל החלטה ארכיטקטונית משמעותית – ADR בתיקיית graph TB User --> ALB[Application Load Balancer] ALB --> ECS[ECS Fargate Cluster] ECS --> RDS[(RDS PostgreSQL Multi-AZ)] ECS --> ElastiCache[(ElastiCache Redis)] ECS --> S3[(S3 Bucket)] . דוגמה:
ADR-007: בחירת ECS Fargate על פני EKS
# ADR-007: Выбор ECS Fargate вместо EKS
**Статус:** Принято
**Контекст:** Команда из 4 человек, 8 микросервисов, нет Kubernetes экспертизы.
**Решение:** ECS Fargate — меньше операционного overhead, нет управления нодами.
**Альтернативы:** EKS — избыточно для текущего масштаба, требует Kubernetes expertise.
**Последствия:** При росте до 20+ сервисов пересмотреть в пользу EKS. כיצד תיעוד תשתית מפחית MTTR?
בזמן תקלה, כל דקת השבתה עולה כסף. ללא תיעוד, מהנדס מבזבז זמן בקביעה אילו שירותים תלויים ברכיב שנכשל. עם מפת תלויות ודיאגרמת ארכיטקטורה ברורה, זמן הניתוח מתקצר פי 5. לדוגמה, כאשר Redis נופל, אנו רואים מיד ששירותי סל הקניות והסשן מושפעים, בעוד שהתשלומים עדיין עובדים. זה מאפשר תעדוף שחזור מדויק יותר.
למה מודל C4 טוב יותר מפורמטים אחרים?
מודל C4 מספק בדיוק ארבע רמות פירוט – מהקשר ועד קוד. זה מונע תיעוד מפורט יתר על המידה; תחזוקת מסמך כזה קלה יותר מדיאגרמות Visio מרובות עמודים. לפי הסטטיסטיקות של הפרויקטים שלנו, צוותים מבזבזים פי 2 פחות זמן בעדכון דיאגרמות C4 מאשר בתחזוקת דפי Confluence.
כיצד לשלב תיעוד ב-CI/CD?
תיעוד צריך להיות ארטיפקט חי, לא סטטי. אנו ממליצים:
- לאחסן אותו במאגר
docs/adr/עם אותם כללי ביקורת קוד. - עם כל שינוי ב-Terraform או Helm, ליצור דיאגרמות מעודכנות באמצעות סקריפטים.
- להוסיף אימות של קישורים ו-ADRs לצינור.
- להשתמש ב-Git hooks לסנכרון דיאגרמות עם התשתית.
תהליך פיתוח התיעוד
| שלב | תיאור | משך |
|---|---|---|
| אנליטיקה | ראיונות עם ארכיטקטים, איסוף תצורות | 1-2 ימים |
| עיצוב | יצירת דיאגרמות C4, כתיבת ADRs | 1-2 ימים |
| יישום | עיצוב עמודים, שילוב CI/CD | יום אחד |
| בדיקות | בדיקת רלוונטיות, סקירת צוות | יום אחד |
| פריסה | פריסה, הדרכת צוות | יום אחד |
ציר זמן וגישה
פיתוח התיעוד אורך 3 עד 5 ימים עבור פרויקט בקנה מידה בינוני (10–20 מיקרוסרוויסים, ענן אחד). זה כולל ראיונות עם ארכיטקטים, יצירת 10–15 דיאגרמות, כתיבת 5–10 ADRs לפתרונות קיימים, והקמת תהליך לשמירת התיעוד עדכני. אנו לא מפרסמים מחירים קבועים – העלות נקבעת לאחר ניתוח.
טעויות נפוצות וכיצד להימנע מהן
- אחסון ב-Confluence – התיעוד מתיישן מיד. פתרון: Git + CI/CD.
- חוסר ב-ADRs – תוך חצי שנה אף אחד לא זוכר למה התקבלו החלטות. פתרון: לתעד כל החלטה משמעותית.
- דיאגרמות מפורטות יתר על המידה – קשה לתחזק. פתרון: מודל C4 עם שתיים או שלוש רמות.
- לא כלול בתהליך קליטה – התיעוד נצבר אבק. פתרון: להפוך אותו לחלק מרשימת המשימות לעובד חדש.
הזמינו תיעוד ארכיטקטורת תשתית עבור התשתית שלכם – זה יחסוך לצוות שלכם מאות שעות. צרו קשר כדי להזמין פיתוח ולהאיץ קליטת עובדים. קבלו ייעוץ על שילוב תיעוד ב-CI/CD שלכם.
אנו מספקים פתרונות כאלה כבר למעלה מ-10 שנים, עם יותר מ-40 פרויקטים מאחורינו. אל תתנו לידע שבארגון (tribal knowledge) לעכב את הצוות שלכם – השקיעו בתיעוד חי.







