פיצוח האניגמה שנקראת אמזון EBS

השבוע מלאו ל”חץ ביז” שנתיים במזל טוב (כתבתי פוסט על כך כאן), לא היה קל, אבל בהחלט כיף.

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

בעסקי ה-Hosting, בניגוד למצבים שחברות צריכות להתמודד, הדברים שונים. חברה רוכשת לדוגמא שרתים ו-Storage מתוך ידיעה שיש צורך בציודים וההשקעה מחזירה את עצמה בכל מיני דרכים, בחסכונות פה ושם, קונסולידציית שרתים, איחוד ציודים ועוד. ב-Hosting לעומת זאת, הדברים שונים לחלוטין. אתה לא יכול לרכוש פתרון של Netapp או EMC ולצפות שהלקוחות ישלמו לך כמה דולרים פר ג’יגהבייט, כי אף אחד לא ישלם לך את המחיר הזה, וגם חברות גדולות כמו Softlayer לומדות את הלקח הזה על בשרן (הם הכניסו SAN גדול, הלקוחות לא קופצים על זה, כך לפחות נאמר לי ע”י אחד המנהלים הישראליים שם).

לאמזון יש דבר שנקרא EBS, זהו פתרון Storage אשר מתחבר לך לשרתים שלך שאתה שוכר באמזון (EC2) וכך אם נהרסת לך המכונה, הנתונים נשמרים. הפתרון כמובן חיוני אם אתה מפעיל מספר שרתים בתצורות כמו Load Balancing ועוד.

המחיר שאמזון מוכרת את שרותי ה-EBS גרם לאנשים רבים (כולל עבדכם הנאמן) לגרד בפדחתם ולנסות להבין איך הם מצליחים לתת שרות כזה ולמכור אותו במחיר רצפה של 10 סנט לג’יגהבייט!

רבים שאלו את אמזון מה המערכת שעומדת מאחורי ה-EBS מבחינת מפרט ברזלים, תוכנות וכו’, ועד היום, אמזון לא מגלה מאומה. על שאר השרותים כמו EC2, או S3 והשאר, כולם יודעים איך להקים דברים כאלו, אבל EBS… אניגמה.

ידוע לנו שהמחיר הוא 10 סנט, מה שמביא לתובנות הבאות:

  • אין דיסקים SAS – לא חשוב כמה אמזון תהיה הדארלינג של יצרני הדיסקים הקשיחים, אם זה היה דיסקים עם חיבור SAS ומהירות גבוהה (10000 או 15000 RPM) המחירים היו טסים למינימום 1-2 דולר לג’יגהבייט.
  • אין בקרי RAID משוכללים, כי הבקרים הללו לא זולים. סביר להניח שיש על לוח האם חיבור SAS עם מפצלים ל-SATA. סביר להניח שמוגדר RAID-5 או RAID-1 (על כל דיסק, דיסק נוסף משמש כ-Mirror). צריך לזכור: השרתים הללו לא מריצים שום וירטואליזציה או דברים כבדים אחרים.
  • הדיסקים הם דיסקים “ביתיים”, הווה אומר דיסקים SATA גדולים במהירות 7200 RPM או פחות מכך.

איך עושים עם המצב הזה שרידות? לא ב-RAID, אלא עם RAIN. בשיטה עם RAIN, הדברים משוכפלים ברמה של שרתים פשוטים, כך ששרת A עושה רפליקציה מול שרת B כל הזמן, וכך אם יש נפילה של שרת A או B, המערכת תעבור אוטומטית למערכת ה”בריאה” ותדאג שתהיה עוד רפליקציה מול שרת אחר (במקומות גדולים בד”כ יש מספר עותקים של אותו חומר).

מכאן נעבור לרשת של EBS.

EBS בעקרון אינו דבר מהיר כל כך. כל פתרון SAN חומרתי עוקף כל EBS בקלילות מכיוון ש-EBS נותן בתיאוריה מהירות מקסימלית של 1 ג’יגהביט (128 מגהבייט) לשניה. המהירות כמובן צונחת אם גם השכן שלך מחליט להשתמש ב-EBS שנמצא על אותו שרת פיזי (אפשר לקרוא בהרחבה על כך כאן).

השאלה היא מהו החיבור בין שרתי ה-EBS לשרתי ה-EC2. אני מניח שמדובר בחיבורי Ethernet של 10 ג’יגהביט פר שרת עם CAT 6A וסוויצ’ים שכל פורט מגיע עד 10 ג’יגהביט, אבל הבעיה בהנחה הזו שהמחיר הוא מאוד גבוה. סוויצ’ שיכול להעביר 240 ג’יגהביט (24 חיבורים של 10 ג’יגהביט כל אחד) הוא מאוד מאוד יקר, גם אם הוא יהיה בהוזלה משמעותית עבור אמזון, מה שמייקר מאוד את פתרון ה-EBS, כך שאני לא בטוח אם זה הפתרון שהם משתמשים. פתרון אחר הוא Bonding של מספר יציאות 1 ג’יגהביט מהשרת (כמו עם כרטיסי 4 פורטים) מה שנותן בתיאוריה רוחב פס של 4 ג’יגהביט, אבל גם זה לא נראה לי שהפתרון נכון.

מהרשת נעבור לבעיה הכי מהותית: איזו תוכנה יודעת לבצע RAIN אך גם לייצא לך החוצה Block Devices כך שתוכל להקים דיסקים של EBS? מי שמכיר את אקליפטוס (Eucalyptus) ויסתכל על הפתרון שלהם, השיטה שלהם היא שימוש ב-iSCSI הרגיל שקיים בלינוקס (או אם תחבר SAN, תצטרך להשתמש בפתרון iSCSI מתוך קופסת ה-SAN שלך עם הכלי של יצרן ה-SAN). יש פתרון Cluster של Red Hat שאפשר לראות אותו כאן, אך אני בספק אם זהו פתרון שיכול להתאים.

מה דעתכם? אם אתם הייתם צריכים להקים משהו כמו EBS עם ערימת שרתים בלי SAN ולתת throughput של 1 ג’יגה, מה אתם הייתם מכניסים? איזה כלים הייתם משתמשים?

זה לא "מחשוב ענן"

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

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

ניקח דוגמא אחרת מחברה מאוד מוכרת: Amazon ושרת ה-AWS. אמזון מציעה מחשבים וירטואלים, אחסון, איזון עומסים, CDN ושאר שרותים, כאשר כל השרותים מבוססים על עקרון פשוט: אתה משתמש בהם לפי שעה, ואתה מרים אותם בסקריפט פשוט. רוצה 2 טרה אחסון? עוד 40 מכונות וירטואליות גדולות? 20 בינוניות ו-50 קטנות? כמה שורות בסקריפט קטן ותוך רגעים ספורים אותם מוצרים שביקשת עומדים לרשותך. רוצה "להרוג" מכונות שהיית צריך בשביל עומס ולחזור למצב של 2 שרתים? מס' פקודות בסקריפט וכל מה שהיה מקודם "מת". צריך שרתים ומשאבים אחרים באירופה, אסיה, ארה"ב וכו'? כמה שורות ונגמר. לא צריך להתעסק ברכישת רשיונות, התקנות, איזה מעבדים יש בשרת וכל הקונפיגורציות למערכות הפעלה – הכל מוכן, הפעל והשתמש. הגביה תהיה פר שעה, ולפי צריכת הנתונים שהכנסת/הוצאת מהאחסון/שרתים וירטואליים. בסוף החודש (או בתאריך אחר) תחוייב בכרטיס האשראי וחוזר חלילה.

ספק גדול שמספק שרותי ענן מוריד ממך את הצורך לבדוק כמה רוחב פס יש לו (ג'יגות על ג'יגות ממספר ספקים), איזה פירמה של שרתים יש לו (בד"כ זה Custom לפי דרישות שלו), איזה סוג אחסון יש לו (שוב, ברוב המקרים מדובר במשהו שנבנה In House), איזה מעבדים יש (אמזון עובדים עם AMD לדוגמא), איזה וירטואליזציה הם משתמשים (שוב, אמזון משתמשים ב-Xen גירסה שלהם), והכל כבר נמצא עם רשיונות בצורה חוקית. אתה לא צריך לדאוג לכלום, רק תתקין את האפליקציות שלך, תקנפג אותם ותשתמש.

בוא נשווה את זה לכל ספק רגיל אחר, בין אם זה מהגדולים (012, נטויז'ן, בזק בינלאומי) ועד הבינוניים: רוצה עכשיו 50 שרתים וירטואליים ו-2 טרה? נראה אם בכלל יש להם במלאי דבר כזה. אין? תחכה, מנהל התיק שלך יפנה בקשה למחלקת הרכש, מחלקת הרכש תוציא בקשת הצעות מחיר למפיצים השונים (שבעוד  כמה ימים יחזירו תשובה למחלקת הרכש), אחרי שחוזרים ההצעות מחלקת הרכש תוסיף את הנתח שלה, תכפיל ב"דולרים" (4.1 שקל לדולר, זה השער שכל הספקים גובים, 012 גובים לפי מחיר של 4.12 שקל לדולר) ואז ישלחו לך את ההצעה באימייל ואם ההצעה תיראה בעיניך תצטרך להחתים את המנכ"ל/סמנכ"ל/איש-כספים, תמתין לפחות 14 ימי עסקים, תשרוף עוד שבוע-3 שבועות לכוונן את כל העסק – ו… יש לך את מה שרצית. עבר שבוע ואתה לא צריך את זה? לא נורא, תשלם לפחות מחיר חודש ואם קנו במיוחד עבורך ציוד, תשלם את מלוא ההתחייבות ואז נחשוב הלאה.

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

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

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

קינדל ופאדיחת זכויות יוצרים

image

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

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

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

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

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

כמובן שהאירוניה הכי גדולה היא הספרים המדוברים: 1984 ו”חוות החיות” של ג’ורג’ אורוול, המדבר על עינו הפקוחה של האח הגדול וכיצד האח הגדול יכול לעשות דברים ולעקוף את האזרח הקטן, וגוגל בדיוק נותנת את הדוגמא הנ”ל – עם ספריו של ג’ורג אורוול. למי שמעוניין, אגב, בספרו 1984, כל מה שצריך הוא ללחוץ כאן, יש גירסת PDF שגם קינדל יודע להציג, בלי הגנות.

לו היה ג’ורג’ יודע זאת, הוא בוודאי היה מתהפך בקיברו..