יום שני, 10 במרץ 2014

208 Fogcast 06 - the many ways to scale

  • רן וליאור על איך מתמודדים עם סקייל?
  • נתחיל בהגדרות - מה זה פרפורמנס? זמן התגובה של פעולה אחת: לדוגמא טעינת דף.
  • ומה זה סקלביליות? מס' רב של פעולות כאלו.
  • במילים אחרות: דף אחד נטען לאט? יש לך בעיית פרפורמנס. הרבה דפים? בעיית סקייל.
  • סימפטום השמיכה הקצרה - תיקוני פרפורמנס מתגלים הרבה פעמים כשמיכה קצרה - כשמושכים לכיוון אחד, הכיוון השני נחשף.
  • שלושה דברים חשובים כשעושים שיפורי ביצועים: למדוד, למדוד, למדוד.
  • חשוב מאוד לקבל הוכחות ומספרים לכך שיש בעיה והיכן היא (דברי במספרים גברת).
  • איך מגלים שהאתר שלכם סובל מבעיית ביצועים? בצעו Twitter Driven Development TDD.
  • השיטה הטובה ביותר להתמודד עם סקייל היא לבצע הפרדה ולמדל את האפליקציה לפי:
    • סטייט - להפריד בין שירותים הזקוקים לסטייט לאלו שלא ואותם לשמור ב CDN
    • סקייל אנכי - לחזק את המחוזק: עוד זכרון פה, עוד CPU שם. נחמד אבל יש תקרת זכוכית.
    • סקייל אופקי - חוות שרתים.
    • רילטיים לעומת בטצ'.
    • אוןליין לעומת אופליין.
  • גן עדן לדחיינים -  כל לוגיקה שלא חייב להתבצע ברילטיים, שימו בתור ודחו את הטיפול לאח"כ  (אסינכרוני)
  • מתי נכון להתחיל לחשוב על סקלביליות? (מתי זה לא premature?)
  • כשצופים את הבעיה מראש ואין הבדל מבחינת העלות בין פתרון סקלבילי לשאינו כזה.
  • אנקדוטות:

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

יום שישי, 7 במרץ 2014

207 Fogcast 05 - Selecting technology stack (cont)

  • ליאור ורן ממשיכים לעסוק בשאלה הגורלית - איך בוחרים טכנולוגיות - חלק ב'
  • אוברוויו על Overvyoo - החברה של ליאור
  • אוברוויו פועלת בתחום ניהול צי עובדים נייד
  • תעזור לנו בין היתר לענות על השאלה 'איפה שליח הפיצה שלי?'
  • מספר נק' מפתח שהובילו לבחירת הטכנו' בחברה:
    • דיווחים מהשטח בזמן אמת בסקייל גבוה
    • תמיכה באופליין בטלפון
    • תמיכה גם בזמן-אמת וגם בווב
    • ועוד..
  • באמצעות ניתוח סטטיסטי נבנתה תחזית של העומס הצפוי באפליקציה
  • בבחירת הטכנו' נעזרו באתרים (לא תלויים!) שערכו השוואות ביצועים בין טכנו' שונות
  • לדוגמא, הידעתם כי שפת גו מהירה עד פי 7 מנוד?
  • מעבר להוכחת ההיתכנות העסקית חשובה גם הוכחת היתכנות טכנו'
  • אוברוויו רצה מעל אמזון אך דואגת לא להיות שקועה לגמרי בטכנו' של אמזון
  • rule of thumb - תמיד כדאי להשאיר רגל אחת בחוץ ולא להיות locked in לספק מסוים
  • תחזית על ריילס - מאבדת את היתרון התחרותי שלה בעולם ה Single-page-app ומובייל קליינטס
  • html5 vs native - לאפליקציות תוכן פשוטות html5 מספיק, מעבר לכך עדיף  native
  • איך אוברוויו מסתדרים עם מגוון הטכנו' הרחב שלהם? נעזרים במומחים חיצוניים שמבצעים קוד-ריוויו
  • בהצלחה
הקובץ נמצא כאן האזנה נעימה ותודה רבה לאורן אפרתי על התמלול!

יום רביעי, 5 במרץ 2014

206 Fogcast 04 - Selecting technologies


  • ליאור ורן דנים בשאלה הקשה מכולן - איך בוחרים טכנולוגיות?
  • מה עדיף?  Best tool for the job או One stop shop?
  • מהנסיון של ליאור, עדיף לבחור בכלי המתאים ביותר למשימה ולא להירתע מלשלב מגוון טכנו'.
  • אבל את מי שכחנו במשוואה? את אנשי הצוות.
  • האם אחד השיקולים בהקמת חב'/מוצר חדש הוא מצב השוק הנוכחי של המפתחים?
  • devdev.io - יכול לעזור בבחירת טכנולוגיות.
  • מומלץ לערוך רשימה של האתגרים אותם רוצים לפתור, ולפיהם לבחון את ההתאמה של הטכנו' השונות.
  • איך מומחה למכוניות קונה רכב משומש? פותח את מכסה המנוע ומריח - אפשר להריח גם קוד?
  • ובכל זאת לא נתעלם מהחסרונות בשימוש במגוון טכנולוגיות, קשה להתמקצע באותה רמה במס' שפות וכן עקומת הלמידה של אנשי צוות חדשים.
  • מצגת מומלצת של אבי צוראל על מודולריות בקוד.

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

יום שלישי, 18 בפברואר 2014

205 Bumpers 12

אבנר, דותן ורן נפגשים בשנית




  • GitHub
    • תמיד רציתם לדעת אם אינכם עמלים לחינם? repository traffic analysis
    • API חדש לביצוע פריסה אוטומטית
    • כעת ניתן לערוך pull requests עוד לפני אישורם



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

יום שני, 10 בפברואר 2014

204 Fogcast 03 - Loggins

  • ליאור ורן מפזרים את הערפל - והפעם סביב לוגים
  • אז למה לדבר על לוגים?
  • לוגים הם כבר מזמן לא רק למטרות דיבאג, אלא הם משמשים ככלי לייצור מידע.
  • המידע יכול להיות syslog, אבל גם הרבה מעבר - ברוכים הבאים לעולם ה BI, פרודקט ומרקטינג.
  • מומלץ לעסוק כבר בהתחלת הפיתוח בהנחת התשתית לייצור המידע - aka אין דבר כזה premature logging
  • אפשר להתייחס לכך כסוג של פורוורד קומפטביליטי - בהתחלה מייצרים ואוספים, בעתיד אולי גם באמת מנתחים את המידע.
  • אחרת כשתרצו את המידע, הוא לא יהיה קיים.
  • הידעתם כי מע' בסיסיות רבות בגוגל לדוגמא, מבוססות על שאילתות על לוגים?
  • שימוש חביב במיוחד הוא לעקוב אחר פעולה אחת מתחילתה ועד סופה על ידי שתילה של מזהה יחודי בהודעת הלוג.

  • שירותי לוגים לדוגמא:
    • logentries - לוג כשירות
      • תמיכה ברוב השפות ,פורמטים וגם באמזון
      • קל מאוד להתחיל והתמיכה מצוינת
      • אין חובה שהלוגים יישמרו בשרת המקומי אלא ניתן להזרימם ישירות אליו
      • ואין חסרונות?
      • ההסטוריה עלולה להיות חסרה - קיימת מגבלה על משך הזמן שהשירות שומר על הלוגים
      • הצעת שיפור ללוגאנטריס - תהפכו כבר ל data-warehouse מלא

    • logstash - דורש התקנה מקומית
      • מומלץ ביותר אך עם עקומת למידה גבוהה


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

יום שני, 3 בפברואר 2014

203 Fogcast 02 - MeteorJS

  • ליאור ורן מפזרים את הערפל - והפעם סביב מטאור
  • מטאור מספקת חווית פיתוח מושלמת בג'אוהסקריפט.
  • בשיטת הכל כלול:
    • ניהול וזיהוי משתמשים
    • מיניפיקציה וניהול גרסאות
    • ניהול סשנים
    • פריסה בענן של מטאור
    • DPP - Distributed Data Protocol (מבוסס ווב-סוקט)
    • ועוד..
  • בסיס הנתונים הוא מונגו, והקליינט מתחבר אליו ישירות
  • הקליינט נרשם לעדכונים המעניינים אותו בלבד ע"י publish/subscribe
  • don't call us, we'll call you - Reactive - הקליינט מגדיר שאילתות, כאשר קיים מידע חדש הוא פשוט מגיע
  • demeteorizer - מפשיט את אפליקצית המטאור ומשאיר אותה במערומיה כ Node.js פשוט
  • קהילה, קהילה, קהילה - טוויטר,גוגל גרופ, אי-ר-סי מאוד תוססים
  • בשורה התחתונה -  רן נדהם מחוויית וקלות הפיתוח
  • נשמע מגניב, אבל מה עם חסרונות?
    • ווב-סוקט נשארים פתוחים במשך כל הזמן
    • מחייב Session Affinity
    • השרת נדרש לשמור את המצב של הקליינט
    • הגרסא הנוכחית עדיין ב 0.x
  • show me the money - מודל ההכנסות שלהם יבוסס כנראה על שירותי הפריסה בענן
  • לינקים:


  • הצצות נוספות
    • פרומיסס של ג'אוהסקריפט - ספרית q לביצוע פעולות אסינכרוניות ולפתור את callback hell
    • לוגים -
    • devdev.io - שם סוף להתלבטויות באיזה ספריות לבחור

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