ב-2006, Amazon כבר היה microservices. ב-2012, Netflix היה microservices. ב-2015, כל startup שלא היה microservices הרגיש שהוא עושה משהו לא נכון. ב-2020, Segment - חברה בשווי מיליארד דולר - חזרה ממicroservices ל-monolith אחד. ב-2023, Stack Overflow, עם 100 מיליון unique visitors בחודש, רץ על 4 web servers עם monolith ביד שמנה. פריימוס.
האמת? Microservices הם לא גביע הקדוש. הם פתרון לבעיות מסוימות, עם עלות מסוימת. Monolith הוא לא legacy - הוא לעתים קרובות הבחירה הנכונה.
Amazon עצמו מצא שמעבר ל-microservices דרש שינוי ארגוני עמוק - לא רק טכני. Jeff Bezos ב-2002 כתב את ה-"Services Mandate": "All teams will henceforth expose their data and functionality through service interfaces... Anyone who doesn't do this will be fired." זה לא היה technical decision - זה היה organizational decision שנועד לאפשר ל-1,000 engineers לעבוד בנפרד. לצוות של 5, ה-mandate הזה לא רלוונטי.
מה שרוב blog posts על microservices לא מציינים: Amazon ב-2002 כבר הייתה חברה עם מאות engineers שסבלו מתוצאות coupling - שינוי ב-payments codebase שבר orders codebase כי הם חלקו ספרייה. Bezos ראה את זה ולא רק ביקש api separation - הוא ביקש team separation. כל service הוא team שאחראי על כל lifecycle שלו. זה המהפכה האמיתית: לא technical architecture, אלא organizational architecture.
לDHH (creator of Ruby on Rails ו-CTO של Basecamp) יש view הפוך: הוא כינה microservices "distributed monolith" וטוען שרוב חברות שעברו לmicroservices סבלו מהחלפת בעיות technology coupling בבעיות network latency ו-distributed systems complexity. Basecamp מגישה מיליוני requests ביום כmonolith Ruby on Rails. זה "niche" perspective - אבל זה perspective של מי שבנה מוצר מוצלח ב-25 שנה בלי microservices.