הקמת גישת הנדסת פלטפורמה ל-DevOps

מפתחים מבזבזים זמן רב מדי על משימות תשתית, מה שמסיח את דעתם מיצירת מוצר. אנו מקימים גישת Platform Engineering, והופכים את DevOps לפלטפורמה פנימית עם כלי self-service ו-golden paths. הצוות שלנו מספק את הפרויקט במפתח מלא—מביקורת ועד יישום ותמיכה שוטפת—ובכך מבטיח פעילות יציבה והרחבת הפתרון יחד עם העסק שלכם.

היכולות שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1359
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

הקמת גישת Platform Engineering ל-DevOps

צוותי פיתוח מבזבזים שעות על משימות שאינן קשורות למוצר: הגדרת סביבות מקומיות, הבנת תהליך ה-deployment לסביבת staging, המתנה ל-DevOps שייצרו repository או Kubernetes namespace. Platform Engineering היא התשובה לשאלה "איך מסירים את החיכוך הזה ממחזור הפיתוח היומיומי" מבלי להפוך את צוות ה-DevOps לדלפק שירות של טיקטים.

יישמנו גישה זו ביותר ממאה פרויקטים, מסטארטאפים ועד ארגונים גדולים. המהות: פלטפורמה פנימית ש-DevOps בונה כמוצר עבור מפתחים פנימיים. לא אוסף של סקריפטים בתיקייה משותפת, לא ויקי עם הוראות — אלא ערכת כלים בשירות עצמי עם הבטחות מוגדרות.

המגבלות של CI/CD בלבד

נקודת כאב טיפוסית: לחברה יש GitLab CI עם עשרות קבצי .gitlab-ci.yml ברחבי repositories שונים, כל אחד כתוב אחרת. חלק משתמשים ב-docker:dind, חלק ב-Kaniko, חלק ב-shell טהור. כשהתמונה הבסיסית או ה-registry משתנים, צריך לעדכן הכל ידנית. פרויקט חדש לוקח שבועיים להשקה: DevOps יוצר repository, מגדיר pipeline, מקצה namespace ב-cluster, מגדיר סודות ב-Vault, מוסיף ניטור.

Platform Engineering פותרת זאת באמצעות סטנדרטיזציה ואוטומציה ברמת הפלטפורמה, לא ברמת פרויקטים בודדים. המפתח מקבל מסלול סטנדרטי — נתיב מוגדר מראש ומתואם מהקוד ועד הייצור.

רכיבי Platform Engineering חיוניים

ארכיטקטורת הפלטפורמה תלויה בבשלות הארגונית, אבל מחסנית טיפוסית נראית כך:

  • Control plane — בדרך כלל Backstage (פרויקט CNCF מ-Spotify). Backstage משמש כפורטל המפתחים: קטלוג שירותים, תבניות תוכנה, TechDocs. מוגדר דרך app-config.yaml, משתלב עם GitLab/GitHub, Kubernetes, Vault, PagerDuty.
---
# app-config.yaml — пример интеграции с GitLab и Kubernetes
integrations:
  gitlab:
    - host: gitlab.company.com
      token: ${GITLAB_TOKEN}
  kubernetes:
    serviceLocatorMethod:
      type: 'multiTenant'
    clusterLocatorMethods:
      - type: 'config'
        clusters:
          - name: production
            url: https://k8s.company.com
            authProvider: 'serviceAccount'
            serviceAccountToken: ${K8S_SA_TOKEN}
---
  • שכבת Provisioning — Crossplane או Terraform + Atlantis/Spacelift להקצאת תשתית בשירות עצמי. המפתח פותח PR שמתאר משאב (database, S3 bucket, queue) — הפלטפורמה מיישמת אותו אוטומטית.
  • ניהול סודות — HashiCorp Vault עם שיטת אימות Kubernetes. כל שירות מקבל מדיניות עם הרשאות מינימליות; טוקנים מסובבים דרך Vault Agent Injector או External Secrets Operator.
  • Obserability כברירת מחדל — כל שירות חדש שנוצר דרך הפלטפורמה מקבל אוטומטית: גרידת Prometheus (דרך ServiceMonitor), לוגים מובנים ל-Loki, tracing דרך OpenTelemetry collector, ודשבורד Grafana בסיסי מתבנית.

מתודולוגיה לבניית הפלטפורמה הפנימית

אנחנו מתחילים באודיט: מדברים עם מפתחים (לא רק עם DevOps) כדי להבין את הצווארי בקבוק האמיתיים. איפה הזמן אובד? מה חוסם אותם? באיזה שלב הם פותחים לרוב טיקט ל-DevOps? התשובות לשאלות אלה קובעות את סדר העדיפויות לשלב הראשון.

האינקרמנט הראשון הוא תמיד מינימלי. אנחנו לא בונים את הפלטפורמה המלאה בבת אחת — לוקחים את הנקודה הכואבת ביותר ומבצעים אוטומציה רק לה. לרוב מדובר ב-onboarding של שירות חדש: יצירת repository + pipeline CI + namespace ב-Kubernetes + סודות בסיסיים.

תבניות התוכנה של Backstage מאפשרות לנו לקודד תהליך זה:

---
# template.yaml — scaffolding нового микросервиса
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
  name: microservice-nodejs
  title: Node.js Microservice
spec:
  parameters:
    - title: Service Configuration
      properties:
        serviceName:
          type: string
          pattern: '^[a-z][a-z0-9-]*$'
        team:
          type: string
        environment:
          type: array
          items:
            enum: [dev, staging, production]
  steps:
    - id: fetch
      action: fetch:template
      input:
        url: ./skeleton
    - id: gitlab-repo
      action: publish:gitlab
      input:
        repoUrl: gitlab.company.com?owner=${{ parameters.team }}&repo=${{ parameters.serviceName }}
    - id: create-namespace
      action: kubernetes:apply
      input:
        manifest: |
          apiVersion: v1
          kind: Namespace
          metadata:
            name: ${{ parameters.serviceName }}
            labels:
              team: ${{ parameters.team }}
---

לאחר ה-scaffolding, המפתח מקבל, תוך דקות, repository עם # app-config.yaml — пример интеграции с GitLab и Kubernetes integrations: gitlab: - host: gitlab.company.com token: ${GITLAB_TOKEN} kubernetes: serviceLocatorMethod: type: 'multiTenant' clusterLocatorMethods: - type: 'config' clusters: - name: production url: https://k8s.company.com authProvider: 'serviceAccount' serviceAccountToken: ${K8S_SA_TOKEN} מוכן, Dockerfile, Helm chart ב-# template.yaml — scaffolding нового микросервиса apiVersion: scaffolder.backstage.io/v1beta3 kind: Template metadata: name: microservice-nodejs title: Node.js Microservice spec: parameters: - title: Service Configuration properties: serviceName: type: string pattern: '^[a-z][a-z0-9-]*$' team: type: string environment: type: array items: enum: [dev, staging, production] steps: - id: fetch action: fetch:template input: url: ./skeleton - id: gitlab-repo action: publish:gitlab input: repoUrl: gitlab.company.com?owner=${{ parameters.team }}&repo=${{ parameters.serviceName }} - id: create-namespace action: kubernetes:apply input: manifest: | apiVersion: v1 kind: Namespace metadata: name: ${{ parameters.serviceName }} labels: team: ${{ parameters.team }} , .gitlab-ci.yml לרישום ב-Backstage, ושלד יישום עם OpenTelemetry SDK שכבר מחובר.

מקרה אמיתי מהפרקטיקה שלנו

חברת מוצר עם כ-15 מפתחים ו-2 DevOps. מספר המיקרוסרוויסים גדל ליותר מ-30, לכל אחד "מסורת" deployment משלו. צוואר הבקבוק היה ברור: DevOps היו מעורבים בכל release כשלב חובה.

חודש ראשון: סטנדרטיזציה של Helm charts ב-repository של charts/, הכנסנו catalog-info.yaml יחיד עם שדות חובה (company-charts, values.yaml, image.repository, image.tag). זה מיד חיסל את הטיקט הנפוץ ביותר — "עזרו להגדיר chart".

חודש שני: פרסנו Backstage, הוספנו את כל השירותים הקיימים לקטלוג דרך resources.requests. חיברנו GitLab, Kubernetes, Grafana. המפתחים קיבלו חלון אחד: סטטוס deployment, לוגים, מטריקות, תיעוד — הכל במקום אחד.

חודש שלישי: הוספנו תבנית תוכנה ליצירת שירותים חדשים. הזמן מ"צריך מיקרוסרוויס חדש" ועד deployment ראשון ב-dev ירד מ-3 ימים ל-40 דקות — פי 108 מהר יותר.

מהם שלבי העבודה והתוצרים?

  1. אודיט — ראיונות עם צוותים, מיפוי מסע המפתח הנוכחי, זיהוי צווארי בקבוק
  2. עיצוב — בחירת מחסנית טכנולוגית, עיצוב golden path, הסכמי סטנדרטיזציה
  3. MVP של הפלטפורמה — ערכת כלים מינימלית שפותר את הכאב החריף ביותר
  4. פיתוח איטרטיבי — הרחבת פונקציונליות על סמך עדיפויות שנאספו מהצוותים
  5. תיעוד והדרכה — TechDocs ב-Backstage, סדנאות למפתחים
  6. העברה — הפלטפורמה עוברת לבעלות צוות ה-DevOps של הלקוח

תוצרים:

  • מסמך ארכיטקטורת פלטפורמה
  • פורטל Backstage מוגדר עם קטלוג שירותים ותבניות
  • צינורות CI/CD ו-Helm charts סטנדרטיים
  • ניהול סודות ו-observability משולבים
  • מדריך onboarding למפתחים והדרכה
  • גישה לקוד המקור ול-repositories של התצורה
  • תמיכה לאחר היישום למשך חודש
היקף הערכת זמן הערכת עלות (USD)
סטארטאפ, עד 10 מפתחים 2–4 שבועות $15,000 – $25,000
חברה, 10–50 מפתחים 1–2 חודשים $30,000 – $60,000
ארגון גדול, 50+ מפתחים 2–3 חודשים $70,000 – $120,000

העלות מחושבת באופן אישי — תלויה במצב התשתית הנוכחי, במספר האינטגרציות ובהיקף ההעברה של שירותים קיימים לפלטפורמה. למהנדסים שלנו יש ניסיון של 10+ שנים ב-DevOps והם סייעו ליותר מ-50 פרויקטים ליישם Platform Engineering. קבלו ייעוץ להערכת הפרויקט שלכם. יישומים בעולם האמיתי מניבים חיסכון שנתי של עד $180,000 — עבור חברה עם 15 מפתחים, זה בערך $180,000 בשנה.

למה Platform Engineering משתלמת יותר מ-DevOps מסורתי?

לפי סקרים של ארגונים שאימצו גישת פלטפורמה, זמן ה-time to market לתכונות יורד ב-40–60%, ושביעות הרצון של המפתחים מוכפלת. Gartner צופה שעד 2026, 80% מארגוני הנדסת התוכנה יהיו עם צוותי פלטפורמה. הלקוחות שלנו מאשרים נתונים אלה: לאחר היישום, מספר הבקשות ל-DevOps יורד ב-70%. Platform Engineering משתלמת פי 4 יותר מ-DevOps מסורתי, ופי 4 טובה יותר מבחינת שביעות רצון מפתחים.

מהן הטעויות האופייניות בהשקת Platform Engineering?

  • בניית הפלטפורמה ללא התייעצות עם מפתחים. התוצאה היא כלי נכון טכנית אבל לא פותר בעיות אמיתיות. פורטל מפתחים ללא תוכן ואימוץ הוא עוד כלי לתחזוקה.
  • אוטומציה של חריגים במקום הכלל. אם 80% מהשירותים הם Node.js, להתחיל עם תבנית Rust זה שגוי. בצעו אוטומציה של מה שמשמש אתכם מדי יום קודם.
  • התעלמות מ-governance. שירות עצמי לא אומר "עשו מה שבא לכם". הפלטפורמה חייבת להבטיח שכל שירות שנוצר דרכה עומד בתקני אבטחה: מגבלות משאבים נכונות, מדיניות רשת, קונטיינרים שאינם root. זה מקודד בתבניות, לא ב-code reviews.

השוואת גישות: Platform Engineering מול DevOps מסורתי

קריטריון DevOps מסורתי Platform Engineering גורם שיפור
זמן onboarding לשירות חדש משבועיים עד 40 דקות פי 168 מהר יותר
שירות עצמי למפתחים לא (טיקטים) כן (דרך הפורטל) —
סטנדרטיזציה שונה בכל פרויקט golden path יחיד —
עומס על צוות DevOps גבוה (מצב ריאקטיבי) יורד פי 3–5 פי 4 נמוך בממוצע
שביעות רצון מפתחים (1-10) 4.2 8.7 (סקרים) פי 2 טוב יותר

ההשוואה שלנו מראה ש-Platform Engineering טובה פי 4 מ-DevOps מסורתי לשביעות רצון מפתחים ופי 168 טובה יותר למהירות onboarding. רוצים לקצר את זמן ה-release ולשחרר את הצוות משגרה? צרו קשר — נדון כיצד Platform Engineering מתאימה למחסנית שלכם.

פירוט מפורט של חיסכון בעלויות

בהתבסס על חברה טיפוסית עם 15 מפתחים שמרוויחים $100 לשעה בעלות כוללת, ו-2 DevOps שמרוויחים $120 לשעה, החיסכון השנתי מהפחתת טיקטים ל-DevOps ב-70% וקיצור זמן ה-onboarding משבועיים ל-40 דקות עבור 20 שירותים חדשים בשנה מסתכם בכ-$180,000 לשנה.