官术网_书友最值得收藏!

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.
主站蜘蛛池模板: 达日县| 乐清市| 调兵山市| 泰宁县| 大港区| 浠水县| 广汉市| 汪清县| 青川县| 伽师县| 鄂托克旗| 定远县| 蓬安县| 滁州市| 儋州市| 翼城县| 乐清市| 潞西市| 昔阳县| 辛集市| 柏乡县| 农安县| 博客| 田东县| 夹江县| 修水县| 梨树县| 玛纳斯县| 东乌| 玛沁县| 萍乡市| 龙岩市| 彝良县| 遂川县| 赤峰市| 桑植县| 旌德县| 米泉市| 泗阳县| 威信县| 河东区|