אחת ההחלטות הראשונות והחשובות ביותר שעל היזם לקחת בסטרטאפ המפתח Web Application היא: באיזו טכנולוגיה לפתח את השירות. שלוש האפשרויות הנפוצות כיום הן Net, PHP. ו- Java. חשוב לי לציין שאני כותב פוסט זה מנקודת מבטו של היזם הלא טכנולוגי, ולכן לא אצלול לפרטי הפרטים. אם יתעורר עניין, נשמח להביא מישהו אשר יכתוב על תהליך קבלת ההחלטות תוך כדי ניתוח היתרונות והחסרונות של כל טכנולוגיה מנקודת מבטו של האיש הטכני.
כאשר באים לבחור את הטכנולוגיה אשר תוביל אתכם אל עבר הגשמת החלום יש לקחת בחשבון את הנקודות הבאות:
עלות:
נושא העלות הוא בעל חשיבות עליונה והוא בא לידי ביטוי לכל אורך חיי הפיתוח והמוצר. ישנה עלות חומרה ויש עלות תוכנה, עלות פיתוח ועלות התחזוקה. התוכנה היא הנקודה המרכזית והשימוש ב-PHP וב-Java הוא חופשי בעוד השימוש ב- Net. כרוך בתשלום עבור הרשיונות לכלי הפיתוח, השרתים המקומיים ושרתי האירוח המחייבים את מערכת ההפעלה Windows. בקיצור, מדובר בהתחייבות להשקעה קבועה ב-Microsoft. בעוד PHP ו-Java אינם מחוייבים ל-Microsoft הם עדיין יכולים לעבוד על מערכת ההפעלה Windows - המקרה הקלאסי של כל העולם נגד Microsoft.
עלות נוספת היא עלות כח האדם. בעוד בארה"ב קיים היצע גבוה של מפתחי Java ו-PHP ועלותם נמוכה מעלות מפתחי ה-Net., בארץ יש בהם מחסור, אך למרות זאת עלותם של כל סוגי המפתחים זהה.
ביצועים ואבטחה:
בדרך כלל, רמת הביצועים והאבטחה הם פועל יוצא של מיומנות המפתחים. ובכל זאת, כאשר מדובר ב- "n-tier architectures" (ואני לא הולך להסביר מה זה עכשיו) מומחי התעשייה ממליצים על Java. אך שוב, מפתחים מיומנים יכולים לפתח אפליקציות מסוג זה גם בעזרת Net. ו-PHP.
בעיות אבטחה יכולות לצוץ בכל טכנולוגיה וגם פה באה לידי ביטוי מיומנותו של המפתח. ובכל זאת, ההנחה הרווחת היא שכל שירות המבוסס על Windows פחות בטוח.
את המשתמשים לא מעניינת הטכנולוגיה בה פיתחתם את השירות אלא אך ורק הצורה בה הוא מוגש ושהוא יהיה זמין, לכן לביצועים יש חשיבות גבוהה. ביצועי הטכנולוגיה עצמה הם רק אחת מהנקודות החשובות, לרמת הביצועים בה הטכנולוגיה מתקשרת עם טכנולוגיות אחרות כמו מאגרי נתונים ומערכת הקבצים יש חשיבות לא פחותה.
כח אדם:
לכח האדם יש שני פקטורים חשובים, עלות וזמינות. כמו שציינתי לפני כן, עלות העסקתם של כל סוגי המפתחים היא פלוס מינוס זהה אך הזמינות של מפתחי ה-PHP כמעט ולא קיימת בישראל. יש מעט מאוד חברות בארץ המפתחות ב-PHP וגם הן נעזרות לא מעט בשירותי Outsource בהודו או במקומות אחרים. אני חושב שזו הנקודה החשובה ביותר - לא שזה תהליך קל ומהיר לגייס מפתח Net., אך הסיכוי לגייס אחד שכזה הוא גבוה בהרבה מהסיכוי לגייס ממפתח PHP. לפי דעתי עלות טכנולוגיית ה-Net. היכולה להגיע לסכומים של כמה אלפי דולרים בשנה בטלה בשישים אל מול האפשרות להשאר ללא מפתחים זמינים - אך שוב, זו רק דעתי. אני אשמח לשמוע דעות של יזמים אחרים אשר התחבטו עם אותה הדילמה.
מה האחרים עושים:
תמיד חשוב לראות ולבחון מה נהוג אצל החברות האחרות. רוב החברות בישראל אותן אני מכיר בחרו באופציית ה-Net. אך יש לא מעט גם שמפתחות ב-PHP כמו MetaCafe ו-MyHeritage.com. כמובן שאי אפשר מבלי להזכיר את Zend, החברה הישראלית אשר עומדת מאחורי שפת ה-PHP.
ובמה משתמשים השירותים הגדולים בחו"ל ?
PHP - Flickr, Yahoo, Facebook
Net - MySpace.
Python - YouTube
בתרשים משמאל (מעודכן לאוגוסט 2006) אפשר לראות של-PHP יש נתח שוק של 34.26% מסך האתרים באינטרנט בעוד ל- Net. יש 21.4%.
כמובן שמעבר לטכנולוגיה הנבחרת יש עוד הרבה החלטות שיש לקחת בנושא ארכיטקטורת המערכת. לא מעט חברות פתחו, חלקו והציגו בשנתיים האחרונות את הארכיטקטורה עליה מבוססים השירותים שלהם. הצלחתי לרכז כאן מספר לא מבוטל של פרזנטציות, ראיונות וסרטים של החברות המובילות היום בשוק. רוב החומרים הם טכניים והמבינים מבינינו יעשו מזה מטעמים, אך גם המאותגרים טכנולוגית מבינינו יכולים להפיק מזה לא מעט - כמו למשל במקרה של פיתוח תוך כדי הצבת יעדים בכמות המשתמשים על ידי MySpace.
- שתי מצגות המתארות את הארכיטקטורה של Flickr ואת אופן השימוש ב-PHP: מצגת 1, מצגת 2
- וידאו בו מתאר Cuong Do Cuong שהיה חלק בצוות התכנון המקורי של YouTube, את הדרך מהשלבים הראשונים עד כמות המשתמשים היום: וידאו
- מאמר המתאר את כל תהליך הפיתוח והתיכנון של MySpace: מאמר
- סדרת כתבות וראיונות מ-oreilly על הדרך בה משתמשים השירותים המובילים במאגרי הנתונים: Second Life, Flickr, Craigslist, Findory and Amazon, Bloglines and Memeorandum







