אי אפשר להגיד שזה לא היה צפוי – אמזון, מי שאחראית על לא מעט מההיסטריה וההיסטוריה בהקשר של מחשוב ענן, מודיעה היום על כניסה לתחום חדש – Platform as a Service או בקיצור PaaS.
PaaS היא למעשה רמה גבוהה יותר של וירטואליזציה, ממה שאמזון הציעו ללקחותיהם עד היום. אמזון ידועים כספקי תשתית הענן (IaaS), כל מה שקשור לתשתיות מחשוב, רשת, אחסון ובסיס נתונים, בדרך כלל עד רמת מערכת ההפעלה. כשמדברים על PaaS, אנחנו למעשה עולים רמה, לרמת האפליקציה ובצורה הפשטנית ביותר, תן לי את האפליקציה שאתה רוצה להריץ ואני אדאג לכל השאר. ממש Plug and Play.
שוק ה – PaaS כיכב לאחרונה בעיקר בתחום הרכישות של חברות מהתחום. הסיפור הגדול הוא של Heroku שנרכשו על ידי SalesForce בתחילת דצמבר ו – RedHat שרכשו את Makara. שתי החברות מכוונות בעיקר לשוק אפליקציות ה – Ruby עם מאות אלפי אפליקציות שכבר רצות על הפלטפורמות שלהם.
AWS Elastic Beanstalk (עם הקשר ישיר לסיפור הילדים ג’ק ושיח האפונים – פרטים בהמשך) הנו הפתרון שאמזון מציעים לכל מי שרוצה להריץ אפליקציה בענן (בנתיים רק אם האפליקציה כתובה ב – Java). כל מה שאתה צריך זה לארוז את האפליקציה שלך בקובץ war, לגשת לממשק הניהול של Elastic Beanstalk, לעקוב אחרי השלבים השונים ולאחר מספר קליקים, האפליקציה עובדת וניתן לגשת אליה מכל מקום בעולם. מה יותר פשוט מזה?
המערכת בנויה כך שניתן לעשות שימוש בכל הרכיבים של AWS ולהגדיר אותה בצורה שתאפשר גדילה של התשתית והאפליקציה בהתאם לעומס עליה. מכאן גם ההקבלה לסיפור של ג’ק ושיח האפונים – מתחילים בקטן ורק השמיים (או הענן) הם הגבול.
אמזון מונים מספר מאפיינים ותכונות עיקריות של המערכת:
- Elastic Beanstalk עושה שימוש בכל התשתית הקיימת של אמזון. עובדה זו יכולה להוות יתרון ענק לכל מי שכבר השקיע ומכיר את התשתיות של אמזון.
- בניגוד ל – PaaS קלאסי, קיימת גמישות גבוהה בניהול התשתית של האפליקציה, כולל מעבר מ – PaaS ל – IaaS אם המשתמש רוצה בכך.
- האפליקציה רצה על שרתי EC2 יעודיים לכל לקוח, בעוד שסביבות PaaS אחרות הן בדרך כלל Multitenant ברמת התשתית. תכונה זו מבטיחה רמה גבוהה יותר של אבטחת מידע (בתאוריה), בזכות הפרדה טובה יותר בין האפליקציות השונות.
- תמיכה (בשלב זה תאורטית בלבד) במגוון פלטפורמות. הגרסה הנוכחית תומכת ב – Java בלבד.
- השימוש ב – Beanstalk הוא ללא תשלום והלקוח משלם על רכיבי התשתית בלבד, בדיוק כמו על כל שרות אחר של אמזון.
- אינטגרציה עם סביבת הפיתוח Eclipse, המאפשרת פיתוח וניהול האפליקציה, מתוך סביבת הפיתוח הסטנדרטית.
בפתרונות PaaS קלאסי (Heroku לדוגמא), עושה הספק ככל יכולתו להסתיר כמה שיותר מהתשתית עליה רצה האפליקציה, זאת מתוך הנחה סמויה שהלקוח לא רוצה לדעת איך האפליקציה רצה וכל מה שמעניין אותו זה שהיא עובדת. אמזון החליטו לא ללכת במסלול זה, מה שבמבט ראשון נראה הגיוני מאד. זה לא יהיה חכם לזרוק לפח את כל יכולות התשתית של אמזון, להרגיל אלפי לקוחות למשהו חדש ולבנות מודל תמחור חדש. אמזון יוצאים מנקודת הנחה שיש סוגים שונים של לקוחות, כאלו שבאמת לא אכפת להם מה קורה מתחת למכסה המנוע וכאלו שירצו, מסיבות שונות, להכנס לכל שרת ושרת ב – PaaS שלהם ולשנות שם משהו.
אני לא רואה בעיה עקרונית עם הגישה הזאת של אמזון (למרות שאני חושב שהולכים להיות לא מעט מאמרי ביקורת על ה – PaaS ההיברידי של אמזון), למעט נקודה חשובה אחת – הפתרון של אמזון הולך להיות יקר משמעותית מרוב פתרונות ה – PaaS הקיימים. ריצה על שרתים יחודיים מייקרת מאד את העלות של פלטפורמה זו,במיוחד למי שצריך אפליקציה קטנה שלא דורשת שרת שלם. כמו כן הפתרון לא מתומחר כ – PaaS (למשל לפי Requests) אלא עדיין משתמש במודל תמחור IaaS קלאסי (שרתי, דיסקים וכו’).
אמזון (כמו חברות רבות אחרות), מבינים שחלק לא מבוטל מעתיד מחשוב הענן נמצא ב – PaaS ולמרות שיש להם את תשתית הענן המצליחה ביותר כיום, הם מעדיפים להצטרף לחגיגת ה – PaaS כמה שיותר מוקדם ולא לתת לארגונים אחרים לכבוש שוק זה. הם הימרו בענק, לפני מספר שנים, על שוק הענן בכלל ועל IaaS בפרט, הימור שהסתבר כמוצלח מאד. ימים יגידו אם הימור ה – PaaS שלהם (למרות שלדעתי אין כאן סיכון אמיתי) היה נכון. אני אגב מאמין שכן ולא רק במקרה של אמזון.