✕ סגור 
צור קשר
תודה על ההתעניינות .

Thank you! Your submission has been received!

Oops! Something went wrong while submitting the form

קרב הענקים: איך בוחרים את ספק הענן הטוב ביותר? חלק ג'

קרב הענקים: איך בוחרים את ספק הענן הטוב ביותר? חלק ג'
|
קלה
|
Apr 30, 2019
alt="facebook"alt="linkedin"להרשמה לניוזלטר

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


FaaS: Google Cloud


שירותי הענן של גוגל תמיד היו בצל של AWS ו-Azure, וכך גם פתרון ה-FaaS שלה, שהוכרז ממש בשקט בגרסת הבטא מתישהו בספטמבר 2016 בשם Google Cloud Functions וקיבל סטטוס GA רק ביולי 2018 – וגם, כפי שנראה, חלק מהפיצ'רים הדי מרכזיים עדיין נמצאים במצב של pre-release. באפריל 2019, ממש לא מזמן, גוגל הכריזה על Google Run, סוג של פתרון היברידי שמאפשר להריץ Http driven קונטיינרים על תשתית Severless. מפני שהפתרון הזה הוא ממש טרי והוא בדיוק FaaS, לא נתייחס אליו כאן.



כפי שניתן לראות, המסך של יצירת הפונקציה משלב כמה דברים שנמצאים במסכים שונים אצל Azure Functions ו-AWS. הפונקציה החדשה מקבל יחידת קצה HTTP הנגישה מבחוץ באופן אוטומטי ויש אפשרות גם לערוך את הקוד בתוך הדפדפן וגם לעלות אותו כקובץ ZIP לוקלי או מ-CloudStorage.קיימת גם אפשרות לעלות אותו היישר מ-CloudSource, שחסרה אצל מתחרים. האינטגרציה עם פתרונות CI/CD קיימת גם עבור CloudBuild של גוגל עצמו וגם עבור פתרונות אחרים כגון GitLab.

Event Triggers


כמות הטריגרים יחסית מוגבלת אבל די מספקת וכוללת שירותים כמו CloudStorage, Pub/Sub, FireStore, FireBase  ואחרים. למרות שדוקומנטציה רשמית מציינת שהוספת טריגרים אפשרית גם דרך כלי CLI שנקראה GTool, וגם דרך GUI, הממשק לא מראה את האפשרות הזאת (נכון ליוני 2019).

Supported Languages


גם כאן המבחר לא גדול מדי וכולל Node.js, Python ו-Go (החל מינואר 2019, עדיין בבטא).

Tooling & Debugging


גוגל פיתחה Functions Framework, כלי שמאפשר פיתוח פונקציות וההרצה שלהן על מגוון סביבות, כולל סביבה לוקלית. נכון ליוני 2019 הוא תומך רק ב-Node.js 10, כך שקשה לראות בו כלי פיתוח בשל. בכל מקרה, זה ה- GitHub הרשמי שלו.


Monitoring & Logging


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


Performance & Scaling


כפי שציינו קודם, הרבה פיצ'רים חשובים של Google Functions הם עדיין בסטטוס של pre-release, וביניהם גם ניהול ה-Scale. ככזה, הוא "נתמך חלקית ויכול להשתנות", ולכן פשוט נציין שהדוקומנטציה הרשמית נמצאת כאן ולא מפרטת יותר מדי חוץ מעובדה שפונקציות נשמרות לפרק זמן מסוים במצב idle כדי להוריד את הזמני cold start ואת הכמות המקסימלית של פונקציות שרצות במקביל, הוא רק חסם עליון שלא מובטח שיתקיים.  


Security


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

Pricing


בנוסף ל-GB-SECONDS גוגל מגדירה גם מושג CZH-SECONDS, וגם לוקחת בחשבון כמות תעבורת רשת של כל פונקציה. הטיר החינמי נותן 2M קריאות בחודש, 400,000 GB-SECONDS, 200,000 GZ-SECONDS ו-5GB של תעבורת outbound, כאשר תעבורת ה-inbound היא ללא הגבלה. זה אולי נראה מורכב מדי, אבל אם לוקחים בחשבון רק את כמות הקריאות, זה יותר משתלם מההצעות של אמזון ומיקרוסופט.

Wrap Up and Further Reading


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


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

FaaS: IBM


חברת יבמ עלתה על רכבת של FaaS בפברואר 2016 עם הכרזה על שירות IBM OpenWhisk, שהיה מבוסס פרויקט קוד פתוח Apache OpenWhisk. להבדיל משאר הספקים יבמ הלכה על הפרדיגמה די שונה – היא מראש ראתה בפונקציות רק חלק ממשהו יותר גדול, שהיא הגדירה כאפליקציה, או חבילה, שהם, בעצם, סט לוגי של פונקציות שהם עדיין event-driven, אבל ביחד הן מבצעות משימה יותר גדולה מאשר תגובה לטריגרים. אך מפני שאנחנו דנים כאן בשירות FaaS, נבחן את הפונקציות בלבד בלי להיכנס לקונטקסט יותר רחב של OpenWhisk – את זה נעשה כאשר נדון בשירותים דומים של ספקים אחרים.

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

Event Triggers


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

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


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


Supported Languages


ישנה תמיכה מובנית ב-Node.js, Python, PHP, Swift, Ruby, ותמיכה דרך הDocker- ל-Go, Java, ו-.NET Core. לרשימה מלאה עם גרסאות מדויקות של כל שפה, לחצו כאן.



האופציה לעלות קובץ ZIP אינה קיימת, והאפשרויות היחידות לעשות CI/CD הן או דרך Bluemix DevOps או דרך Whisk Deploy technology. שתי השיטות דורשות הכרות עמוקה עם האקוסיסטם  של יבם, וזה בטוח לא עוזר לאדפטציה רחבה של השירות – אבל לא נראה שזה מדיר שינה מעיניה של החברה.    


Tooling & Debugging


כמו שציינו, כל השירות מבוסס על OpenWhisk, אז יש את פלטפורמה של קוד פתוח שנקראת Developer Tools for OpenWhisk  שמאפשרת לעשות כל מיני דברים במכונה הלוקלית (בין היתר). Eclipse הוא ה-IDE המומלץ לעבודה, אך כל IDE אחר יוכל להתאים גם - כל עוד הקהילה של OpenWhisk עשתה מאמץ לכתוב פלאגין מתאים. יבמ, להבדיל מאמזון ומיקרוסופט, עושה אפס מאמץ בנושא.

Monitoring & Logging


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


Performance & Scaling


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


Security


ישנם API Keys דפולטיביים שנוצרים באופן אוטומטי לכל פונקציה, שזה די נוח. כמו כן, קיימת אוטנטיקציה OAuth שתומכת בחשבונות Google, Facebook, ו-GitHub – וזה בעצם הכל. ישנה אומנם קריאה מודגשת להתחיל להשתמש ב-שירות IAM, אבל הלינק מציג רק דף הבית של החשבון והחיפוש לא נותן כלום. די מאכזב.


Pricing


המודל של יבמ די משתמש באותו מושג מוכר של GB-SECONDS, כאשר כל יחידה כזאת עולה $0.000017. המחשבון הרשמי מראה ש-5 מיליון קריאות בחודש של 500ms כל אחת עם הקצאה של 128 MB לא יעלו דבר – וזאת ההצעה הכי משתלמת בין ארבעת המתחרים.


Wrap Up and Further Reading


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


FAQ רשמי וזהו – כמו בשאר התחומים, גם כאן יבמ לא משקיע יותר מדי.

The Summary and What’s Next?


אם הסקירה הזו מסקנותיה לא שכנעו אותכם ואתם עדין מתלבטים באיזה FaaS לבחור, הינה לכם עוד כמה לינקים שימושיים:Serverless Cost Calculator  שתשווה בעלות של כל שירות בצורה מאוד נוחה, ומחקר אקדמי, לא פחות, שעוסק בניתוח והשוואה של הביצועים של FaaS מאמזון, מיקרוסופט וגוגל. אתם יכולים גם לפתוח חשבון חינמי אצל כל אחד ואחד מהוונדורים ולהתנסות בעצמכם – FaaS הוא בין השירותים החינמיים שלא דורשים כרטיס אשראי.


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


Stay Tuned!


מאת: איליה קריצמר, CTO בחברת Bridgez, בעלים בחברת Wu Consulting ומנטור ב-WeCode

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

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


FaaS: Google Cloud


שירותי הענן של גוגל תמיד היו בצל של AWS ו-Azure, וכך גם פתרון ה-FaaS שלה, שהוכרז ממש בשקט בגרסת הבטא מתישהו בספטמבר 2016 בשם Google Cloud Functions וקיבל סטטוס GA רק ביולי 2018 – וגם, כפי שנראה, חלק מהפיצ'רים הדי מרכזיים עדיין נמצאים במצב של pre-release. באפריל 2019, ממש לא מזמן, גוגל הכריזה על Google Run, סוג של פתרון היברידי שמאפשר להריץ Http driven קונטיינרים על תשתית Severless. מפני שהפתרון הזה הוא ממש טרי והוא בדיוק FaaS, לא נתייחס אליו כאן.



כפי שניתן לראות, המסך של יצירת הפונקציה משלב כמה דברים שנמצאים במסכים שונים אצל Azure Functions ו-AWS. הפונקציה החדשה מקבל יחידת קצה HTTP הנגישה מבחוץ באופן אוטומטי ויש אפשרות גם לערוך את הקוד בתוך הדפדפן וגם לעלות אותו כקובץ ZIP לוקלי או מ-CloudStorage.קיימת גם אפשרות לעלות אותו היישר מ-CloudSource, שחסרה אצל מתחרים. האינטגרציה עם פתרונות CI/CD קיימת גם עבור CloudBuild של גוגל עצמו וגם עבור פתרונות אחרים כגון GitLab.

Event Triggers


כמות הטריגרים יחסית מוגבלת אבל די מספקת וכוללת שירותים כמו CloudStorage, Pub/Sub, FireStore, FireBase  ואחרים. למרות שדוקומנטציה רשמית מציינת שהוספת טריגרים אפשרית גם דרך כלי CLI שנקראה GTool, וגם דרך GUI, הממשק לא מראה את האפשרות הזאת (נכון ליוני 2019).

Supported Languages


גם כאן המבחר לא גדול מדי וכולל Node.js, Python ו-Go (החל מינואר 2019, עדיין בבטא).

Tooling & Debugging


גוגל פיתחה Functions Framework, כלי שמאפשר פיתוח פונקציות וההרצה שלהן על מגוון סביבות, כולל סביבה לוקלית. נכון ליוני 2019 הוא תומך רק ב-Node.js 10, כך שקשה לראות בו כלי פיתוח בשל. בכל מקרה, זה ה- GitHub הרשמי שלו.


Monitoring & Logging


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


Performance & Scaling


כפי שציינו קודם, הרבה פיצ'רים חשובים של Google Functions הם עדיין בסטטוס של pre-release, וביניהם גם ניהול ה-Scale. ככזה, הוא "נתמך חלקית ויכול להשתנות", ולכן פשוט נציין שהדוקומנטציה הרשמית נמצאת כאן ולא מפרטת יותר מדי חוץ מעובדה שפונקציות נשמרות לפרק זמן מסוים במצב idle כדי להוריד את הזמני cold start ואת הכמות המקסימלית של פונקציות שרצות במקביל, הוא רק חסם עליון שלא מובטח שיתקיים.  


Security


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

Pricing


בנוסף ל-GB-SECONDS גוגל מגדירה גם מושג CZH-SECONDS, וגם לוקחת בחשבון כמות תעבורת רשת של כל פונקציה. הטיר החינמי נותן 2M קריאות בחודש, 400,000 GB-SECONDS, 200,000 GZ-SECONDS ו-5GB של תעבורת outbound, כאשר תעבורת ה-inbound היא ללא הגבלה. זה אולי נראה מורכב מדי, אבל אם לוקחים בחשבון רק את כמות הקריאות, זה יותר משתלם מההצעות של אמזון ומיקרוסופט.

Wrap Up and Further Reading


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


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

FaaS: IBM


חברת יבמ עלתה על רכבת של FaaS בפברואר 2016 עם הכרזה על שירות IBM OpenWhisk, שהיה מבוסס פרויקט קוד פתוח Apache OpenWhisk. להבדיל משאר הספקים יבמ הלכה על הפרדיגמה די שונה – היא מראש ראתה בפונקציות רק חלק ממשהו יותר גדול, שהיא הגדירה כאפליקציה, או חבילה, שהם, בעצם, סט לוגי של פונקציות שהם עדיין event-driven, אבל ביחד הן מבצעות משימה יותר גדולה מאשר תגובה לטריגרים. אך מפני שאנחנו דנים כאן בשירות FaaS, נבחן את הפונקציות בלבד בלי להיכנס לקונטקסט יותר רחב של OpenWhisk – את זה נעשה כאשר נדון בשירותים דומים של ספקים אחרים.

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

Event Triggers


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

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


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


Supported Languages


ישנה תמיכה מובנית ב-Node.js, Python, PHP, Swift, Ruby, ותמיכה דרך הDocker- ל-Go, Java, ו-.NET Core. לרשימה מלאה עם גרסאות מדויקות של כל שפה, לחצו כאן.



האופציה לעלות קובץ ZIP אינה קיימת, והאפשרויות היחידות לעשות CI/CD הן או דרך Bluemix DevOps או דרך Whisk Deploy technology. שתי השיטות דורשות הכרות עמוקה עם האקוסיסטם  של יבם, וזה בטוח לא עוזר לאדפטציה רחבה של השירות – אבל לא נראה שזה מדיר שינה מעיניה של החברה.    


Tooling & Debugging


כמו שציינו, כל השירות מבוסס על OpenWhisk, אז יש את פלטפורמה של קוד פתוח שנקראת Developer Tools for OpenWhisk  שמאפשרת לעשות כל מיני דברים במכונה הלוקלית (בין היתר). Eclipse הוא ה-IDE המומלץ לעבודה, אך כל IDE אחר יוכל להתאים גם - כל עוד הקהילה של OpenWhisk עשתה מאמץ לכתוב פלאגין מתאים. יבמ, להבדיל מאמזון ומיקרוסופט, עושה אפס מאמץ בנושא.

Monitoring & Logging


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


Performance & Scaling


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


Security


ישנם API Keys דפולטיביים שנוצרים באופן אוטומטי לכל פונקציה, שזה די נוח. כמו כן, קיימת אוטנטיקציה OAuth שתומכת בחשבונות Google, Facebook, ו-GitHub – וזה בעצם הכל. ישנה אומנם קריאה מודגשת להתחיל להשתמש ב-שירות IAM, אבל הלינק מציג רק דף הבית של החשבון והחיפוש לא נותן כלום. די מאכזב.


Pricing


המודל של יבמ די משתמש באותו מושג מוכר של GB-SECONDS, כאשר כל יחידה כזאת עולה $0.000017. המחשבון הרשמי מראה ש-5 מיליון קריאות בחודש של 500ms כל אחת עם הקצאה של 128 MB לא יעלו דבר – וזאת ההצעה הכי משתלמת בין ארבעת המתחרים.


Wrap Up and Further Reading


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


FAQ רשמי וזהו – כמו בשאר התחומים, גם כאן יבמ לא משקיע יותר מדי.

The Summary and What’s Next?


אם הסקירה הזו מסקנותיה לא שכנעו אותכם ואתם עדין מתלבטים באיזה FaaS לבחור, הינה לכם עוד כמה לינקים שימושיים:Serverless Cost Calculator  שתשווה בעלות של כל שירות בצורה מאוד נוחה, ומחקר אקדמי, לא פחות, שעוסק בניתוח והשוואה של הביצועים של FaaS מאמזון, מיקרוסופט וגוגל. אתם יכולים גם לפתוח חשבון חינמי אצל כל אחד ואחד מהוונדורים ולהתנסות בעצמכם – FaaS הוא בין השירותים החינמיים שלא דורשים כרטיס אשראי.


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


Stay Tuned!


מאת: איליה קריצמר, CTO בחברת Bridgez, בעלים בחברת Wu Consulting ומנטור ב-WeCode

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

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
בואו נעבוד ביחד
support@israelclouds.com
צרו קשר