לענן נולדו - Cloud-Native Application

מאמר

לענן נולדו - Cloud-Native Application

מאת מיכאל שטרית, CISSP | CCSP, מנהל במרכז הסייבר, Deloitte ישראל

בתעשייה ובמדיה מסתובבת אמירה מוזרה "שהעולם עובר לענן", אמירה זו טעות ביסודה! העולם כבר עבר לענן, כ-90% מהארגונים בעולם ו-94% מארגוני Enterprise כבר משתמשים בענן על גווניו. בשנים האחרונות שוק שירותי הענן צמח בקצב של  29% בממוצע. חברת המחקר הטכנולוגי Gartner העריכה שגודל השוק הסתכם בכ-25 מיליארד דולר בשנת 2010 וב-490 מיליארד בשנת 2022, והצפי שבשנת 2023 גודל השוק יגיע ל- 592 מיליארד ויחצה את סף טריליון דולר בשנת 2028! הצמיחה העצומה מונעת "מהתבגרות הענן" וממספר גדל והולך של ארגונים המעבירים לענן יותר יישומים ושירותים (תהליכי עדכון טכנולוגי ומודרניזציה)   ומפתחים אפליקציות חדשות הפועלות רק בענן. השימוש הגובר בענן מתרחש בד בבד עם שינוי דפוסים כלכליים ואימוץ מודלים לצריכת טכנולוגיות מידע "כשירות" בניגוד למודל "הבעלות" הישן בו ארגונים רכשו וניהלו את החומרה, את רשיונות התוכנה, תשתיות האחסון, תקשורת ושירותים. ספקיות הענן מצדן מקימות אזורים (Regions) חדשים, מרחיבות תשתיות תקשורת ומגדילות נפחי האחסון והמחשוב במרכזי נתונים (Centers Data) הקיימים, כדי לעמוד בדרישה הגוברת לשירותים. 

בראשית ימי הענן הארגונים החלוצים היגרו אפליקציות ממרכזי הנתונים המקומיים (On-Premise) לענן במתודה הידועה כ- "הרם והעבר" (Lift and shift), על פי גישה זו היישומים עברו כמעט ללא שינויים בקוד ובתצורה. Lift and shift מהירה, פשוטה ללא צורך בהכשרה מחדש של צוותי ה-IT והתפעול. החסרונות בהתאם, האפליקציה אומנם החליפה "כתובת"  אולם גררה לענן את אותם המגבלות והאילוצים כמו ב- On-Premise עם תג מחיר גדול יותר. לענן יתרונות מובנים דוגמת אוטומציה של תהליכים ומשימות, הזנקה והורדה מהירה של שירותים, שימוש יעיל במשאבים ומודלים לשימוש ותשלום גמישים ועל פי הצריכה בפועל. בשנים האחרונות מתחוללת מהפכה של ממש, משנה סדרים ומשפיעה באופן יסודי על האופן בו ארגונים מפתחים יישומים ושירותים בענן, ולמהפכה קוראים Cloud-Native Application (CNA). אז מה מהפכני ב-CNA? רגע של היסטוריה, "בעולם הישן" פיתוח אפליקציות ארגוניות היה עניין למיטיבי לכת, תהליכי תכנון ופיתוח ארוכים, מתודות מסורבלות (Waterfall , Spiral), שלעיתים קרובות לא השיגו את מטרות הפרויקט, חריגה משמעותית בלוחות הזמנים והעלויות, עדכוני גרסאות לעיתים רחוקות, קוד מונוליטי (קוד הכולל את מרבית מרכיבי האפליקציה צד קדמי, צד אחורי ותצורה), וגמישות מועטה אל מול דרישות עסקיות המשתנות באופן תמידי.

מנגד Cloud-Native Application טיפוסית בנויה מאוסף שירותים כמו ניהול ואימות הזהויות (שירות זה מצוי פעמים רבות בענן אחר או On-Premise), שימוש בספריות קוד פתוח, מיקרו-שירותים (Services Micro) מקטעי קוד הרצים "ללא-שרת" (Serverless) וקוד ארוז בקונטיינרים,(מודל אריזת אפליקציות "במכל מבודד" יחד קבצי התצורה והתליות) כשהכול מחובר "בצימוד נמוך" באמצעות  APIs. לאפליקציה אין מיקום פיזי מוגדר והיא עשויה להתפרס על פני מספר מרכזי נתונים ומספר עננים. אפליקציות CNA רצות בעננים ציבוריים, פרטיים או היברידיים ומתוכננות לניצול מיטבי של יתרונות הענן, יחד עם תהליכי פריסה ועדכון מהירים. מתודות הפיתוח המובילהAgile  ו-SCRUM הדוגלת בגמישות רבה בכל שלבי המוצר, סבבי פיתוח קצרים הממוקדים בהשגת יעדים מוגדרים (מכונים Sprint) ועדכונים תכופים, מאוד, כמה תכופים? כמה שצריך, לעיתים מספר פעמים ביום! הודות ליכולות "תזמור" (Orchestration) ואוטומציה להזנקה, הסרה והחלפה של פיסות קוד ושירותים. ארכיטקטורה זו המבזרת את האפליקציה יצרה עמידות גבוהה ויכולת שרידות (Resilience) באופן שלא היה אפשרי בסביבות מסורתיות. (ההגדרה המלאה של  CNCF Cloud Native Definition v1.0 – מצויה ברשימת הקישורים, כולל בעברית).

אולם לצד היתרונות הרבים שמנינו קיימת מורכבות גדולה יחד עם סיכוני אבטחת מידע. לאפליקציית CNA אין גבולות ברורים, והסיכונים מצויים בכל מרכיבי היישום, בקוד המקור, בהגדרות התצורה, בשירותים השונים, בספריות הקוד הפתוח, בתשתיות Kubernetes והגדרות התצורה של חשבונות הענן. ביוני 2021 ארגון OWASP פרסם קטגוריה חדשה: OWASP Cloud-Native Application Security Top 10, עשרת חולשות אבטחת המידע הנפוצות בקרב CNA.OWASP המקיים כ-200 פרויקטים (הנודעים שבהם Top 10 כמו Web Application, API). חלק לא מבוטל מחולשות האבטחה "עוברות בירושה" לאפליקציות מספריות הקוד הפתוח, בהם נעשה שימוש, חלק מהחולשות נובע מתצורה לא מאובטחת של שירותים ומפרקטיקה קלוקלת של פיתוח ויישום. המחסור הגדול באנשי אבטחת מידע מורגש כאן במיוחד על רקע פערים בהבנה ועבודה בסביבות ענן מרובות, חוסר ידע בתהליכי פיתוח עכשוויים, ארכיטקטורה ותפעול מערכות מידע בענן. כמו תמיד את הפער זיהו בזמן חברות Startups המציעות כלים ונראות (Visibility) להתמודדות עם האתגרים. חברות כמוOxeye , Aqua Security  מציעות כלים ופתרונות בהתאם לשלבים השונים לאורך חיי המוצר. בסביבות מורכבות כמו CNA מחוייבת ראייה כוללת המתייחסת לתהליכי פיתוח מאובטחים (SSDLC), כתיבה, בקרה,ואינטגרציה של תהליכי פיתוח באופן כולל (Secure by Design), ניהול הדוק של נכסי המידע ושרשרת האספקה בשירותים השונים וספריות קוד פתוח (גיליון אקסל לא יעבוד כאן), בדיקות חדירה, שילוב כלי בדיקה אוטומטיים וידניים לאורך חיי המוצר והבנה עמוקה של מודל האחריות המשותפת (Sheared Responsibility Model) בין ספק הענן ללקוח בכל אחד מהשירותים המרכיבים את האפליקציה. 

איפה מתחילים?

בלימוד והבנת הנושא על כלל מרכיביו. אתר ה-The Cloud Native Computing Foundation  (CNCF)  מבית Linux Foundation The הוא מקום טוב להתחיל בו, להבנת היסודות וגיבוש תפיסה כוללת. מעבר לזה נדרשת סדרת פעולות הכוללת הדרכה לצוותי הפיתוח ואימוץ מתודולוגית SSDLC ו-Security by Design באופן המתאים לארגון וטכנולוגיות הפיתוח, ומתייעצים עם מומחים לנושא לסקירה והכרה של הסיכונים בכל מרכיבי האפליקציה ופיתוח תפיסת הגנה כוללת.

הנקודה הישראלית

ישראל היא סוג של מעצמה בעולם ה-Native Application Security  לצד מספר מרשים של חברות Startups המפתחות פתרונות וכלים, קיימים ידע ומומחים לנושא. שימו לב לרשימת ה- Leaders בקישור OWASP Cloud-Native Application Security Top 10. יחד עם זאת ישראל פחות מצטיינת במודרניזציה של אפליקציות  ואימוץ הענן כמהלך אסטרטגי בעיקר בקרב ארגונים מסורתיים. 

האם זה היה שימושי?