ושוב מנסים למכור שמן נחשים

בתחילת השבוע (27/7) החלה התקפת DDoS רצינית על בזק בינ"ל, מה שגרם לכך שאתרים כמו "וואלה" לא הגיבו אפילו לרמה של DNS Resolve ללקוחות בזק בינ"ל ולספקים נסמכים (018, אינטרנט רימון ואחרים). בזק בינלאומי לא היו היחידים שמותקפים חזק (אם כי הייתי קצת מופתע – לבזק בינלאומי יש קו של כמה טרה מחו"ל לארץ בבעלותם), גם נטויז'ן חטפה חזק שבוע שעבר, וגם פרטנר ואחרים. בד"כ התקיפות האלו החזיקו כמה שעות עד שהם נפתרו בפתרונות שונים.

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

ובמקרים רבים הציוד נקנה לשווא.

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

ברשותכם, אתאר מספר סיטואציות ואתייחס אליהן:

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

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

הפתרון לסיטואציה זו מורכב מ-2 חלקים:

  • יצירת קשר עם ספק האינטרנט שלך ובקשה לניתוק זמני מחו"ל. מכיוון שרוב מוחלט של התקפות ה-DDOS מגיע מחו"ל, ההתקפה תיפסק מיידית ומי שיספוג אותה הוא ספק האינטרנט שלך.
  • שימוש בקו DSL יחיד או כפול (עם IP קבוע ולא דינמי) עם QoS עצמאי ברמת המתג שלך לקבלת מיילים ומשלוח, ואם יש לך 2 קווים, הקו השני יכול לתת שרותי גלישה לעובדים (שוב, QoS כדי לעצור כל מיני Uploads מופרעים). אגב, אם משתמשים בפתרון כזה, חשוב להכניס את ה-IP הקבוע של ה-DSL לתוך רשימות ה-MX/SPF/PTR של הדומיין/ים שלכם (כעדיפות משנית, שלישית וכו')

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

עסק עם שרתים שנמצאים בארץ אשר מגיש אתרים לציבור בארץ

גם כאן, כשמתקיפים אותך, הספק יכול לנתק אותך מחו"ל, וקופסא "נגד DDOS" היא מיותרת, ובכל מה שקשור למייל, אפשר להשתמש ב-IP נוסף שדרכו ינותב המייל (לא לשכוח את ה-IP המשני להכניס לרשימת ה-MX לפני ההתקפה), בד"כ ההתקפה מגיעה לשרתי Web, לא לשרתי Mail ולכן תוכל להמשיך לתת ללקוחות שרות קבלת/שליחת מייל אם יש להם client משלהם.

עסק עם שרתים שנמצאים בארץ/בחו"ל אשר מגיש אתרים לציבור בחו"ל
במקרים כאלו, חשוב מאוד להשתמש בספק CDN (כן, גם אם יש לך מספר שרתים בחו"ל משל עצמך). ספק כמו Cloudflare יכול לתת לך בחינם הגנה בסיסית נגד DDoS ובמחיר של 20$ לחודש תוכל לקבל גם הגנה לא רעה על האפליקציה שלך (Web Application Firewall). אם יש לך אתר מאוד גדול שאתה מרוויח ממנו ואתה מותקף תדיר, כדאי שתכיר את התוכנית ביזנס שלהם שעולה 200$ לחודש, אבל מבחינת התקפות אתה מקבל שקט.  (כל התוכניות שלהם נמצאים כאן, ולא – אני לא מרוויח מההפניה. יש כמובן ספקי CDN אחרים, ומומלץ לבדוק את המחירים של המתחרים לפני כן).

אתרים בענן (Google/Amazon/Microsoft)
גם כאן שרות CDN עדיף, מכיוון שהוא "יחטוף" את ההתקפה. גם אמזון וגם מיקרוסופט מציעים שרותי CDN שפרוסים במקומות שונים בעולם אך הם בתשלום נוסף. יוצאי דופן במקרה הזה הם דווקא גוגל, ואם אתה משתמש בשרותי ה-App Engine שלהם, אתה מקבל את שרותי ה-CDN "על הדרך" ללא תשלום נוסף, כלומר אתה תקבל שרות CDN בדיוק באותה רמה שגוגל נותנים עם יוטיוב, תוצאות חיפוש וכו'.

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

בפתרון CDN טוב, מי שחוטף את ההתקפה הוא ספק ה-CDN וספקי CDN רציניים (כמו Cloudflare ואחרים) יש ברשותם קווים של מאות ג'יגהביט ומעלה והם יכולים לעמוד ברוב ההתקפות בלי יותר מדי בעיות. פתרון מקיף לבעיית DDoS צריך לכלול אלמנטים נוספים שספק ה-CDN יכול להצביע עליהם (אם לדוגמא אני מחליט "להתלבש" על קבצים שספק ה-CDN שלך לא עושה להם Cache כמו סרטים וכו'), הם דואגים להחביא את ה-IP הישיר שלך, לנהל את ה-DNS שלך בצורה מוגנת ועוד. כיום אותם פתרונות של CDN טוב יכולים לעלות מ-0 דולר לחודש (הגנה בסיסית) עד כמה מאות דולרים (לאתרים גדולים ומורכבים), אז לפני שאתה מתפתה לרכוש קופסא (שתעלה לך כמה אלפי דולרים + עוד כמה אלפים כל שנה), בדוק פתרון CDN טוב נגד הצרות הללו ותחסוך לעצמך כספים וכאבי ראש.

תכירו את Docker

homepage-docker-logoלהלן סיטואציה שבוודאי מוכרת לכם מהתשתית אצלכם בחברה: יש לכם שרת שמריץ אפליקציה וכל העולם ואחותו בחברה מתחבר כדי לעבוד על האפליקציה. האפליקציה היא קריטית ויכול להיות שעקב עומס אתה מריץ שרת נוסף, בין אם אתה עושה Load Balancing או High Availability – זה לא חשוב כרגע.

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

כלומר עד כה, ספרנו 5 שרתים שמריצים פחות או יותר את אותה אפליקציה ואת אותה מערכת הפעלה. אם אתם משתמשים בוירטואליזציה כמו ESXI או Hyper-V או Xen – אז אתם מריצים 5 מערכות הפעלה זהות שתופסות לא מעט משאבים, הן מבחינת CPU, הן מבחינת דיסק וכמובן מבחינת RAM, וכנראה גם Storage. אם אתם מריצים את זה על ברזלים אמיתיים, אז התשתית שהסביבה לעיל תופסת היא בערך רבע/חמישית ארון.

וירטואליזציית "ברזל" (כמו ESXI, Hyper-V, KVM, Xen) נתנה לנו משהו מדהים לארכיטקטורת ה-PC (זה היה קיים הרבה לפני כן במערכות IBM ואחרות): תיאורתית אתה יכול לקחת ארון שלם של שרתים ו"לדחוף" את כולו ל-2 שרתים עוצמתיים. החסכון בתחזוקה, בחשמל ובמשאבים. פתאום אתה יכול להרים עוד 10 שרתים וירטואליים מבלי לרוץ ולבקש תקציב נוסף ל-10 שרתים פיזיים עם כל כאב הראש המתלווה לכך.

מערכות הוירטואליזציה האלו הן בד"כ מסוג HyperVisor Type 1. יש גם Hypervisor Type-2 כמו VirtualBox או VMWare Workstation שרצות בעצם על מערכת הפעלה קיימת (בין אם זה Linux או Windows) ואינן ניגשות ישירות ל"ברזל" כמו ESXI ואחרות.

ישנה עוד וירטואליזציה. נקרא לזה "וירטואליזציה אפליקטיבית". גם כאן, הרעיון עצמו ישן והוא רץ שנים רבות על OS/400 (מכירים LPAR?), בסולאריס (Zones), בגרסאות BSD (נקרא Jails) ובלינוקס בזמנו היתה תוכנה מסחרית שנקראה OpenVZ (שהיום גם אם ישלמו לי, עם מקל אני לא נוגע בה!) וכמובן Jailed Root/Chroot בכל מערכת יוניקס/לינוקס והתוספת שהיתה ללינוקס מלפני מס' שנים: LXC. כולן נתנו (מי פחות ומי יותר) בערך את אותו דבר: הרצת אותה מערכת הפעלה כמו ה-Host (או גרסאות קרובות, לדוגמא: Solaris 9 על Solaris 11) בצורה נפרדת ללא צורך בעותק נוסף של מערכת ההפעלה. יתרון ענקי שיש לשיטה זו על פני כל Hypervisor היא המהירות: האפליקציה רצה ב-100% מהירות, כך שכל מכונה וירטואלית בשיטה זו תופסת כמעט כלום מבחינת משאבים (היא כמובן תתפוס לאחר שתמלא את המכונה באפליקציה שלך, אבל עדיין, כמות המשאבים שהיא תצרוך קטנה בהרבה בהשוואה לאפליקציה כזו שתרוץ תחת מערכת הפעלה נפרדת ב-Hypervisor כלשהו).

וכאן אנו מגיעים ל-Docker (שאגב, בקרוב יהיה זמין גם רשמית לסולאריס ע"י אורקל. כך השמועות אומרות).

להלן תרשים של Docker בגירסה 0.9:

Docker Execution Drivers

ברמה העקרונית, Docker עובד בשיטה של קונטיינרים, כאשר כל קונטיינר הוא מערכת עצמאית לחלוטין שאותה תוכל להפיץ ללקוחות או לשרתים אחרים שלך.

Docker משתמש ב"מילה האחרונה" מבחינת טכנולוגיות לינוקס עדכניות כדי לתת כמה שיותר עוצמה לקונטיינר. כך לדוגמא אתה יכול לקבוע כמות כרטיסי רשתות, כמות זכרון, דיסקים, אתה יכול להשתמש ב-Device Mapper (תודה לאלכסנדר לארסון מ-Red Hat שכתב את המימוש) כך שבעצם קונטיינר ישב תחת Device ממופה, ואותו Device הוא בעצם "דיסק" שאתה יכול לקבוע את גודלו ומה שהכי נחמד – הוא Thin Provisioned ללא "קנסות" בביצועים. (אפשר לקרוא את הפוסט של אלכסנדר על כך כאן). אנחנו יכולים לבצע הגנות על הקונטיינרים עם SELinux ועוד.

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

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

Docker תופס פופולריות במהירות מבהילה. החברות הגדולות כמו Google, eBay, Baidu כבר מזמן משתמשות ב-Docker וחברות רבות אחרות. כך שמבחינת אימוץ טכנולוגיה, Docker מאומץ בחום ע"י רבים וכדאי להשקיע בו וללמוד אותו.

לסיום: נקודה חשובה גם למי שמכיר את Docker: החל מגירסה 0.9 Docker כבר אינו משתמש יותר ב-LXC (לא אכנס לנסיבות מדוע. דמיינו לבד..), והאפליקציה משתמשת בספריה משלה (libcontainer) שיודעת לדבר עם דברים כמו libvirt ואחרים.

עוד נקודה אחת קטנה: הבלוג עבר לדומיין חדש שמשקף את השרותים שאני מציע, תגידו מזל טוב 🙂

(גילוי נאות: הח"מ נותן שרותים בתשלום על הדרכה והטמעת Docker בחברות וארגונים).

על איומי סייבר וסחטנות דיגיטלית

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

אבל כיום יש דברים שדווקא לא כל כך מקבלים פרסום שהוא בהחלט חשוב. תכירו את "כנופיות הסייבר"

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

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

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

כל נסיון לפתוח את הקבצים הנ"ל יתן תמונה שבה מופיעה הודעה חגיגית כי הקבצים מוצפנים ועל מנת לשחרר אותם, יש לשלם סכום של 500$ בביטקוין ואת ההעברה יש לבצע דרך הרשת המוצפנת TOR. יש לך 48 שעות להעביר את הכסף. ניסית להתחכם ולהכניס קוד שגוי? התוכנה תקצץ לך כמה שעות מה-48 שעות. לא שילמת אחרי 48 שעות? הסכום מוכפל. לא שילמת אחרי חודש? המפתח ימחק ואתה תישאר עם קבצים שלא תוכל לפתוח.

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

… עד שמהנדס כלשהו בסימנטק החליט לגלות לכל העולם ואחותו בפוסט בבלוג של סימנטק שהמפתח נשאר במחשב וגם היכן הוא נמצא. גם אותה כנופיה קראה את הפוסט וב-1/4 הם שחררו גירסה מעודכנת של הנוזקה שמוחקת את המפתח. תודה לסימנטק!

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

מה ניתן לעשות? כמה דברים:

  • כרגיל, אנטי וירוס יעיל יכול לעזור בעצירה של הנוזקה מלהיכנס אל המחשב שלך.
  • גיבוי – אם הינך מגבה לדיסק אחר שמחובר למחשב שלך או לתיקיה אחרת, זה לא מספיק. נוזקה כזו יודעת להיכנס גם לגיבוי כזה ולהשמיד אותו. לפיכך מומלץ לגבות לענן לשרות כמו DropBox או Google Drive שנותנים כמה ג'יגהבייט בחינם, אך הפתרון הכי טוב הוא גיבוי שאינו זמין כ"כונן" במחשב – פתרון כמו של Backblaze יכול להיות טוב למרות שהוא אינו חינמי (5$ לחודש ללא הגבלת מקום). כעקרון – גם גיבויים למקומות אחרים טובים, כל עוד השרות אינו ממופה כ"כונן".
  • קצת מחשבה – מכיר מי שלח לך? אם לא, אל תפתח. אתה סקרן ולא בטוח? שמור את הקובץ ואל תריץ, סרוק אותו באנטי וירוס שלך או בשרות החינמי Virus Total.
  • מאוד מומלץ לעבור משימוש מתוכנות מייל שמותקנות על המחשב למייל מבוסס רשת כמו GMail, Outlook.com, Yahoo Mail. שרותים אלו סורקים כל הצמדה ומונעים הורדה.
  • אם גיבוי – אז גיבוי מלא: ודא שלפחות אחת לחודש יש לך גיבוי של Full Backup ולא רק Incremental.
  • אם הנוזקה הזו דפקה את המחשב שלך, אל תשחזר מגיבויים לפני שהנוזקה מוסרת ממחשבך, אחרת גם השחזור יוצפן.

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

על אתרים שגודלים ו-Google Cloud Platform

cloud-homepage-logo_short_900px

הנה סיטואציה שמוכרת לכל מי שיש לו אתר מצליח עם גולשים רבים, ושאותו אתר בנוי על פלטפורמה פתוחה וידועה כמו וורדפרס או ג'ומלה…

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

ככל שהאתר יותר פופולרי, האופטימיזציות שבעל האתר (או מי שהוא שוכר שיעשה עבורו את העבודה הטכנית) יצטרך לעשות הן יותר עמוקות, כמו שימוש בתוספי Cache, אופטימיזציות לבסיס הנתונים, שימוש ב-Cache ב-DB והמתקדמים ישתמשו בפתרונות כמו memcache או Varnish (או שילוב שלהם).

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

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

גוגל בשבוע שעבר הכריזה על מגוון שרותים חדשים במסגרת ה-Cloud Platform שלה, ובאותה הזדמנות הם גם חתכו מחירים בכל השרותי ה-Cloud שהם מספקים, וזו הזדמנות מצויינת לבעלי אתרים פופולריים להסתכל על ה-Google App Engine (ובקצרה: GAE)

שרות GAE קיבל לפני יותר משנה "הרחבה" של שפה פופולרית: PHP, כך שאפשר לארח דרך GAE אפליקציות PHP וכאלו – יש הרבה, הרבה יותר מכל שפת תכנות אחרת. יש ב-PHP אפליקציות על כל דבר שנחשוב, החל מניהול אתרי תוכן, ניהול בסיסי נתונים, ניהול תצורות ועוד דברים רבים אחרים.

השימוש ב-GAE מצריך "החלפת דיסקט" אצל בעל האתר. עד היום, כפי שתיארתי לעיל, כשהאתר היה יותר פופולרי, היה צריך לעבור לפלפטפורמה של שרת וירטואלי שאותו מגדילים כמה שצריך עד למצב שצריך מספר שרתים, Load Balancing ועוד.

עם GAE – כל העניין נהפך למיותר. אין צורך בשרתים וירטואליים, אין צורך בתחזוקת שרת, וגם אם מחר יכנסו לו 10000 איש במכה אחת, כולם יקבלו את האתר בצורה מהירה מבלי שתצטרך לעשות כלום. ילדים מטומטמים מתקיפים את האתר שלך? כל עוד שמרת על הרשאות נכונות של קבצים ותיקיות, התקפות כאלו (כולל DDoS) לא יזיזו לאתר שלך! 

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

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

עכשיו נגיע לחלק של עלויות.

גוגל באופן עקרוני נותנת לכל אחד להתנסות בחינם עם GAE. פשוט כנסו לכאן, פתחו פרויקט ותתנסו. התוכנית החינמית מאפשרת דברים מוגבלים, כמו כמות תעבורה של 1 ג'יגה ליום, מקסימום 28 סשנים של GAE ועוד כפי שניתן לראות באתר הנ"ל, שזה מספיק לדוגמא לדברים פשוטים כמו לארח אתרים אישיים שלכם (למען האמת, הח"מ מתכנן השבוע להעביר את הכל ל-GAE).

אז כמה עולה התענוג? העלות מורכבת מכמה חלקים שנצטרך כדי להשתמש ב-GAE ומומלץ להשתמש בדף הזה כדי לחשב עלויות (לא לשכוח בכל סעיף שאני מזכיר להכניס מספר וללחוץ על Add to Estimate  – התוצאה תהיה מימין למעלה):

  • אנחנו צריכים קודם כל מקום לאחסן את האתר, זה נקרא Google Cloud Storage והמחיר שם מצחיק – 100 ג'יגהבייט יעלו לכם 2.60$ לחודש.
  • אנחנו צריכים לחשב רוחב תעבורה החוצה (תעבורה פנימה היא בחינם). כאן מומלץ לכם להיכנס לאתר שמודד לכם את הטראפיק כדי לראות כמה ג'יגהבייט השתמשתם בממוצע בחודשים האחרונים. אם לדוגמא יש לכם 100 ג'יגהבייט של תעבורה החוצה, העלות תהיה 12$ לחודש. שימו לב: המחיר הזה כולל שרות CDN, כך שאם אתם משלמים כיום לספק CDN, תוכלו לחסוך את ההוצאה הזו.
  • אנחנו צריכים בסיס נתונים. מה גודל ה-DB שלכם וכמה השרת שלכם "מבלה" בעיבוד ה-DB? גוגל מציעים את Cloud SQL שהוא תואם MySQL. אתם יכולים לבקש מהאיש הטכני שלכם לאמר לכם מה גודל ה-DB או שאתם אתם יודעים להשתמש ב-MySQL שימוש פשוט, בצעו mysqldump ל-DB וראו מה גודל הקובץ. בדף החישוב, תבחרו Part Time. מבחינת גודל Instance תבחרו במשהו קטן (תיכף אסביר מדוע) והכניסו את גודל ה-DB שלכם (סביר להניח שהוא לא יותר מכמהה ג'יגה בודדים אם בכלל הוא מגיע לג'יגה. באתרי תוכן רוב הדברים הגדולים הם קבצי המדיה).
  • מה עם שרותי Cache? שרות memcache הוא בחינם. לא עולה לכם כלום 🙂
  • מה עם שרת מייל? אין צורך. ל-GAE יש משלו, כך שהוורדפרס יוציא מיילים בלי שום בעיה.
  • מה עם שרת WEB? יש ל-GAE שרת משל עצמו ואתם לא צריכים להגדיר אותו, כך שאין צורך בשרת Web משלכם.
  • מה עם תוספים לאפליקציות CMS שלכם? את זה אתם מתקינים כמו שאתם מתקינים כרגיל בתוך האפליקציה. אין שינוי.
  • שרותים כמו Compute Engine ו-Persistent Disk במקרה שלנו – אין לנו צורך בהם.
  • מה עם Load Balancing ושאר ירקות לאתרים גדולים? זה מבוצע אוטומטית ע"י ה-GAE ללא תשלום נוסף.

ויש עוד עלות נוספת – עלות ה-Instance. בכל זאת, האפליקציה צריכה לרוץ על משהו. כפי שאתם יכולים לראות כאן, ישנם 4 סוגי instance עם מחירים בין 5 סנט לשעה ל-30 סנט לשעה. עכשיו, לפני שאתם שולפים מחשבי כיס ונבהלים, צריך לזכור כי כבר יש memcache משותף לשרתים (instances) והוא לא נכלל ב-RAM של ה-instance, כך שאתם בעצם צריכים פחות זכרון ממצב רגיל שהייתם משתמשים ב-VM/VPS ובעברית פשוטה: נסו את F1 או F2 ותראו איך האפליקציה שלכם עובדת (וקראו את המסמך בלינק!) לפני שתבחרו את F4.

על מנת שלא תצא לנו חשבונית עם 4 או 5 ספרות ודולרים (והתקף לב בדרך), מומלץ שכשאנו מקימים את האפליקציה ב-GAE, שנשתמש ב-memcache. כך לדוגמא אנחנו נחסוך בפניות רבות ל-SQL ופניות אליו יתבצעו רק אם יש צורך בעדכון (אם מישהו הגיב, או אם אתם מעלים תוכן חדש שיכנס ל-DB).

הגענו לחלק המעניין – של ההתקנה.

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

רוצים להתקין וורדפרס או ג'ומלה? בכיף. כאן ההוראות איך להתקין וורדפרס, וכאן ההוראות איך להתקין Joomla. שימו לב: תצטרכו להתקין שרת MySQL אצלכם במכונה (בכלל הייתי ממליץ לבצע את ההוראות התקנה על מכונת VM אצלכם בבית), ורק לאחר שתריצו את פקודת ה-update והנתונים יעברו ל-GAE ול-Cloud SQL תוכלו להיפטר מהסביבה (אם כי יכול להיות שתרצו לעשות הכל מקומית ואחרי זה לעשות deploy ל-GAE – הכל תלוי בכם).

עוד משהו אחד: יש לכם ערימות של דומיינים? גוגל מציגה שרות חדש שנקרא Google Cloud DNS שנותן לכם להשתמש בתשתית DNS של גודל לנהל את כל הדומיינים שלכם בחינם. לא צריך יותר שרתים שלכם לכך, ולא צריך לדאוג אם שרת זה או אחר נפל או ששוב מישהו אצל רשם הדומיינים דפק רקורד (סבלתי מספיק מהדברים האלו, תודה לכם נטויז'ן!). עוד פרטים – כאן.

בהצלחה

(גילוי נאות: הח"מ נותן שרותי פרילאנס להעברת אתרים ל-GAE ול-Google Cloud).

גוגל נכנסת חזק לתחום הענן הציבורי

עד לאחרונה, בכל הקשור למחשוב ענן שפתוח לציבור, האפשרויות הכי ידועות היו אמזון (כמובן) ומיקרוסופט עם Azure, כאשר אמזון מובילה בביטחה בכמות המשתמשים, הפתרונות, הפלטפורמות וכמובן – ערימת השרותים שהיא מציעה הכוללת שורה ארוכה של שרותים שאף ספק מתחרה לא נותן תחת קורת גג אחת. מכיון שאמזון מציעה את כל אותם שרותים במחירים תחרותיים מאוד, הרבה מאוד סטארט-אפים וגם חברות גדולות וידועות (טוויטר?) משתמשים בתשתיות של אמזון ולאמזון יש תשתיות בשפע ופתרון כמעט לכל דבר שתרצה, החל מענייני ניתוב DNS, אם זה CDN, הרמה של כמות מכונות גדולה בזמן קצר כדי להתמודד עם עומסים, מאזן עומסים (Load Balancer), ועוד – וכל זאת במחירים נמוכים (יחסית, כמובן. אם אתה צריך רק שרת אחד שעליו אתה עושה הכל בלי שום שרותים נוספים ובלי שרידות, אמזון לא מתאימה לך).

לתחום הענן הציבורי נכנסה בשנתיים האחרונות (באיחור אופנתי, כרגיל) מיקרוסופט עם ה-Azure שלה. בהתחלה כמערכת שאתה מפתח עליה אפליקציות במגוון שפות, ולאחר מכן שרותי Azure גדלו ל-IAAS/PAAS. במיקרוסופט, שהכח העיקרי שלה מגיע מהשוק העסקי, עשו דברים קצת שונים מאמזון והחלו את המתקפה על השוק העסקי עם Office 365 כשהם משכנעים ארגונים רבים לאחסן את המייל/יומן/מסמכים בענן, ורק לאחרונה נודע כי מיקרוסופט הולכת להציע שרותים אלו גם גירסה אישית במחיר של 7$ לחודש (או 90$ לשנה) שאותה אפשר להריץ על Windows או MAC או בגרסאות הטאבלט/מובייל שמיקרוסופט הוציאה ותוציא. במקביל מיקרוסופט מנסה לדחוף בצורה אגרסיבית את שרותי ה-IAAS כתחליף לאמזון ולשם כך היא משתמשת ב"צבא" אנשי המכירות שיש להם עם דילים שונים בהתאם לגודל הארגון. עד כה המאמצים להעביר חברות מאמזון ל-Azure לא ממש מנחילים הצלחה רבה למיקרוסופט, אבל תסמכו על מיקרוסופט שיעשו הכל כדי שחברות סטארט-אפ או כל חברה שמציעה שרותי Web ישתמשו ב-Azure. מיקרוסופט אפילו נותנת תמיכה (לא מי יודע מה, למען האמת) בגרסאות לינוקס CentOS/RHEL (מנסיון אישי שלי: אם נתקלת בבאגים, תתחיל לחפש פתרונות בגוגל, התמיכה של מיקרוסופט כולל תמיכה בחו"ל פשוט לא יודעים לתמוך בלינוקס, במיוחד אם אתה מרים הגדרות רשת מורכבות.)

לשטח הזה נכנסים גוגל (ליתר דיוק נכנסו). עד כה גוגל הציעו את ה-App Engine, שרות PAAS שמאפשר לך לפתח אפליקציה שתרוץ בענן של גוגל, אולם בשנה האחרונה גוגל התחילה להציע שרותי IAAS כאשר ההצעות שהם מציעים נשמעים מעולים לאנשי לינוקס שמכירים לינוקס טוב, אבל לך תסביר את הדברים למנהל מעליך, במיוחד שכמות מערכות ההפעלה שנתמכות היתה די קטנה וממש מיועדת לגיקים (Debian 6,7, CentOS 6.2), או שתסביר לו כמה זה מעולה שאתה יכול להרים מערכות Diskless, את זה שאתה יכול להרים 1200 מערכות מאפס תוך פחות מדקה, ושלל דברים מגניבים ששוב – מדברים לגיקים שבינינו אבל קשה לשכנע את ההנהלות לקחת את ה-IAAS ולהשתמש בו כמשאב עיקרי לחברה, כך שהמצב היה שגוגל התחילה להציע דברים, אבל מבחינת שוק – לא הרבה נכנסו אליו. אבל דברים מתחילים להשתנות אצל גוגל ועכשיו הם מתחילים לצאת לאור, ועבדכם הנאמן יגלה כאן כמה דברים שאותם תשמעו רשמית עוד שבועיים: גוגל אתמול הוציאה הודעה שעשתה כאב ראש רציני למתחרים: חיתוך מחירים סופר אגרסיבי באחסון און ליין, ספציפית ב-Google Drive. מעתה, 100 ג'יגהבייט יעלו לך בחודש רק $1.99. רוצה טרהבייט של מקום? בכיף, המחיר צונח מ-50 דולר ל-$9.99 לחודש. רוצה לאחסן את כל ספריית המוסיקה/קליפים/תמונות שלך וצריך 10 טרה? זה יעלה לך $99.99 לחודש, כלומר המחיר צנח בעשרות אחוזים כלפי מטה.  זה נחמד, אבל מה עם האחסון ב-IAAS? (מה שתואם ל-S3 של אמזון) – ובכן, גם הוא בעוד שבועיים יקבל הנחתת מחיר אגרסיבית.

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

  • צריך גרסאות Windows? כן, גם בגוגל שמעו שעסקים מעוניינים ב-Windows Server והם שכרו צוותים שלמים לתמיכה והקמת מערכות כך שתוכל להקים לך Windows Server 2012 כ-VM כולל כל השרותים והתמיכה שתצטרך.
  • ה-App engine יעבור שדרוג מאסיבי ומעתה תוכל להרים עליו שרותים כמו Joomla ועוד – כך שכל מה שתצטרך זה להקים Engine, לזרוק עליו Joomla עם העיצובים והתוספים שלך. לגבי כל עניין ה-Scaling לא תצטרך לדאוג כי המערכת של גוגל תדאג לזה (אה, ולא תצטרך לשבור את הראש על ההגדרות של Web Server או MySQL וכו' – הכל יהיה יותר קל)
  • אפליקציות נוספות יתמכו ללא שינוי קוד דרך ה-App Engine
  • הרצת כל גירסת Linux וכל Kernel שתרצה. (כן, כולל תמיכה ב-SELinux וגם הפצות מבוססות Rolling Release).
  • תמיכה מלאה ב-Docker (כך שתוכל להקים כמה קונטיינרים עם מערכות לינוקס אחרות על VM יחיד)
  • הבטחה להגנה נגד DDoS
  • ואת שאר הדברים תשמעו עוד שבועיים (אני לא מעוניין למתוח את החבל יותר מדי עם גוגל..)

עכשיו, נקודה קצת ישראלית: כמו שאתם יודעים, שככל שזה מגיע לתמיכה, אתה יכול לפנות במקרה של אמזון לפורומים (או לשלם פרימיום לתמיכה) או להתרגל לתמיכה הודית (שזה תרגול מעולה איך לדפוק את הראש בקיר), אבל בגוגל החליטו לשנות דברים: הם שוכרים אנשים (חלקם עשו עליה ארצה) שנמצאים פה בישראל שיעזרו לכם גם בהמרה של האתר שלכם ותמיכה טכנית בכל ה-Cloud Platform, וגם צוות מכירות כחול לבן, כך שאם יש לך שאלות, מישהו טכני או נציג רשמי נמצא במרחק טלפון/אימייל לקביעת פגישה פרונטאלית. יותר מזה – במסגרת תוכנית ה-Starter Pack של גוגל, חברות מקבלות קרדיט כספי לשימוש ב-Cloud Platform כך שבמקום שהסטארט-אפ ישרוף את כספו על מחשוב ענן באלפי דולרים לחודש, גוגל נותנת להם קרדיט להשתמש ובכך לחסוך את הכסף שכל כך קריטי לאותם סטארט-אפים. אגב, כשזה מגיע לבחינת ביצועים, קשה להשוות בין השלושה כי חסרים פרמטרים שלא כל כך גלויים לציבור, אבל ב-infoworld החליטו לבדוק בכל זאת, והתוצאות מראות תמונה די פשוטה: אם אתה מחפש ביצועים נטו, גוגל היא הכתובת עבורך (אחרי גוגל נמצאת במקום שני אמזון ומיקרוסופט במקום שלישי), כך שלגוגל יש במה להתגאות.

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

ולבסוף: אינטגרטורים שעוברים ל-Cloud Platform של גוגל: נא לעדכן מיידית את ה-gcutil. (כן, אני חובב את הפלטפורמה של גוגל, אבל אני גם יודע לפרסם פאקים שלהם).

הטריקים של אורקל עם OVS

מאז שאורקל רכשה את SUN, מנסה החברה למכור את השרתים שלה בכל דרך, ומכיוון שחברות מעוניינות מאוד בוירטואליזציה, אורקל מוכרים בחבילה פתרון וירטואלי, שנקרא Oracle VM Server או בקיצור OVS. היתרון לרוכש הוא בתמחור האגרסיבי של אורקל: קח פתרון ברזל, וירטואליזציה עולה לך אפס ורשיונות אורקל תקבל בהנחה – אם הם ירוצו על פתרון הוירטואליזציה שלהם.

נשמע משתלם, לא? 

לא בדיוק.

הבה נציץ מאחורי הקלעים: פתרון הוירטואליזציה שאורקל נותנים עם המערכת הוא פתרון שהיה נקרא בעבר Virtual Iron שהיה מבוסס על Xen. מאז שאורקל רכשו את החברה, הפיתוח הואט כנראה וכיום הוא אפילו לא משתווה למתחרה הישיר שלו – XenServer של Citrix. מה שאורקל שינו מאז במערכת הם שינויים קטנים ועדכונים (כך לדוגמא, אם אתה חושב להצמיד כרטיס PCI למכונה וירטואלית, תתכונן לכשלון, זה פועל בקושי. חושב על פתרון כמו Shared Memory בין מערכות וירטואליות שמריצות את אותה מערכת הפעלה? יש, אבל שלא תחשוב שזה כמו ESXI) אבל הם מתנדפים בהשוואה למערכות וירטואליות כמו ESXI או אפילו Hyper-V. אם אתם לא מכירים לינוקס טוב, תתכוננו להרבה תסכול, כי זה מה שה-GUI (ה-VM Manager) נותן: תצוגה מוזרה של דברים, נעילות של מכונות אם JOB נופל (לך חפש את ה-JOB ומהיכן לשחרר נעילה), ותשכח ממצב לראות סטטוס כללי של כל המכונות הוירטואליות שלך אם הם רצים, כמה זכרון הם משתמשים וכו'. רוצים סקירה קצת יותר עמוקה על המוצר? קחו, קראו בעצמכם.

לא מדובר פה באיזו "אשמה" של המערכת הוירטואלית עצמה (XEN) כלל וכלל! אם תיקחו לדוגמא את XenServer של Citrix, יש למוצר דווקא ממשק בכלל לא רע כי ל-Citrix יש הרבה יותר נסיון עם ממשקים, Windows וכו'. גם מבחינת תמחור קשה להתחרות במוצר של Citrix. אפשר להוריד אותו בחינם (קוד פתוח) ואפשר לקבל שרותי תמיכה בתשלום שנתי של $199 פר תושבת מעבד. 

פה בישראל, הבעיה חמורה בהרבה. הבעיה עצמה מתחילה בתמיכה, והח"מ, כאחד שעבד עם התמיכה של אורקל למוצר, אני יכול לתאר את אותה תמיכה כמתחת לכל ביקורת. תומכים שלא יודעים על מה הם סחים, אינטגרטורים של אורקל עצמה שמגיעים ולא יודעים מה הם מתקינים (או שמתקינים ושוכחים להתקין קבצי RPM שונים) או שלא יודעים להתקין דברים בצורה נכונה (ראיתי אישית מקרה של'קח להם יומיים לפתור תקלה של … invalid boot signature של GRUB. הם פירמטו את המכונה הפיזית, אני לא צוחק!). בשבוע האחרון ראיתי את ה"יעילות" של אורקל. עמית פתח באורקל תקלה על אחד מהשרתים הוירטואליים (שנתמך ע"י אורקל). לכלי איסוף לוגים של אורקל לקח כמעט 3 שעות עבודה ליצור קובץ שצריך לשלוח לתמיכה (אחרת הם לא עוזרים לך בכלים), אני החלטתי מנסיוני פשוט לפתור את העניין וסיימתי את התקלה (לאחר תיקונים והתקנות של חבילות חסרות שאורקל ישראל לא התקינו) לאחר דקות ספורות. אם לא הייתי נותן שרות ללקוח, הוא היה מושבת לפחות ליום!.

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

  1. ודא כי יש לך איש לינוקס מקצועי בחברה או פרילאנסר שנותן שרותים ושהוא מקצועי, עם המערכת OVS של אורקל, אתה בהחלט תצטרך את זה.
  2. אם החלטת ללכת על פתרון XEN, כדאי שתתקין על שרת טסטים את XenServer, הוא יותר מעודכן ויותר ידידותי לחובבי GUI (אם כי גם שם תצטרך איש לינוקס לכל האוטומציה, סקריפטים וכו').
  3. אל תאמין לכל מיני חומרים שיווקיים שמראים לך כי OVS יותר טוב מ-ESXI או Hyper-V. הייתי שמח לפרסם תוצאות ביצועים, אולם הרשיון של OVS אוסר זאת. 

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

מוגש כחומר למחשבה.

מחשוב ענן–איך אפשר לחסוך?

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

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

המחיר שאותן חברות מציגות נראה נמוך ולאלו שחדשים בתחום הוא נראה לעיתים מגוחך. אמזון מציעה מכונה עם 3.75 ג’יגהבייט זכרון ו-410 ג’יגה דיסק ב-13 סנט לשעה (או 23 סנט לשעה אם זה Windows). זה נשמע כלום, 3.12 דולר ליום, תקציב שתיה קלה למנכ”ל ליום כבר יותר גדול מזה.

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

כשזה מגיע ל- 1-2 מכונות קטנות ולתעבורה בינונית (נניח עד 1 טרה בחודש), החשבון החודשי יחסית נסבל. כמעט תמיד המספר בחשבונית מפתיע, אבל מתרגלים לזה, במיוחד אם משתמשים בשיטה של הוספת מכונות בעת עומסים.

אבל מה קורה אם ה-2-3 מכונות שלך הן מכונות גדולות? (אני מדבר על מכונות עם מעל 4 ג’יגה זכרון ומספר ליבות) – באמזון מכונה עם כמעט 16 ג’יגהבייט זכרון עולה לך כבר 374 דולר לחודש, בלי Storage משותף בין מכונות, בלי תעבורה, בלי כלום. תכפיל את זה ב-2-3 מכונות ואנחנו מסתכלים על מעל $1000 לחודש רק על מכונות וירטואליות, וזה כבר לא כל כך זול.

וכאן – ניתן כבר לחסוך. איך חוסכים? שילוב של ישן וחדש.

ספקים רבים כיום יכולים להציע להשכרה שרתים פיזיים במחירים שהם נמוכים ממה שספקי ענן מציעים עם שרתים וירטואליים. כך לדוגמא ניתן להשיג במחיר של $400 לערך שרת עם 16 ג’יגהבייט זכרון, בסביבות ה-600 להשיג עם 32 ג’יגה בייט זכרון, ובמחיר של 850$ בערך אתה יכול להשיג מכונה עם 64 ג’יגהבייט זכרון. כל מה שתצטרך לשים לב זה שהמעבד הוא חזק (סידרה E56XX או E5 של אינטל לדוגמא – הם מעבדים חזקים)

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

הבעיה עם שרת יחיד זה שהוא לא יכול לשרת מקומות רבים. אם הוא ישב בארה”ב, הגלישה אליו מאירופה, ישראל, רוסיה, מזרח תיכון – תהיה איטית אליו.

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

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

איזה שרות CDN? יש כל מיני. לגוגל יש פתרון, למיקרוסופט יש פתרון, לאמזון יש, ל-Rackspace יש וגם לאחרים יש פתרונות (כמו Cloud Flare, או Rackspace CDN ועוד).

לכל הפתרונות CDN יש מספר דברים משותפים:

  • אם הינך משתמש במערכת CMS (כמו וורדפרס, ג’ומלה, דרופל) – ישנם תוספים לאותן חברות שאתה יכול להתקין בקלות, להזין מספר פרטים ולהתחיל לקבל גולשים דרך מערכת CDN.
  • אין צורך שתיקח מהן שרת או שרתים. מערכת ה-CDN מתממשקת לשרת שלך שישב היכן שתבחר.
  • כל ספק CDN שמכבד את עצמו נותן לך סטטיסטיקות וגרפים כדי שתוכל לראות מי גלש, מהיכן וכו’ (אתה כמובן יכול להמשיך להשתמש בכלים משלך כמו Google Analytics וכו’)

חלק מספקי ה-CDN מספקים חבילות “יעד” (כלומר עד 3 טרהבייט תשלם X, מ-3 עד 6 תשלם Y וכו’) וחלק גובים פר ג’יגהבייט. תצטרך לעשות את החישובים שלך בהסתמך על נתונים קודמים שיש לך.

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

שימו לב: שיטה זו אינה מתאימה לכולם:

  • אם הינך משתמש ב-API להוספת שרתים דינמית, השיטה לא תעזור לך.
  • אם המערכת בנויה בצורה שהיא קשורה למחשוב ענן של ספק כלשהו (מבחינת פיזור עומסים, שימוש ב-Storage משותף חיצוני [כמו EBS]) – תצטרך להשקיע לא מעט כדי לצאת לספק אחר.

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

מה לבקש מבוני אתרים?

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

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

להלן ההמלצות:

  • לעבוד תמיד עם פלטפורמות ידועות ומוכרות ולא להתפתות לכל מיני פלטפורמות נישה שהיום הם כאן ומחר אף אחד לא יודע מה קורה איתן. הפלטפורמות המוכרות הן: WordPress, Joomla, Drupal. הפלטפורמות הנ”ל מפותחות ומתעדכנות תדיר, ובעיות אבטחה בהן נסגרות במהירות, והן מספיק גמישות לתת פתרונות מבוססי תוכן החל מאתר קטן ועד לבלוגים ענקיים (CNN לדוגמא משתמשים בוורדפרס לבלוגים שלהם).
  • להשתמש רק בגרסאות האחרונות היציבותשל הפלטפורמה. לא מעט בוני אתרים מנסים לחסוך זמן בכך שהם מעתיקים ממערכת אחרת שהם בנו, וכך הלקוח יקבל גירסה ישנה עם חורי אבטחה שינוצלו על ידי כל מיני ילדים ופורצים למיניהם. נכון להיום הגרסאות האחרונות של הפלטפורמות הנ”ל הן:
    • ב-Joomla נכון לכתיבת שורות אלו הגירסה היציבה האחרונה היא 2.5.7
    • ב-Wordpress נכון לכתיבת שורות אלו הגירסה היציבה האחרונה היא: 3.4.2
    • ב-Drupal נכון לכתיבת שורות אלו הגירסה היציבה האחרונה היא: 7.16
  • יש לציין בהסכם בין הלקוח לבוני האתר כי אסור שבוני האתר ישנה קוד בפלטפורמה. לצערי רבים מבוני האתרים מנסים “לחתוך פינות” ולשנות קוד בתוך הפלטפורמה. הבעיה? שדרוג גירסה (דבר שצריך לבצע לפחות אחת לחודש או חודשיים) יגרום לאתר לא לעבוד. בונה האתר, אם יש לו צורך בשינוי, צריך לכתוב או להשתמש במודולים חיצוניים ש”מתלבשים” על הפלטפורמה. אותו הדבר לגבי עיצובים – אם יש צורך בשינוי בעיצוב, השינוי צריך להיות בקוד העיצוב בלבד ולא בפלטפורמה.
  • בכל הנוגע לעיצובים, ההמלצה שלי היא לרכוש עיצוב מאתרים בחו”לולשלם לבונה האתר על תרגום/”גיור” העיצוב לעברית/ימין-שמאל. הסיבה לכך היא שלצערי לא מעט מבוני אתרים משתמשים בעיצובים שהם השיגו בעבר (בין בצורה חוקית ובין שלא) ובאותם עיצובים יש חורי אבטחה. כאשר רוכשים עיצוב מאתרים גדולים בחו”ל (בד”כ הסכום הוא בסביבות כמה עשרות דולרים), מקבלים חינם שנה של עדכונים לעיצוב, ובאתרים רבים, ניתן באותו מחיר לקבל מספר עיצובים, כך שאם אתם הלקוחות יש לכם מספר אתרים, תוכלו להוריד עיצוב שונה לכל אתר.
    • אם הזכרתי כבר עיצובים, כדאי לבחור עיצובים שתומכים בשפות נוספות (רבים מהעיצובים תומכים בכך, חלקם גם תומכים באתרים עם ימין-שמאל כמו עברית, ערבית, פרסית וכו’), כך שמתרגם העיצוב יצטרך לכתוב קובץ תרגום פשוט, וקובץ CSS למיצוב/עיצוב אלמנטים. במקרה ויהיה צורך בעדכון, ניתן יהיה לעדכן בקלות ויהיה צורך רק בהחלפת קובץ CSS לאחר העדכון.
  • בכל הקשור לחנויות, תוכנת OsCommerce כבר מזמן “מתה” (גירסה 2.3 לא עודכנה זמן רב וקיימות לה פריצות רבות, גירסה 3.0 נמצאת בפיתוח זמן רב והם לא ממליצים להכניס אותה לשימוש בחנויות פעילות או חדשות). יש פלטפורמה בשם Magnto בגירסה חופשית או מסחרית, אולם כיום ישנם תוספים רבים שיודעים להתלבש על הפלטפורמות שהזכרתי לעיל שנותנות פונקציונאליות זהה. לא מומלץ להשתמש בפתרונות קנייניים שבונה האתר כתב לדוגמא, הואיל ושימוש בפתרון כזה “כולא” אותך עם הפתרון הנ”ל ללא אפשרות לבחור פתרון אחר.
  • הסכם עדכונים: מומלץ לסגור בהסכם עם בונה האתרים כי אחת לחודש הוא יכנס לחשבונכם אצל הספק בו הינכם מאחסנים את האתר שלכם כדי לעדכן את כל מה שצריך עדכון: פלטפורמה, תוספים/מודולים,חבילת עיצוב. ללא הסכם כזה, אתם חשופים לפריצות שיתגלו בהמשך הדרך ולהפסד לקוחות והכנסות אם האתר יפרץ (שחזור של הספק אינו מהווה פתרון, ושום ספק אינו מקבל על עצמו לבצע עדכונים אלו ללקוח).
  • בחרו רק בונה אתרים שנותן להם באחריות אבטחה: ב-99% מהמקרים שאתר נפרץ, הבעיה אינה נמצאת בתשתית של הספק אלא ב-חורי אבטחה שהתגלו לאותה פלטפורמה שהאתר שלכם משתמש. לצערי לא מעט בוני אתרים מנסים להתחמק בכך שהם מאשימים את הספק וכל העולם, אך אינם בודקים את הקוד שלהם (או שהם אינם מבינים מספיק בקוד או באבטחת קוד). ראיתי מקרים בעבר שבונה אתרים המליץ ללקוחותיו להשתמש בכל מיני פתרונות CDN (טכנולוגיה שמפיצה את האתר שלך בשרתים אחרים בעולם הקרובים גיאוגרפית למשתמשים) כפתרון אבטחה, אולם פתרון זה ברוב המקרים כלל לא עוזר אם יש חורי אבטחה בקוד הפלטפורמה/מודולים/תוספים/עיצוב.

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

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

שרתי VPS, איזון עומסים, וישראל

אצלנו ב”חץ ביז” יש לא מעט לקוחות שיש להם מספר שרתים וירטואליים (מדוע לכל הרוחות חברות קוראות לזה “שרתים וירטואלים” עם י’ אחת? עברית?) עם Load Balancing (אני אקרא לזה LB במהלך הפוסט הנוכחי) וזהו אחד התחומים ששם נמצאת ההתמחות שלנו, ומתוקף זה חשבתי לשתף אתכם הקוראים בעניין שלא תמיד מקבל פתרון ראוי.

אם כיום לקוח יגיע לאינטגרטור רציני ויאמר לו “יש לי אתר גדול, ואני צריך 10 שרתים (בין אם זה פיזיים או וירטואליים – לא רלוונטי לשם הדוגמא) כשחלק יהיו DB, חלק שרתי ווב, חלק שרתי אפליקציה” – אז במרבית המקרים אותו אינטגרטור לכשיקבל את החוזה, ילך לאמזון או לאחת המתחרות שלהם בחו”ל, יקים שרתים (אולי ישתמש בשרות הקמת שרתים נוספים אוטומטית), ישתמש בשרותי Load Balancing ובקיצור – הוא ישתמש ב-API של אותו ספק כדי לבנות פתרון ללקוח.

עד פה הכל טוב ויפה.

אבל מה קורה שהלקוח רוצה פתרון פה מקומית בישראל? יש לכך סיבות:

  • הלקוח מעוניין ב-Latency הכי נמוך שאפשר
  • עקב סיבות משפטיות ובעצת עורכי דינו – הוא רוצה את זה פה בישראל
  • ללקוח “נכנס ג’וק לראש” והוא מתעקש מסיבותיו שלו שהפתרון יהיה כאן בארץ.

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

אם תפנו לספקים שונים בארץ ותציינו כי אתם רוצים X שרתי VPS ו-LB (אני לא מדבר על שרותים יותר מתקדמים כמו HA וכו’) אתם תקבלו הצעת מחיר לא קטנה. כמה לא קטנה? חבר אינטגרטור ביקש עבור לקוח שלו הצעה מספקים שונים. כמה שהוא התווכח עם הספקים השונים (כולל הגדולים), המחיר לא ירד מתחת ל-5000 שקל + מע”מ לחודש על: LB, ו-4 שרתים עם 2 ליבות ו-4 ג’יגה זכרון, דיסקים של 200 ג’יגה ו-100 ג’יגה לאחד מהם.

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

אז מה? האם באמת לפתרון הכולל LB ומפרט כפי שציינתי צריך לשלם 5000+מע”מ לחודש בארץ? כן, אם הלקוח רוצה לשכור 2 מכשירים של F5 מהדגמים המתקדמים + תשלום מופרז על שרתי VPS, אבל אפשר גם אחרת ואפשר לחסוך המון עם מספר נקודות פשוטות:

  • קודם כל, צריך לבדוק על מה הלקוח צריך LB בכלל. האם הוא צריך את זה על שרתי ווב כמו Apache? אם כן, יש מספר פתרונות מבוססי קוד פתוח, טריקים כמו Round Robin ועוד שיטות אחרות כדי לחלק את העומס בין שרתי הווב. חלק מהשיטות מצריכות שרת VPS שיקבל את הבקשות ויפנה, ובחלק מהשיטות אין צורך בכך.
  • שרותי SQL (בין אם זה מבוסס קוד פתוח או סגור) – כאן צריך לבדוק לעומק באיזו שיטה לעבוד. לדוגמא: MySQL מאפשר רפליקציה בשיטת Master/Slave, אך לא כל אפליקציה יודעת לעבוד מול Slave. אם לדוגמא הלקוח רוצה לעבוד עם אפליקציית וורדפרס כאפליקציה וובית ראשית, תהיה בעיה לחבר את הוורדפרס ל-Slave. במקרה של וורדפרס לדוגמא, ניתן להשתמש בתוסף כמו HyperDB.
  • שימוש בפתרונות “זוללי זכרון” כמו memcachd או Varnish – אלו פתרונות שאמנם מצריכות שרתי VPS עם יותר זכרון, אולם מצד שני הם יכולים להתמודד עם כמות גולשים יותר גדולה ובכך לחסוך בעצם כמות שרתים שצריך לשכור.

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

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

תבדקו כתובות IP

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

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

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

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

זו נקודה שרבים מאלו ששוכרים שרתים (בין אם שרתי VPS או שרתים יעודיים) לא בודקים.

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

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

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

לכן – בדקו כתובות לפני שאתם מכניסים שרת חיצוני לפרודקשן. תחסכו לעצמכם את האי נעימות מהתלונות של לקוחות שלכם מדוע הם לא מצליחים להוציא אימיילים החוצה.