342
0

עשרת השירותים שכל מפתח חייב להכיר על הענן

342
זמן קריאה: 5 דקות

מחשוב ענן זה אולי ה- באזוורד הכי נפוץ בעולם התוכנה כיום. חברות מכל הגדלים החל מהסטרטאפ הקטן במוסך של אחד המייסדים ועד ארגוני ענק כמו Atlassian ואפילו ממשלות עברו לשימוש במחשוב הענן. כיום יש בשוק שלוש שחקניות גדולות (מאוד) בתחום הענן הציבורי – AWS הותיקה ביותר שהתחילה את התחום אי שם ב 2004, Microsoft Azure – הפתרון של ענקית התוכנה מסיאטל ו GCP התשובה של Google לשתי הקודמות. קיימות גם חברות נוספות המציעות שירותים דומים כמו Alicloud הסינית (כן כן כמו שחשבתם, אותה חברה מאחוריי Aliexpress), ועוד ענקיות תוכנה כמו Oracle ו- IBM מציעות את העננים שלהם.

תוכן עניינים

מה זה אומר ענן ציבורי?

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

איפה זה פוגש אותי כמפתח?

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

אז מה אני צריך להכיר כמפתח?

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

מושגי יסוד

  • שלם לפי שימוש (Pay as you go)- מודל התשלום בענן הוא לפי צריכה אלא אם התחייבנו מראש לכמות מסוימת (Reserved Instances) ולכן נשלם לפי כמה שנשתמש, עבור סביבות מייצרות נרצה להקצות כמה שיותר משאבים בעוד שעבור סביבות פיתוח נשאף למינימום האפשרי כדי לחסוך עלויות
  • שירות מנוהל (Managed Service)- הענן הציבורי מציע להכיל הגדרות נפוצות ולנהל בפועל את המשאבים עבורנו בחשבון שלנו. כל מה שעלינו לבחור זה באיזה מנוע נרצה לעבוד למשל במסדי נתונים כל ספקיות הענן מציעות אפשרות מנוהלת במנועים הפופולריים בעולם – MySQL, PostgreSQL, MSSQL, Oracle DB וכו.
  • יכולת גדילה (Scalability) – כמה מהר המשאב שאני צריך יכול לגדול לפי השימוש שלי, למשל עבור שירות מנוהל מסוג Load Balancer, ספקיות הענן יודעות להגדיל או להקטין מאחוריי הקלעים את המשאבים המוקצים ל Load Balancer לפי כמות הפניות אליו.
  • זמינות גבוהה (High Availability) – זמינות גבוהה של האפליקציות שלנו המונגשות באמצעות שירותי הענן השונים, לכל משאב בענן יש את ההתחייבות שלו לזמינות, אנחנו יכולים לבחור במה אנחנו משתמשים לפי הצורך של היישומים שאנחנו מפתחים, למשל אפליקציית סטרימינג תרצה להיות זמינה כל הזמן בעוד שאפליקציה שמבצעת רכישות בבורסה צריכה להיות זמינה בעיקר בשעות הפעילות של הבורסה.

      סוגי שירותים

      • IAAS: Infrastructure as a Service →
        באפשרות זו אנחנו מקבלים את התשתית נקייה ביותר ומנהלים אותה בעצמנו, דואגים להגדיר ולעדכן אותה בעצמנו. זה השירות הבסיסי ביותר 
      • PAAS: Platform as a Service →
        באפשרות זו אנחנו מקבלים מעטפת לתשתית וכל מה שעלינו לעשות זה להעלות את הקוד הרלוונטי שלנו, המעטפת תדע לקחת את זה משם
      • SAAS: Software as a Service →
        המושג הפופולרי ביותר כיום, תוכנה כשירות. אנחנו מקבלים מוצר מוגמר ואנחנו משתמשים בו ללא שום הגדרה של תשתית
      • DBAAS: Database as a Service →
        מסד נתונים כשירות, בדומה למעטפת כשירות אנחנו מקבלים מסד נתונים מוגדר לפי סוג המנוע הרצוי כל שעלינו לעשות זה להעלות את המידע שלנו
      • FAAS: Function as a Service
        פונקציה כשירות, גם כאן בדומה למעטפת אנחנו מעלים את הקוד שלנו וספקית הענן הרלוונטית יודעת להריץ אותו לפי סביבת ההרצה שהוגדרה

      איפה זה פוגש אותי בשגרת היומיום שלי?

      בואו ניקח דוגמה מהחיים האמיתיים, אם המוצר שאני כותב מונגש באמצעות הענן הציבורי כדאי שגם הפיתוח והבדיקות שאני מבצע יהיו על הענן, אף אחד לא רוצה להגיע למצב ש”אבל זה עבד על המכונה שלי”, לשם כך נצטרך סביבות פיתוח בענן.  כדי ליצור סביבת פיתוח אני לא צריך להתמקצע בהגדרות השונות (קונפיגורציות) של כל כלי שאני עובד איתו מצריך (למשל עבור Cache אני יכול להשתמש בשירות מנוהל ולא להתחיל להגדיר Redis בעצמי). זה מתבצע רק באמצעות הענן הציבורי והיכולת שלו להנגיש שירותים מנוהלים אליי משתמש הקצה. אנשי ה DevOps מכינים תבניות (תבניות אלה נקראות גם IaC – Infrastructure as Code) ליצירת משאבים בהתאם למה שסוכם עם צוות הפיתוח ובלחיצת כפתור מרימים ומורידים את סביבות הפיתוח הללו.

      עשרת השירותים שכל מפתח צריך להכיר בענן

      לסיכום

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

      עידו זיו
      WRITEN BY

      עידו זיו

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

      כתיבת תגובה

      האימייל לא יוצג באתר. שדות החובה מסומנים *