לקראת אירוע| סאפ: מעבר ל-Continuous Delivery – משימה אפשרית!
מהו Continuous Delivery, למה זה טוב ואיך להטמיע את התהליך בצורה שתאפשר יעילות, איכות מקסימלית וחדשנות. עפרה אפרתי וניר קורן מתחום ה-DevOps מסבירים איך Sap HANA Cloud Portal מגיעים לשם.
מאת: עפרה אפרתי וניר קורן – מעבדות סאפ בישראל
תהליך שחרור גרסה בעולם ה-Cloud Computing הופך להיות יותר ויותר תובעני בהיבט של תחרות, גמישות ומהירות תגובה. לקוחות דורשים לקבל פיצ'רים חדשים ותיקוני באגים כאן ועכשיו. המקום של שחרור גרסאות תקופתי הולך ומפנה את מקומו לעידן חדש: Continuous Delivery.
תהליך ה Continuous Delivery הינו בעצם גישה שמרחיבה את עולם ה Continuous Integration ושמה את צוותי הפיתוח במקום שמבטיח שכל שינוי שנכנס למערכת בקרת התצורה (SCM) הוא שינוי שיכול להיות כבר עכשיו במערכת ה Production – למעשה, כל שינוי הוא Releasable. הדבר מוביל לפידבק מידי מהלקוח ובעקבות זה – המפתח קרוב יותר, אחראי יותר ומשמעותי יותר במוצר ובקרבה ללקוח.
למעשה – Continuous Delivery אינו העתיד אלא ההווה. חברות מובילות כמו Facebook ו-LinkedIn וגם סאפ (SAP) עברו לשם בניהול מוצרי ה-Cloud שלהם. נראה כי יותר ויותר חברות מתקדמות לכיוון הזה מכיוון שתהליך ה Continuous Delivery עוזר לארגונים להיות יותר Lean & Agile ויותר חדשנים ובסופו של דבר לספק מוצר שהוא יותר יציב, איכותי ועדכני במינימום סיכון.
חברת סאפ שחרטה על דגלה להיות “The Cloud Company powered by HANA” הבינה שהמעבר ל-Continuous Delivery הינו קריטי
אז איך עושים את זה?
"על מנת להטמיע תהליך זה בצורה טובה – ישנו צורך בשיפור מערכת האוטומציה וה-Continuous Integration על מנת שיהיו יציבים, מכסים, אמינים וקצרים ככל האפשר" אומר ניר קורן, מהנדס DevOps במוצר HANA Cloud Portal בסאפ. "ברגע שהבדיקות תהיינה לא אמינות ולא מספיק מכסות – אנחנו עלולים לפגוע בלקוח ובמוניטין של הארגון בסופו של דבר."
ארכיטקטורת המוצר הינו אזור נוסף שצריך להשקיע בו. כמה שיותר חלוקה והפרדה של המוצר (Componentization) יאפשרו שליטה טובה יותר ופגיעה מינימלית עד אפסית בלקוח. מערכות ופיתוחים תומכים לכך הן מערכות של Feature Toggle & A/B Testing שבאמצעותן רכיבים במוצר יכולים "להידלק" ולהיבדק על ידי קהלי יעד שונים לפני שיפורסמו ללקוחות. חברת Facebook למעשה מפתחת ובודקת פיצ'רים חדשים על לקוחות לעתים גם מספר חודשים על מערכת ה Production לפני שמחליטים לחשוף אותם לכלל המשתמשים.
חיזוק הקשר בין הפיתוח ללקוח הינו הכרחי מכיוון שהלקוח משתמש בצורה מהירה בפיתוח החדש. לעיתים גם באותו היום. "החיבור בין המפתח למוצר וללקוח הינו קריטי" מסבירה עפרה אפרתי, מנהלת פעילות ה-DevOps במוצר HANA Cloud Portal בסאפ. "לצורך כך פיתחנו Dashboard שמוצג על מסך ענק בקפיטריה הגדולה בקומת הפיתוח וחושף נתונים בזמן אמת על מצב הלקוחות לכלל המפתחים".
חיזוק קשר נוסף הכרחי הוא בין פיתוח והתפעול. בעולם של Continuous Delivery כולם אחראיים על הגרסה. כיום כולם הם חלק מאותה סירה וזה מצמצם את המחסומים ותחומי האחריות ומביא את המפתח להבין שבניגוד ל Traditional Agile בו הגדרת ה "DONE" הינה "Submit" או “Push” למערכת בקרת התצורה אלא ש “Done = Delivered” ובעצם – עד שהלקוח לא ייחשף לפיתוח החדש – המשימה טרם הושלמה.
ארגונים רבים חוששים מהמעבר ל Continuous Delivery בטענה לפגיעה באיכות המוצר ואובדן שליטה אך ההפך הוא הנכון. שיפור מתמיד של האוטומציה והעובדה כי המוצר מתעדכן ב"מנות קצובות" ולא בגרסאות גדולות ו"טראומטיות" מוכיחה שכמות הנפילות והבאגים קטנה, השליטה והטיפול בבעיות הופך לנקודתי יותר וכמעט ולא קיימות בעיות אינטגרציה.
"בשימוש נכון בכלים אלו – במידה ומתגלה באג במוצרSAP HANA Cloud Portal, הוא ינוטר ויתוקן במערכת ה-Production בצורה מידית. נשאר רק לדחוף למעבר לשם", אומרים עפרה אפרתי וניר קורן.