מהו יליד ענן? הדרך המודרנית לפיתוח תוכנה

המונח "יליד ענן" נזרק הרבה, במיוחד על ידי ספקי ענן. לא רק זאת, אלא שיש לה אפילו בסיס משלה: קרן מחשוב Native Cloud (CNCF), שהושקה בשנת 2015 על ידי קרן לינוקס.

מוגדר 'יליד ענן'

בשימוש כללי, "יליד ענן" הוא גישה לבניית והפעלת יישומים המנצלת את היתרונות של מודל העברת המחשוב בענן. "ענן-יליד" מתייחס לאופן שבו יישומים נוצרים ונפרסים, ולא היכן. זה מרמז על כך שהאפליקציות חיות בענן הציבורי, בניגוד למרכז נתונים מקומי.

CNCF מגדיר את "ענן-יליד" בצורה קצת יותר צרה, כלומר להשתמש במחסנית תוכנת קוד פתוח כדי להיות מיכל, כאשר כל חלק באפליקציה ארוז במיכל משלו, מתוזמר באופן דינמי כך שכל חלק מתוזמן באופן פעיל ומצליח לייעל את המשאב שימוש ומיקרו-שירותים בכדי להגביר את הזריזות הכוללת ותחזוקת היישומים.

"אפליקציה מקורית בענן מתבצעת במיוחד כדי להתנהל בטבע האלסטי והמופץ הנדרש על ידי פלטפורמות מחשוב ענן מודרניות", אומר מייק קאוויס, מנהל בחברת הייעוץ דלויט. "האפליקציות הללו משולבות באופן רופף, כלומר הקוד אינו מחובר לחומרה לאף אחד ממרכיבי התשתית, כך שהאפליקציה יכולה להתמקד מעלה ומטה לפי דרישה ולאמץ את המושגים של תשתיות בלתי ניתנות לשינוי. בדרך כלל, ארכיטקטורות אלה בנויות באמצעות מיקרו-שירותים, אך זו אינה דרישה חובה. "

עבור יישומים שמקורם בענן, ההבדל הגדול הוא באמת האופן שבו האפליקציה נבנית, נמסרת ומופעלת, אומר אנדי מן, עורך הדין הטכנולוגי הראשי ב- Splunk, ספק שירותי ענן. "ניצול שירותי הענן פירושו שימוש ברכיבים זריזים וניתנים להרחבה כמו מכולות כדי לספק תכונות נפרדות וניתנות לשימוש חוזר המשתלבות בדרכים המתוארות היטב, אפילו על גבולות טכנולוגיים כמו multicloud, המאפשרת לצוותי משלוחים לבצע איטרציה מהירה באמצעות אוטומציה חוזרת ותזמור."

פיתוח אפליקציות מקוריות בענן כולל בדרך כלל devops, מתודולוגיה זריזה, מיקרו שירותים, פלטפורמות ענן, מכולות כמו Kubernetes ו- Docker, ומסירה רציפה - בקיצור, כל שיטה חדשה ומודרנית לפריסת יישומים.

בגלל זה, אתה באמת רוצה לקבל מודל פלטפורמה כשירות (PaaS). אין צורך ב- PaaS, אך זה מקל על העניינים. הרוב המכריע של לקוחות הענן מתחילים בתשתית כשירות (IaaS), המסייעת בהפשטת האפליקציות שלהם מהחומרה הבסיסית. אך PaaS מוסיף שכבה נוספת להפשטת מערכת ההפעלה הבסיסית, כך שתוכל להתמקד לחלוטין בלוגיקה העסקית של האפליקציה שלך ולא לדאוג לביצוע שיחות מערכת הפעלה.

סרטון קשור: מהי הגישה הילדית בענן?

בסרטון זה בן 60 שניות, למד כיצד הגישה הילדית בענן משנה את האופן שבו ארגונים בונים את הטכנולוגיות שלהם, מאת קרייג מקלוקי, מייסד ומנכ"ל Heptio, ומממציאי קוד הפתוח Kubernetes.

הבדלים בין יישומים מקוריים בענן ליישומים מקומיים

פיתוח יישומים ילידי ענן דורש ארכיטקטורה שונה מאוד מאשר היישומים הארגוניים המסורתיים.

שפות

אפליקציות מקומיות שנכתבות להפעלה בשרתי חברות נוטות להיכתב בשפות מסורתיות, כמו C / C ++, C # או שפה אחרת של Visual Studio אם הן פרוסות בפלטפורמת Windows Server ו- Java ארגוני. ואם זה נמצא במיינפריים, זה כנראה בקובול.

סביר יותר שאפליקציות שמקורן בענן ייכתבו בשפה הממוקדת באינטרנט, שמשמעותה HTML, CSS, Java, JavaScript, .Net, Go, Node.js, PHP, Python ו- Ruby.

עדכניות

אפליקציות ילידי ענן תמיד עדכניות. אפליקציות שמקורן בענן זמינות תמיד.

אפליקציות מקומיות זקוקות לעדכונים ובדרך כלל מועברות על ידי המנוי על ידי הספק, ודורשות זמן השבתה בזמן התקנת העדכון.

גְמִישׁוּת

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

אפליקציה מקומית אינה יכולה להשתנות באופן דינמי.

ריבוי ריבויות

לאפליקציה ילידת ענן אין שום בעיה לעבוד במרחב וירטואלי ולשתף משאבים עם אפליקציות אחרות.

אפליקציות מקומיות רבות אינן עובדות טוב בסביבה וירטואלית או אינן עובדות כלל ודורשות מקום שאינו וירטואלי.

משאבים מחוברים

אפליקציה מקומית נוקשה למדי בחיבוריה למשאבי הרשת, כגון רשתות, אבטחה, הרשאות ואחסון. רבים מהמשאבים האלה צריכים להיות מקודדים בצורה קשה, והם נשברים אם משהו מועבר או משתנה.

“רשת ואחסון שונים לחלוטין בענן. כשאתה שומע את המונח 'פלטפורמה מחדש', זה בדרך כלל העבודה להתאים את השינויים בטכנולוגיות הרשת, האחסון ואפילו מסדי הנתונים כדי לאפשר לאפליקציה לפעול בענן ", אומר Kavis של דלויט.

זמן למטה

יש יתירות רבה יותר בענן מאשר שיש במקום, כך שאם ספק ענן סובל מהפסקה, אזור אחר יכול להרים את הרפיון.

אפליקציות מקומיות עשויות להכין failover, אך יש סיכוי טוב שאם השרת ייכבה, היישום יירד איתו.

אוטומציה

כל כך הרבה מהענן הוא אוטומטי, וזה כולל ניהול אפליקציות. "היתרונות של אספקה ​​מקורית בענן, במיוחד מהירות וזריזות, נשענים באופן משמעותי על מצע של תהליכים ידועים ואמינים, מבוקרים ומבוקרים, שמבוצעים שוב ושוב לפי הצורך בכלי אוטומציה ותזמור ולא באמצעות התערבות ידנית", אומר Splunk. מאן. מהנדסים צריכים לדאוג לאוטומציה של כל דבר שהם עושים יותר מפעם אחת בכדי לאפשר יכולת חזרה, שירות עצמי, זריזות, מדרגיות וביקורת ובקרה.

יש לנהל אפליקציות מקומיות באופן ידני.

עיצוב מודולרי

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

חוסר מדינה

האופי המשותף של הענן פירושו שאפליקציות אינן קשורות לתשתיות, מה שאומר שהן חסרות מדינה. יישום מקומי בענן מאחסן את מצבו במסד נתונים או בגוף חיצוני אחר, כך שמקרים יכולים לבוא וללכת והאפליקציה עדיין תוכל לעקוב אחר היכן ביחידת העבודה היישום. "זו המהות של צימוד חופשי. אי קשורה לתשתיות מאפשרת ולאפליקציה לפעול בצורה מבוזרת מאוד ועדיין לשמור על מצבה ללא תלות באופי האלסטי של התשתית הבסיסית ", אומר קוויס.

רוב האפליקציות המקומיות הן בעלות מצב, כלומר הן שומרות את מצב האפליקציה בתשתית בה פועל הקוד. ניתן לשבור את האפליקציה בעת הוספת משאבי שרת בגלל זה.

האתגרים של מחשוב מקומי בענן

אחת הטעויות הגדולות שהלקוחות עושים היא לנסות להרים ולהעביר את היישומים המקומיים הישנים שלהם לענן, אומר מאן. "ניסיון לקחת יישומים קיימים - ביישומים מורשת מונוליטית במיוחד - ולהעביר אותם לתשתית ענן לא ינצל את התכונות החיוניות של ילידי הענן."

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

אתה גם צריך לוותר על שיטות המפתח הישנות שלך. מודל המפל בוודאי לא יעשה, ואפילו פיתוח זריז אולי לא יספיק. לכן, עליכם לאמץ גישות חדשות בענן כמו פיתוח מוצר מינימלי (MVP) מינימלי, בדיקות רב משתניות, איטרציה מהירה ועבודה צמודה על גבולות ארגוניים במודל devops.

ישנם היבטים רבים של היותם מקוריים בענן, כולל שירותי תשתית, אוטומציה / תזמור, וירטואליזציה ומיכל, ארכיטקטורת מיקרו-שירותים ותצפית. כל אלה פירושם דרך חדשה לעשות דברים, כלומר לשבור הרגלים ישנים כשאתה לומד את הדרכים החדשות. אז עשו זאת בקצב מדוד.

למידע נוסף על טכנולוגיות מקושרות לענן

  • הסביר פלטפורמה כשירות (PaaS)
  • הסביר Multicloud
  • הסבירו מתודולוגיה זריזה
  • שיטות עבודה מומלצות לפיתוח זריז
  • הסביר Devops
  • פותר שיטות עבודה מומלצות
  • הסבירו שירותי מיקרו-שירותים
  • מדריך למיקרו-שירותים
  • הסבירו מכולות Docker ו- Linux
  • מדריך Kubernetes
  • הסבר על CI / CD (אינטגרציה רציפה ומסירה רציפה)
  • שיטות עבודה מומלצות של CI / CD