פרק נוסף שלנו בסדרת ספקי שירותי הענן. דיברנו על גוגל, אמזון, Digital Ocean ואחרים. והיום (25/10/15) אנחנו מדברים שוב על AWS. ביחד עם אורי להב וגיא ארנסט. והיום אנחנו נדון ב- High Availability ו-Disaster Recovery.
למי שלא זוכר, גיא ארנסט, הוא (היה) נציג AWS בישראל. ארנסט הוא ארכיטקט פתרונות באמזון, ובעבר מפתח בתחום של מובייל, ביג דאטה ועוד. בשלוש השנים האחרונות עבד בעיקר עם הסטרטאפים בישראל, לפני חודשיים עבר למטה של אמזון בסיאטל, שם הוא עוזר לצוותים הפנימיים של אמזון להשתמש בשירותי AWS בעצמם בצורה יותר אפקטיבית.
לפני שאנחנו מתחילים נזכיר את המבצע "כוסות תמורת הערות" - מי שמשאיר הערות מוצלחות יזכה בכוס של Reversim. השבוע זוכה בכוס אביב, בזכות הדיון על Digital Ocean. ובנוסף לקבוצה בפייסבוק, אנחנו זמינים גם בטוויטר, בבלוג וב-RSS.
הנקודות בתוכנית:
- תקלות יקרו כל הזמן, ולכן צריך להתכונן אליהן. וצריך להתכונן אליהן לפעמים תוך כדי גידול של פי 10, ולפעמים של פי 100. (6:00)
- אמזון מציעה Availability Zones, מרכזי נתונים במקומות שונים בעולם. אפשר להריץ שרתים בין המקומות עם Load Balancing ביניהם. (7:13)
- היה לנו לקוח שהתחיל להריץ את המערכת שלו ב-AWS והתפלא שתקלה של שרת שנופל פשוט נעלמה. הסתבר שהמערכת החליפה שרתים. (10:37)
- המרכזים באותו האזור מרוחקים כדי למנוע פגיעה במקרה של אסון טבע. באאוטבריין תכננו מרכזי נתונים על מדפי יבשת שונים, כנגד רעידות אדמה. (13:30)
- אנחנו משקיעים הרבה בנושא החשמל. היינו צריכים לכתוב מחדש את התוכנה של בקרי החשמל אחרי שגילינו שהם מכבים את עצמם כדי למנוע נזק לבקר במקרה עומס. אנחנו העדפנו למנוע נזק לשרתים. (15:40)
- כדי להמנע מתקלות בגלל קונפיגורציה לא נכונה, אנחנו מציעים יותר ויותר שירותים מתקדמים שבנויים מראש לביזור שרתים. המידע מפוזר בלפחות שלושה מרכזי נתונים שונים באותו האזור. (18:00)
- בעקרון אפשר לכתוב ולהגדיר ישירות רק לאזור אחד, כאשר הפעילות תשמר באזור אחד. זה נעשה גם למנוע תקלות שעוברות בין האזורים, וגם מבחינת רגולציה וכללים שונים של שמירת מידע בין מדינות. (21:28)
- MySQL Aurora הוא שירות של ממשק MySQL עם הפרדה בין מנוע בסיס הנתונים למנוע האחסון. המידע מועתק לשישה מרכזי מידע שונים. (26:25)
- אנחנו עושים תחקירים בצורה מאוד מעמיקה על כל תקלה, והכל במטרה למנוע תקלות דומות בעתיד. הארגון משקיע מאמץ אדיר בתהליך הלמידה ובאוטומציה של המערכות. (29:50)
- לא צריך "להיקשר" לשרתים אלא להסתכל עליהם כקבוצה. בשביל לקבל לוגים יש לנו שירות של Cloud Watch, ויש גם שירותים אחרים (Logstash, Splunk) שיכולים לרכז לוגים מעשרות שרתים ולתחקר תקלות. (35:00)