Cutter Advisor- Java vs. .NET revisited

My article on this major issue was published as Cutter Email Advisor.

This article is general. I will put this shortly in Hebrew with more insight about the Israeli market where .Net is much more dominant.

Five to seven years ago, Java versus .Net was a hot topic. At that time, many organizations were at this important crossroad. Now, they have all made up their minds. But some are reconsidering their previous decision.

Putting it very briefly, .Net currently is more common in smaller, front-end projects, where integration with the desktop is essential, while Java is more common in larger, back-end projects, where legacy platforms run the core business applications and where integration with legacy systems is crucial.

While revisiting this issue, I have made the following interesting observations:

1. It is possible for Java programmers to convert to .Net. However, the reverse -- .Net (mainly C#) programmers that convert to Java -- is not trivial or is even impossible economically for many programmers.
2. Many clients consider Java as a more difficult language and is associated with less productivity than .Net. While our research was not able to prove this, it does appear that Java has more options than .Net. Performing specific tasks or requirements in .Net in many cases is more obvious or straightforward than in Java, where there are many ways and many options to perform the same task. This means that Java organizations have to invest more in standards, guidance, architecture, and software infrastructure. Also, the technical management in these organizations requires more experience and should have more control.
3. A well-known pain point of .Net, and Microsoft solutions in general, is backward compatibility. When upgrading to a new version or technology, there are a lot of rewrites. The Java environment is more mature in this respect, although backward compatibility is always an issue and the acquisitions policies of leaders in the Java ecosystem, such as Oracle and IBM, do not contribute to backward compatibility either.

Conclusion

It is very interesting to return to a specific dilemma and to see how things have evolved over the years. No technology is here to stay forever, though legacy technologies such as Cobol have remained much longer than anyone anticipated.

The latest trend to shake the IT world is cloud computing. While considering Java versus .Net for cloud applications, Java has several advantages. Cloud entrepreneurs try to build their applications on open source that offers much freedom and less expense. However, it appears that many cloud applications are not built on Java but with other languages, such as PHP, Python, and Perl, or even such proprietary languages as Apex from Salesforce. Microsoft also exists in cloud environment with its "S plus S" (software plus services) initiative and Azure Platform.

On the other hand, Oracle's purchase of Sun Microsystems will influence the future of Java. Sun has kept Java part of the open source community. Oracle has less commitment to open source, and it remains to be seen how this will influence Java and its adoption

בשלות VMWARE

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

אין רגע דל! בצעד דרמטי רכשה חברת DELL את חברת PEROT במקום אורקל!

פוסט זה נכתב על ידי ועל ידי גלית פיין- סמנכל"ית ואנליסטית בכירה ב- STKI.


חברת DELL צמחה מתחום המחשבים האישיים והשרתים כאשר מה שאפיין אותה היה מכירות ישירות ללקוחות הסופיים (פחות עבודה עם שותפים). בשנים האחרונות כאשר IBM ו- HP חיקו במידה מסויימת את המודל העסקי של DELL ובמקביל הירידה במחירי הציוד והגברת התחרות (מי היה מאמין שמחשב נייד בסיסי – netbook ימכר ב- 200$!) הביאו את DELL לירידה ברווחיות. ניסיונות של DELL לרכוש חברות טכנולוגיות נוספות כמו EqualLogic – הוכתרו בהצלחה אך לא מספיק דרמטית כך שהמצב ישתנה מהותית.
חברת PEROT הנה אינטגרטור וספק מיקור חוץ גדול בעולם עם דמיון מסויים ל- EDS שנרכשה לא מזמן על ידי HP. נכון להיום, PEROT אינה פעילה ישירות בישראל.
רכישת PEROT על ידי DELL מוכיחה שמכירת חומרה בלבד הנה בעייתית, ולא רווחית דיה לעומת תחומי פעילות כמו אינטגרציה, מיקור חוץ ושירותים. IBM הבינה זאת לפני כעשור כאשר השקיעה בצורה מאסיבית במותג IGS – IBM Global Services. תחום זה מהווה אחד העוגנים של IBM. בדומה, HP רכשה לפני כשנה את EDS - אחד השחקנים החזקים בעולם בתחום השרותים.
חשוב לציין, כי תחום מיקור החוץ נחלש בתקופה האחרונה בישראל. אין אנו רואים כמעט כלל עסקאות גדולות ורב שנתיות חדשות, יותר מזה מספר ארגונים הנמצאים כיום תחת חוזה של מיקור חוץ מחפשים לצמצם את תכולת העבודה החיצונית ואף להחזירה הביתה, דוגמת הבנק הבינ"ל. זה קורה, מכיוון שבראייה לאחור, מיקור חוץ בישראל לא הצליח להכניס שינוי מהותי ללקוחות.
שינוי זה לא קרה כיוון שהעבודה המשיכה להיעשות על ידי אותם העובדים שבין לילה נהפכו לעובדי חברה המספקת שירותי מיקור החוץ. תשומת הלב של הלקוחות הלכה לבירורי סעיפים קטנטנים בחוזה במקום לצמיחה טכנולוגית. גם אם נעשה שיפור קל עקב הכנסת מדדים או SLA, לא ננקטו צעדים דרמטיים, כגון חדשנות טכנולוגית או הכנסת מתודולוגיות הבינלאומיות.
שוק מיקור החוץ רווי שחקנים וותיקים, כגון: HP-EDS, Ness, Malam-Team, IBM, TCS, קשה לראות בו מקום לשחקן בינ"ל חדש. ייתכן ואחד מספקי מיקור החוץ הקיימים, ישמש כנציג של Perot בישראל.
תסריט נוסף – חברת Perot תצליח להכניס לתחום מיקור החוץ בישראל רוח חדשה. מתודולוגיות, אשר הביאו הצלחה בשוק העולמי, יעשו מהפכה בשוק המקומי ויציבו רף חדש בתחום.
תחום רווחי נוסף הוא תחום התוכנה, כאשר חברות תוכנה מצליחות לרכוש חברות חומרה – דוגמה בולטת היא אורקל אשר רכשה את SUN. גם EMC רכשה את Documentum ו- VMWARE בגלל הרווחיות הבעייתית של חומרה. תחום התוכנה נחשב לתחום הרווחי ביותר אולם גם הוא סובל היום מאיום וזאת מכיוון הקוד הפתוח.
תחום רווחי נוסף הנו תחום ה- appliances . מדובר בחיבור יעודי (bundle) בין חומרה לתוכנה. ל- IBM מוצרים בתחום זה (לדוגמה DataPower) וכעת גם אורקל נכנסה לתחום זה עם הפתרון היעוד Exadata.
דבר נוסף לגבי אורקל. אורקל שנכנסת לתחום החומרה ולכן גם היא תצטרך לרכוש חברות בתחום האינטגרציה. כלומר לולא הרכישה הנוכחית של DELL הייתה PEROT על הכוונת של ORACLE. (כפי שציינתי בבלוג בעבר – CSC או אחרות ).
לחילופין אם אורקל תמכור חלקים מעסקי החומרה של SUN (דבר שנכון לעכשיו פחות נראה ודאי), הרי ש- DELL תהיה קנדידטית טובה לביצוע רכש כזה.


אורקל מפסיקה את שיתוף הפעולה עם HP ומכריזה על דור חדש מוצרי Exadata

בהודעה דרמטית יצאה חברת אורקל בהכרזה שהיא מפסיקה את שיתוף הפעולה שלה עם חברת HP בייצור פתרון ה- Exadata.
ה- Exadata הוא שילוב של חומרה ותוכנה היוצרים מסד נתונים בעל יכולות גידול וביצועים מרשימים. בעולם מערכות המידע ישנה התפוצצות של נתונים כאשר אחד המקומות בהם לקוחות מדווחים על בעיות בביצועים ובתפעול הוא בתחום מסדי הנתונים וספציפית בפרויקטי מחסני נתונים (data warehouse). לפני כשנה יצאה חברת אורקל עם מוצר חדש בשם Exadata אשר מספק ללקוח פתרון מקונפג מראש של RAC- Real Application Cluster עם חומרה יעודית של חברת HP כאשר החיבור בין השרתים (interconnect) התבצע באמצעות פרוטוקול ה- Infiniband . השוק העקרי של המוצר היה מחסני הנתונים ובמיוחד תחרות לפתרונות של Netazza ו- Teradata.
כעת, לאחר רכישת SUN שהנה מתחרה גדולה של HP, זונחת אורקל את הפתרון הישן ומציעה פתרון חדש המבוסס על חומרה וטכנולוגיה של חברת SUN. הפתרון חדשני גם במובן שישנו שימוש בטכנולוגית SSD (דיסקים-זיכרון המבוססים על FLASH) בסביבת האחסון המשפרת ביצועים בצורה משמעותית. אורקל מטמיעה כחלק אינטגרלי מהפתרון גם יכולות מהותיות של דחיסת נתונים. בנוסף לכך בניגוד ל- Exadxata דור 1 שהיה מיועד יותר לסביבת מחסני נתונים הדור השני קונפג גם לסביבה של עבודה טרנזאקציונית כלומר OLTP.
לצעד מהותי זה מספר השלכות חשובת.
לגבי עסקת אורקל SUN היו תהיות (גם שלי) לגבי המשך האחזקה בחטיבת החומרה של SUN במיוחד אגפי האחסון והשרתים הסטנדרטיים. הייתה האפשרות שאורקל תמכור את כל חטיבת החומרה או שאורקל תישאר עם אגף השרתים הקריטיים מבוססי Sparc –Solaris אך תמכור את אגפי החומרה הסטנדרטית מבוססת Intel\AMD וכן את האחסון. ההכרזה לגבי Exadata דור שני מחזקת את הסבירות שאורקל תישאר גם בתחום החומרה הסטנדרטית והאחסון דבר שיגביר את התחרות בפני HP, IBM , DELL ואף EMC ו- NETAPP גם בטווח הקצר ועוד יותר בטווח הארוך לאחר שאורקל תבנה ותשפר את מערך המכירות השיווק וההפצה של SUN.
צעד זה מהווה המשך למגמה של שימוש בטכנולוגיות סטנדרטיות. אורקל יכלה לבנות את המוצר החדש שאמור לטפל בנפחי נתונים אדירים ולתת ביצועים מהירים על בסיס שרתי העל של SUN המבוססים על פלטפורמת ה- SPARC אך בחרה לבנותו על גבי המעבדים הסטנדרטים החדשים של INTEL מסדרת "נחלים" שגם הם נמכרים בשרתי SUN.
העובדה שיש כאן חיבור של טכנולוגיות מתחומים שונים גם היא מהווה המשך מגמה. הפתרונות החדשים של CISCO ממשפחת ה- UCS מאחדים בין תחומים שהיו עד כה נפרדים – תקשורת, אחסון ושרתים. כאשר ביסודו מיועדת המשפחה כתשתית לבניית מחשוב ענן (הן פנימי והן חיצוני). HP עם יוזמת ה- Blade System Matrix ו- IBM עם יוזמת ה- Cloud Burst פונות אף הן לתחום זה. כלומר מדובר כאן על שבירה של גבולות טכנולוגיים וארגוניים בעולם מערכות המידע. אנו צופים שספקים נוספים יציאו פתרונות מקונפגים מראש הן בחיבור חומרה תוכנה כפי שעושה אורקל כעת והן בחיבור של תוכנה ומערכת הפעלה לפי הקונספט של Virtual Software Appliance החדשני.
HP ספגה מכה מסויימת- פחות כלכלית ישירה - אך יותר שיווקית במובן של הפסק שיתוף פעולה אסטרטגי. אחד הצעדים ש- HP תוכל לעשות הוא במידית להגביר את שיתוף הפעולה עם מיקרוסופט שמתחרה במספר מימדים במסד הנתונים של אורקל ובטווח הארוך יותר לסייע בפיתוח והטמעה של מסד הנתונים ממשפחת הקוד הפתוח PostgreSQL שנמצא בשימוש אצל שחקנים הפעילים בתחום ה- Web2 וה- Cloud.
בישראל לא נמכרה למיטב ידיעתי מכונות מהדור הישן של Exadata אולם ישנה דרישה גדולה בשוק למסדי נתונים גדולים, הנותנים ביצועים טובים וקלים לתפעול ולניהול. לקוחות מאוד זהירים כאשר נכנסים לטכנולוגיה חדשה אולם במקרה זה עם הגב החזק של אורקל תהיה הטמעה מהירה יחסית של הטכנולוגיה.


פיתוח עם ראייה תשתיתית

ארגונים רבים משקיעים משאבים רבים לצורך פיתוח מערכות טוב יותר. עיקר המאמץ מושקע בהתאמת המערכת לצרכים העסקיים של המערכת תוך עמידה בלוחות זמנים ובתקציב הפרוייקט. לפיתוח הפרוייקט ישנם גם מטרות נוספות- בניה שמאפשרת תחזוקה קלה, ואבטחת המידע מוגברת.
עם זאת ישנם פרויקטים רבים, הן ברמה של פרויקטים שמבוצעים והן ברמה של כתיבת המכרז או דרישות הפרוייקט שאינם כוללים התייחסות למאפיינים תשתיתיים.
לדוגמה, לעיתים נדירות רואים מפתחים שכותבים מערכת שתרוץ מיטבית ספציפית בסביבת terminal services (כמו CITRIX או WTS) או סביבת thin clients. לעיתים נדירות רואים מפתחים שכותבים מערכת שתרוץ בצורה טובה בסביבה של CLUSTER , בסביבת שבה אין תקשורת מספיק טובה ועוד ועוד. ואז במקרים רבים מסתבר שמערכת שבה הושקע רבות אינה מתאימה לסביבת הריצה הספציפית כאשר הדבר מתגלה או במהלך בדיקות העומסים או בדיקות הקבלה ולעיתים רק כאשר המערכת מוטמעת ותיקון הדבר עולה הון.
יש לציין שרק בתחום מסדי הנתונים מקובל כבר להשקיע בזמן הפיתוח ולכן רואים בארגונים רבים DBA אפליקטיבי אשר מסייע למפתחים גם לבנות את מסד הנתונים וגם לכתוב stored procedures בצורה טובה.

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

שיקולי SAAS

לקוחות בעולם מאמצים בצורה מהירה פתרונות SAAS בתחומי נישה שונים. הדבר נכון גם בישראל אך בצורה איטית יותר מבעולם. בישראל בעיקר רואים חברות מתחום ה- Hightech שהנן גם חברות גלובליות שמאמצות SAAS. ליישום פרויקט SAAS יתרונות רבים לעומת יישום רגיל. כל השלב של הכנת התשתיות – שרתים, אחסון, רכש רישיונות, בניית מדיניות גיבוי ועוד ועוד – נחסך. ולכן בעקרון לקוחות מקבלים delivery מהיר יותר מפרויקטים סטנדרטיים. פרוייקט SAAS גם מחייב את הארגון לעמוד בסטנדרטים מסויימים. לדוגמה החובה לבצע שדרוג בתאריך מסויים - אפילו אם לא נוח ללקוח.

עם זאת כניסה לפרויקט SAAS מחייבת כניסה של לסוג שיקולים שארגוני IT אינם מורגלים בהם בהתנהלות רגילה.
לדוגמה, כאשר נכנסים לפרויקט SAAS חשוב מאוד לדאוג לתנאים של termination – מה קורה כאשר רוצים לסיים את ההתקשרות עם ספק ה- SAAS. כיצד מקבלים את הנתונים, באיזה תדירות ועדכניות וכד'. בדומה לחוזה outsourcing השקעה בתחום זה יכולה להוות ל"גלגל הצלה" במידה וישנם חילוקי דעות בעיקר כלכליים עם ספק ה- SAAS. כנ"ל לגבי קנסות במקרים שספק ה- SAAS אינו עומד ב- SLA שנקבע.
נקודה נוספת היא מצב בו בגלל סיבה כזו או אחרת ישנו איחור בתשלום לספק ה- SAAS. יש לוודא שלא שמתבצעת חסימה מיידית של השירות.
במקביל, לפני חתימה של עסקת SAAS רצוי לבדוק כיצד יצרן ה-SAAS מאבטחת את הנתונים ודואג לגיבוי הנתונים ולהמשכיות עסקית. ברור שלא כל ספקי ה- SAAS ישארו במתכונתם עד עולם...

כלומר, כניסה לפרויקטי SAAS מחייבים הכללה של שיקולים חדשים שאינם חלק מתהליך העבודה בפרויקטים סטנדרטיים שהנם on premises.