- Spring 5.0 Microservices(Second Edition)
- Rajesh R V
- 726字
- 2021-07-02 19:45:00
Microservices early adopters - Is there a common theme?
Many organizations had already successfully embarked on their journey to the microservices world. In this section, we will examine some of the front runners on the microservices space to analyze why they did what they did, and how they did it? The following is a curated list of organizations adopted microservices, based on the information available on the internet:
- Netflix (www.netflix.com): Netflix, an international, on-demand, media streaming company, is a pioneer in the microservices space. Netflix transformed their large pool of developers developing traditional monolithic code to smaller development teams producing microservices. These microservices work together to stream digital media to millions of Netflix customers. At Netflix, engineers started with monolithic architecture, went through the pain, and then broke the application into smaller units that are loosely coupled and aligned to business capability.
- Uber (www.uber.com): Uber, an international transportation network company, was started in 2008 with a monolithic architecture with single codebase. All services were embedded into the monolithic application. When Uber expanded their business from one city to multiple cities, challenges started. Uber then moved to SOA-based architecture by breaking the system into smaller independent units. Each module was given to different teams, empowered to choose their language, framework, and database. Uber has many microservices deployed in their ecosystem using RPC and REST.
- Airbnb (www.airbnb.com): Airbnb, a world leader providing trusted marketplace for accommodations, started with a monolithic application that performed all required functions of the business. It faced scalability issues with increased traffic. A single codebase became too complicated to manage, resulting in poor separation of concerns, and running into performance issues. Airbnb broke their monolithic application into smaller pieces, with separate codebases, running on separate machines, with separate deployment cycles. Airbnb has developed their own microservices or SOA ecosystem around these services.
- Orbitz (www.orbitz.com): Orbitz, an online travel portal, started with a monolithic architecture in the 2000s with a web layer, a business layer, and a database layer. As Orbitz expanded their business, they faced manageability and scalability issues with the monolithic-tiered architecture. Orbitz had then gone through continuous architecture changes. Later, Orbitz broke down their monolithic application in to many smaller applications.
- eBay (www.ebay.com): eBay, one of the largest online retailers, started in the late 90s with a monolithic Perl application with FreeBSD as its database. eBay went through scaling issues as the business grew. It was consistently invested on improving architecture. In the mid 2000s, eBay moved to smaller decomposed systems based on Java and web services. They employed database partitions and functional segregation to meet the required scalability.
- Amazon (www.amazon.com): Amazon, one of the largest online retailer's website in 2001 was running on a big monolith application written on C++. The well-architected monolithic application was based on tiered architecture with many modular components. However, all these components were tightly coupled. As a result, Amazon was not able to speed up their development cycle by splitting teams into smaller groups. Amazon then separated out code as independent functional services wrapped with web services, and eventually advanced to microservices.
- Gilt (www.gilt.com): Gilt, an online shopping website, started in 2007 with a tiered monolithic Rails application with Postgres database at the back. Just like many other applications, as traffic volumes increased, this web application was not able to provide the required resiliency. Gilt went through an architecture overhaul by introducing Java and polyglot persistence. Later, Gilts moved to many smaller applications using microservices concept.
- Twitter (www.twitter.com): Twitter, one of the largest social websites, started with a three-tiered monolithic rails application in the mid 2000s. Later, when Twitter experienced growth in the user base, it went through an architecture refactoring cycle. With that refactoring, Twitter moved away from a typical web application to an API-based event-driven core. Twitter is using Scala and Java to develop microservices with polyglot persistence.
- Nike (www.nike.com): Nike, the world leader in apparels and footwear, transformed their monolithic applications to microservices. Like many other organizations, Nike was running with age old legacy applications that are hardly stable. In their journey, Nike moved to heavyweight commercial products with an objective to stabilize legacy applications, but ended up in monolithic applications that are expensive to scale, have long release cycles, and require too much manual work to deploy and manage applications. Later, Nike moved to microservices-based architecture, which brought down the development cycle considerably.
推薦閱讀
- 程序員面試白皮書
- 騰訊iOS測(cè)試實(shí)踐
- C#編程入門指南(上下冊(cè))
- Mastering Unity Shaders and Effects
- Backbone.js Blueprints
- Building Minecraft Server Modifications
- VMware虛擬化技術(shù)
- Keras深度學(xué)習(xí)實(shí)戰(zhàn)
- Internet of Things with ESP8266
- Everyday Data Structures
- 創(chuàng)意UI Photoshop玩轉(zhuǎn)移動(dòng)UI設(shè)計(jì)
- OpenCV 3.0 Computer Vision with Java
- 超好玩的Scratch 3.5少兒編程
- Distributed Computing with Python
- Flutter從0基礎(chǔ)到App上線