יום שני, 26 באוקטובר 2015

280 Cloud Vendor Series - HA/HR with AWS

פרק נוסף שלנו בסדרת ספקי שירותי הענן. דיברנו על גוגל, אמזון, 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)

הקובץ נמצא כאן ותודה לרועי שלומי על התמלול.

יום רביעי, 21 באוקטובר 2015

279 Digital Ocean

בפרק היום (19/10/2015) אנחנו נסקור את השירותים של Digital Ocean, ספקית של שרתים בענן. הדיון הזה ממשיך את סדרת הפרקים שלנו בנושא ספקי שירותי ענן כמו AWS, Azure ו-Google Cloud. מצטרפים אליי אורי להב ועמית דונסקי. עמית עובד בחברת High-T, טכנולוגיות מחשוב ענן. אנחנו עובדים מאז 2007 עם ספקי שירותי הענן הפופולריים, וגם ספקים נוספים לפי הצרכים של הלקוחות. אנחנו מתמקדים ב-SaaS וגם IaaS.
כמו תמיד אתם מוזמנים לבקר בקבוצת הפייסבוק של רברס עם פלטפורמה, לעקוב אחר הטוויטר שלנו, הבלוג או באמצעות RSS.
עשינו גם סקר מאזינים לאחרונה ופרסמנו את המסקנות בנוגע לאיכות ההקלטה וכמות התוכן בכל פרק. אנחנו בהחלט ניישם את המסקנות.

הנקודות העיקריות בתוכנית:
  • הגמישות והעוצמה של אמזון או גוגל, מגיעות עם עלויות שלא מתאימות לכל הלקוחות. (2:30)
  • אם אתה ממוקד בביצועים או זקוק לשרתי Windows, כנראה שלא תבחר ב-Digital Ocean. אבל מצד שני יש להם יתרון באוטומציה של פריסה וצמצום של שרתים. (4:05)
  • מבחינת עלויות אמזון יכולה להיות פי 1.5-2 ברמות הנמוכות, ופי 4-5 ברמות הגבוהות. זה בעיקר בגלל משאב רוחב הפס שמוקצה לכל שרת. (8:20)
  • שירות ענן קשיח מספק מדרגות שירות קבועות של זכרון וכוח עיבוד, בלי רמות ביניים. ובמיוחד העלות של תעבורת הרשת מגולמת במחיר והיא נמוכה משמעותית. (10:44)
  • חלק מהשירותים היותר מתקדמים של אמזון ניתן לבנות ב-Digital Ocean באמצעות שכבת האוטומציה. (14:09)
  • לדוגמא לקוח שפיתח מערכת SaaS לניהול חופשות וזמן עבודה על אמזון, אבל הגיע לחיובים גבוהים מאוד. הקמנו 3 סביבות שונות – פיתוח, סביבת ניסוי וסביבת ה-Production שעובדת ב-HA בהתאם לעומסים. הגענו למצב שהם מטפלים בפי שלושה לקוחות, כשהורדנו עד 60% מהעלויות תוך כדי הוספת משאבים. (17:30)
  • שירותי ענן קשיחים אחרים: Linode, Vultr שמספקים גם שרתי Windows (21:31)
  • אנחנו מיישמים פתרונות שונים על ספקי שירותי ענן שונים בהתאם לצרכים העסקיים שלו. (23:40)
  • אפשר לשלב שירותי ענן שונים. יש לנו לקוח שהאפליקציה עובדת ב-Digital Ocean אבל בסיס הנתונים נמצא ב RDS של אמזון. (25:55)

הקובץ נמצא כאן, ותודה לרועי שלומי על התמלול.



יום חמישי, 15 באוקטובר 2015

278 Bumpers 25

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

רן (1:31):
  • Protected Branches – חידוש ב–Github נגד Push –force, כדי למנוע שגיאות ובעיות. אפשרות גם לחסום Push במקרה שה–Build שבור.
    • Code Leak – אם Github מקשיבים לנו, אז אני אשמח לאפשרות שתמנע שיתוף של Fork ממאגר פרטי למאגר ציבורי. היו מקרים של סיסמאות ומפתחות ל–AWS שדלפו החוצה.
  • אומנות שורת הפקודה – מאגר Github שכולל פירוט פקודות, כלי עזר והסברים על שורת הפקודה.
  • ThoughtWorks Technology Radarסקירה חצי שנתית של טכנולוגיות חדשות. מה כדאי לאמץ, לנסות או להתחיל לבדוק. מספר חידושים מעניינים בסקירה האחרונה לגבי שפות תכנות ופלטפורמות.
  • React Native for Android – סוף סוף פייסבוק השיקו את הגרסה לאנדרואיד.
  • HTTY – שילוב בין Curl ל–Bash. מדובר ב–Shell אינטראקטיבי שמסוגל לשלוח פקודות לשירותי אינטרנט.
  • Meteor Galaxy – פלטפורמת אירוח רשמית ל–Meteor. המחירים לא זולים, אבל רמת השירות גבוהה.
  • הטלפון בתור מכשיר גיבוי – Uber משתמשת בטלפונים של הנהגים בתור Backup Datacenter. בהחלט רעיון לא שגרתי ומימוש מאוד מעניין.
  • Google Cloud Shell – שירות חדש בענן של גוגל שכולל גם 5GB לאחסון מידע, כך שאתם יכולים לשמור את סביבת העבודה שלכם.
  • The State of Front–End Tooling – סקר נחמד על כלים ל–FE. כלי מעניין שמוזכר שם הוא PostCSS שהוא CSS Processor מהיר ומתקדם יותר לעומת כלים דומים.
  • Joe – כלי ליצירת gitignore באופן אוטומטי בהתאם לסביבת הפיתוח. תומך בעשרות שפות פופולריות וחוסך הרבה זמן ביצירת כללים מחדש. (תודה ליקיר!)

אלון (23:22):
  • איך מנהלים 900 מיליון משתמשים עם 50 מפתחים – הסיפור מאחורי החלק ההנדסי של ווטסאפ. הנקודות העיקריות: שימוש ב–Erlang ומוצר ממוקד בבעיה נקודתית.
  • מה משפיע על ביצועים ב-JS – ריכוז של הפונקציות שגורמות לצד–לקוח ליצור מחדש את ה–Layout.
  • Lazy Redis –  פוסט מאוד טכני על הגרסה הבאה של Redis ומנגנון העבודה שלו.
  • Clipboard.js – ספריית JS מינימליסטית שמעתיקה טקסט ללוח בלי צורך בפלאש.
  • ההיסטוריה של AWS – האבולוציה של שירותי הענן של אמזון. (PDF)
  • Amazon Elastic Search – שירות חדש של אמזון המאפשר שימוש ב ElasticSearch כשרות. גאווה ישראלית, כידוע מנוע חיפוש זה נכתב ע״י שי בנון.
  • Amazon ElastiCache – עוד מגל ההשקות האחרון של החברה: תמיכה ב-API של Redis ו-Memcache.
  • RAIL – מודל חדש לביצועים של סביבת המשתמש. הרבה הנחיות, טיפים ומידע מאוד שימושי למי שעוסק ב–UI.
  • הבדלים באמצעות CSS – הסבר איך אפשר למצוא הבדלים בין תמונות רק באמצעות CSS. וגם כלי שימושי שמוצא שינויים באמצעות ה–Terminal.
דותן (34:00)
  • GraphQL – הצד המשלים של React. הסבר מעמיק על הטכנולוגיה ואיך לעבור מ–REST ל–GraphQL.
  • Falcor – הגרסה של נטפליקס ל-GraphQL. מורכבת יותר משל פייסבוק, ושווה ללמוד מהגישות השונות בפיתוח.
  • כל מה שצריך לדעת על React Native – רשימה פופולרית שאני מרכז על React Native, שכוללת קישורים לפוסטים, רכיבים, סרטונים ועוד.
  • Gatsby – כלי מבוסס React ליצירת אתרים סטטיים.
  • AWS WAF – פיירוול של אמזון לשירותים שלך.
  • Amazon QuickSight – כלי BI מאוד חזק בעלות נמוכה יחסית למתחרים. יכול ליצור גרפים וטבלאות ממקורות של אמזון ומקורות אחרים.
  • ניטור PostgreSQL – ריכוז מידע לניטור של בסיס הנתונים עם כמה טיפים טובים. שווה להזכיר את  הנפילה שהיתה השבוע ל–Stripe.
  • FZF – כלי Fuzzy Finder שעובד על כל דבר. מאוד מזכיר את החיפוש של כרום, Sublime ואחרים.
  • Trevor – סוג של Travis אישי שמייצר קונטיינר באופן אוטומטי ומריץ את כל המבחנים.
  • מעבר מג'אווה ל–GO – איך AeroFS הקטינה משמעותית את צריכת הזכרון בעקבות מעבר בין השפות.
  • SSMP – פרוטוקול תקשורת פשוט במקום XMPP. עוד פרויקט ב–GO של AeroFS.
  • Popmotion – ספרית אנימציה ב–JS. מאוד קטנה ועם API מאוד שימושי.
וקצת שעשוע:
וגם מה לעשות במקרה שריפה – קודם לצייץ או קודם Commit?

הקובץ נמצא כאן, האזנה נעימה ותודה רבה לרועי על התמלול

יום חמישי, 8 באוקטובר 2015

277 Scientific Python

הפודקאסט שלנו יעסוק היום (6.10.2015) בפייתון לצורכי מחקר (Scientific Python). זה למעשה פודקאסט המשך לפודקאסט מס' 273 שעשינו בנושא ונקרא ה-R ב-R&D. מצטרפים אליי אמרי קיסוס ויואל שפירו. אימרי קיסוס, מהנדס חשמל ועוסק כעשור בתחום האלגוריתמים. עובד כיום בחברת FDNA, שמבצעת עיבוד תמונה של פנים על מנת לנסות ולזהות מחלות גנטיות נדירות בעיקר אצל ילדים.
יואל שפירא, מהנדס ביו-רפואה ובעל דוקטורט ברובוטיקה. היום אלגוריתמיקאי בחברת Check-Cap שמפתחת גלולה לאיתור סרטן במעי הגס באמצעות צילום רנטגן.

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

בפרק הקודם עסקנו בגישות השונות למחקר בצוות מחקר ופיתוח מודרני. היום אנחנו נתמקד בפייתון לצורכי מחקר.
  • בעבר הייתה הפרדה בין שלב התכנון לבין שלב הביצוע. היום העבודה היא בצמידות גבוהה יותר, ולכן כלים כמו Python מחליפים כלים כמו Matlab בצוותי מחקר ופיתוח.(3:41)
  • פייתון נוחה לשימוש לעומת כלים אחרים, אפשר להוסיף לה חבילות בקלות, והיא נוחה מאוד מבחינת המימוש. (4:57)
  • לעומת האופציות של Matlab, פייתון ו-++C, יש גם את שפת Lua שהייתה במקור למשחקים, אך למרות התמיכה של פייסבוק עדיין הקהילה שלה צעירה. עוד שפות פופולריות: R בתחום הסטטיסטי, Octave כתחליף ל-Matlab, ו-Julia שמציעה ביצועים טובים במיוחד. (7:53)
  • פייתון פותחה כתחליף ל-Perl ועם הקפדה גדולה על קריאות. לצורך מחקר אפשר למצוא ספריות כמו NumPy לחישובים, ו-MatPlotLib לגרפים. (14:19)
  • צריך להתאים את הכלי לצורך שלכם. כל כלי יתאים לחישוב של משהו "שאפשר לשרבט על דף". בשביל לבנות אבטיפוס ראשוני, יתאים כלי אחר. ובסוף יש משהו שצריך לרוץ ב-Production. פייתון מתאימה בדיוק לשלב של לעבור משלב האבטיפוס לקוד. (22:25)
  • לעומת Matlab ו-Maple שהן סביבות סגורות עם חבילות מתאימות, בפייתון יש מבחר גדול של חבילות, אבל לפעמים זה גם יכול ליצור קושי בשל עודף בחירה. (25:30)
  • יש תזוזה לכיוון שימוש בפייתון בשנים האחרונות, גם בחברות גם באקדמיה. בעיקר בזכות פתרונות של הקהילה, וגם כלים לאינטגרציה עם Matlab בקלות. (31:30)
עוד קישורים מעניינים:
  •  פייתון מול Matlab – היתרונות של פייתון כסביבת קוד פתוח.
  • פייתון למתחילים – פוסט שמרכז את היסודות של Data Science בפייתון למי שעושה צעדים ראשונים בתחום.
  • Wakari – כלי בענן שמאפשר ניתוח מידע בפייתון במהירות, חוסך התקנה של חבילות והגדרות.
  • מפתחים מול חוקרים – פוסט של ג'ון קוק שמסביר על הבדלי הגישה של חוקרים לעומת מפתחים.
  • IPython – סביבת עבודה פופולרית שמשלבת קוד, מודלים חישוביים וגרפים.
  • Google DeepDream – הקוד של המודל מאחורי DeepDream של גוגל. דוגמא יפה לשימוש ב-IPython.
  • למה נאסא משתמשת בפייתון – מצגת קצרה שמציגה פרויקט של ניתוח מידע מחיישנים בלוויינים באמצעות כלים מבוססי פייתון.
  • הפופולריות של פייתון – דירוג השפות הפופולריות שמצביע על צמיחה בשימוש בשפה. וגם דירוג TIOBE שגם מצביע על צמיחה קבועה. ודירוג נוסף.
  • איך יודעים איך שפה הופכת לפופולרית – פוסט שמנתח את המידע שנדרש כדי להחליט איך שפה הופכת לפופולרית.
  • פייתון 2 או 3 – פוסט שסוקר את ההבדלים והיתרונות של כל גרסה.
  • Anaconda – סביבת ניתוח בפייתון שכוללת יותר מ-330 חבילות הרחבה שונות, וסביבה אחידה שמתעדכנת באופן שוטף.
  • NumPy – חבילה בסיסית לפייתון שכוללת כלי חישוב וניתוח מידע.
  • Matplotlib – חבילת לפייתון שכוללת כלים ליצירת גרפיים דו-מימדיים.
  • Scikit-image – חבילה לעיבוד תמונה בפייתון.
  • Scikit-learn – חבילת ל-Machine Learning בפייתון.
  • Pandas – חבילת פופולרית נוספת לניתוח מידע.
  • Theano – חבילה מתקדמת לניתוח מידע.
  • IDE לפייתון – כידוע מפתחים אמיתיים לא משתמשים ב-IDE, אבל בכל זאת כדאי להכיר את PyCharm ו-Spyder המצוינים.

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