Global companies, like Amazon, Coca Cola or Zalando are transforming their IT infrastructures into a microservice architecture. In addition to this, they are rebuilding their internal organizational structures and pushing their businesses ahead of the competition. We take a closer look at examples of microservice architecture in eCommerce.
Most big companies, as well as startups, build their systems using a monolithic architecture. They start out this way as in the initial phase of projects it is much faster to set up a monolith and get the business moving. After some time, problems arise due to maturing projects or fat growth. With the system’s growth, the code gets more complicated, the architecture more complex and we need more developers to maintain it. At the same time, we lose speed, flexibility and agility which makes it harder to react to the market’s needs.
Microservices as a tool to improve eCommerce
Taking the microservice approach is seen as one of the ways to answer problems of large and complex IT systems. Microservices architecture is a technique of developing applications built as a suite of small services (microservice), where each of them answers to one function, like product search, payment or shipping. They communicate with each other via API gateways.
Although it would be hard to look for examples of microservice implementations 10 years ago as this approach evolved recently, the number of companies turning towards microservice architecture is rapidly growing. After Amazon and Netflix went through the process of transition from monolith to microservices, the concept of microservices was clarified and the way paved for their followers.
We’ll get back to Amazon, Netflix, but also Coca Cola, Uber and Zalando in just a moment.
Benefits of microservices for eCommerce
One of the biggest benefits of microservices is that each microservice can be developed, scaled, and deployed separately. In the case of eCommerce, and not only, it means that if your online store needs any changes in payment, then you apply and deploy these changes only on the microservice dedicated to payments and don’t have to re-deploy the other parts of the system. Thanks to this, microservice architecture cuts costs and time-to-market, allows for quicker release cycles, and also encourages innovations.
Single microservices are maintained by independent, specialized teams. That’s why microservice architecture, along with technology, strongly relies on people and processes within an organization.
From monolith to microservices – 10 examples of global transitions
Amazon’s case is one of the first where microservices took a major role in transforming the whole business. The global giant achieved its extraordinary success in the times where monolith architecture was “the way” of developing IT systems.
“If you go back to 2001, the Amazon.com retail website was a large architectural monolith”Rob Brigham, Amazon AWS senior manager for product management (source)
Although Amazon’s architecture wasn’t exactly one great monolith, all its services and components were tightly coupled with one another. Having hundreds of developers spread across the organization, Amazon couldn’t deploy changes in a swift manner anymore.
All major code changes were stuck in the deployment pipeline for weeks before customers could use them. Amazon used microservices to simplify and shorten the pipeline. Breaking down structures into single applications allowed developers to realize where the bottlenecks were, what the nature of these slowdowns was, and allowed developers to rebuild them as a service-oriented architecture, each with a small team dedicated to one particular service.
What started like a clean up of the system ended up as an evolution of one of the largest online players in modern architecture. Along with this change, Amazon paved the way for other companies and released a series of open-source solutions, like AWS (Amazon Web Services) that are now ubiquitous.
Learn more about microservices at Amazon here.
When BestBuy.com was number 10 on the Internet Retailer Top 500, the company reached the point where making even simple changes and updates to their IT system was extremely difficult and even dangerous as the company couldn’t effectively prepare for holiday traffic peaks. Their application ecosystem became overly complex and simply stuck in place.
The transformation process began in 2010 with building dependency graphs of the interconnected modules within the monolithic platform, then developers started to implement microservices. Best Buy used the Strangler Pattern to replace the old system with microservices, step by step.
“Working hard on the culture allowed many of the teams to enjoy accelerated development and freedoms. Our focus was always on learning how to improve.“Kristen Womack, Runscope
Although the transition to microservices was tough, Best Buy used it to re-design the organization and system to match one another and support future processes in the company.
Learn more about microservices at BestBuy.com here.
Coca Cola Company – 3,800 products worldwide and subsidiaries in all countries of the world – faced trthe challenge of connecting entities on different continents and supporting their growth. Coca Cola’s Global IT group has decided to leverage microservices and APIs to achieve that goal, and gradually replace their legacy software. In this case, rapid change would be impossible due to multiple solutions implemented globally (ERP, conversions, repositories).
The company knew that there are many ways to implement microservices and, in the end, has decided to move towards a new architecture using the Dev-Ops model. Within it, they have introduced a structure divided into single app, with which they can address any issues which arise regarding speed and agility. On the other hand, GIT created a library of reusable modules (called Anypoint Platform), organized into domains that are available to all entities in the group. Thanks to the base of ready-to-use services, projects across the organization, and those of external partners, can be implemented in a shorter time and with a lower cost.
Along with changes in technology and architecture, Coca Cola focused on processes and people. The company moved from the COE model, to the C4E model (Center 4 Excellence) and gained synergies by collaborating and sharing across the system.
Learn more about microservices at Coca Cola here.
In 2011, when eBay was introducing microservices, the company had 97 million active users and 62 billion gross merchandise volume. On a typical day, eBay IT systems had to deal with massive traffic, like 75 billion database calls, 4 billion page views and 250 billion search queries. The change to microservice architecture wasn’t the first major switch of technology at eBay; the company faced similar transitions in 1999 and 2005.
eBay knew that in order to stay competitive, they had to deliver quality features and innovations at an accelerating pace. Dividing everything (databases, application tiers and even the search engine) and implementing microservice architecture allowed eBay to answer the arising challenges of the growing complexity of the codebase, improving developers’ productivity and enabling a faster time-to-market while maintaining the site stability. Similarly to other leaders of microservices, while resolving their own problems, eBay released open source solutions for the developer community.
Learn more about microservices at eBay here.
A few years before Etsy moved to microservices, the company struggled with serious performance problems. Their engineering team needed to decrease server processing time but they were dealing with concurrent API calls, which weren’t easily allowed in their PHP. At the same time, the team had to support the development of new features, mobile apps and others, which required increased extensibility from the platform. To overcome these challenges, Etsy decided to redesign their platform, and set up an API as a key component accessible for developers.
The developers decided to create a two-layer API using meta-endpoints (similar to the pattern used by Netflix and eBay). In the end, Etsy’s engineering team launched the new architecture in 2016. Etsy’s microservice architecture is optimized for change, continuous experimentation and allows them to deploy even 50 times a day.
Learn more about microservices at Etsy here.
Gilt.com has grown from a startup to a $1B fashion brand in the U.S. The company specializes in flash-sales of luxury brands, which by their very nature cause massive spikes in traffic which start 15 minutes before the sales and then rapidly reduces within the next 2 hours.
“Our customers are like a herd of bison that basically stampede the site every day at 12pm. It’s our own self-imposed denial of service attack, every day…”Adrian Trenaman, VP of engineering at Gilt.com (source)
Gilt reconstructed their monolithic architecture, which was based on Ruby on Rails, to a microservice architecture in 2011. This time they based it on Scala, Docker and AWS technologies and initially created 156 services. Along with rebuilding their system, Gilt also rearranged teams working on strategic initiatives. Their goal was to make it easy and fast to get code into production.
Moving to microservices brought Gilt positive results including less dependencies between teams, running initiatives in parallel, supporting multiple technologies and promoting ease of innovation.
Learn more about microservices at Gilt here.
Netflix is one of the earliest adopters of microservices, and one of the most discussed. The story of Netflix turning towards microservices starts in 2009, when this approach wasn’t known at all. They set up their microservice architecture on AWS. Their transition process progressed in steps: first they moved movie encoding and other non-customer facing applications. Then they decoupled customer facing elements, like account sign ups, movie selection, device selection and configuration. Netflix needed 2 years to split their monolith into microservices, and in 2011 announced end of redesigning their structure and organizing it using microservice architecture.
Today, the Netflix application leverages 500+ microservices and API Gateways that handles over 2 billion API edge requests daily.
Learn more about microservices at Netflix here.
By the time Spotify had 75+ million active users monthly, it was looking for a solution that would scale to millions of users, support multiple platforms and handle complex business rules. They wanted to be competitive in a fast moving market by being fast to react and out-innovative the competition. Their technology teams found a way to meet the above requirements by launching microservices managed by over 90 autonomous full-stack teams organized into tribes.
Kevin Goldsmith describing microservices architecture at Spotify.
Currently Spotify is running over 810 services. Decoupling their old system allowed Spotify to build flexible structures that are easily scalable, resolve real-world bottlenecks in a short time, test easily and version different solutions separately. They also became less susceptible to large failures.
Learn more about microservices at Spotify here.
In its early days, when Uber was just entering the market, they built their solution for a single offering in a single city. But as the company expanded, its system, based on a monolith architecture, started causing problems with scalability and continuous integration. That was the moment when Uber decided to transform their global IT system into microservices.
Within the new architecture, Uber introduced an API Gateway and independent services that have individual functions and can be deployed and scaled separately.
Learn more about microservices at Uber here.
As Rodrigue Schäfer, Digital Foundation Director at Zalando, shared with Divante, Zalando’s microservice architecture leverages Amazon Web Services for provisioning, deploying with Docker and a self-built PaaS called STUPS (though this has by now been replaced with Kubernetes), and ZMON (an in-house solution for monitoring), among other tools for distributed tracing or log management.
In 2010, Zalando hit a wall. Their existing third-party PHP-based eCommerce system couldn’t handle any more load. The company was in urgent need of a new platform to allow further growth, so it built its own Java- and Postgres-based monolithic system. Their transition process from monolith to microservices started in 2015. The transition was accompanied by a change in organizational structure and culture. Both tech and business teams had to take on a new mindset: “you build it, you run it”, “expect failure”, end-to-end responsibility, and treat your software as a service.
As a result of switching to microservices, Zalando created a flexible, scalable platform and a new working culture, which was attractive and motivating for developers. With more autonomous teams, the company could grow further and speed up its innovation cycle.
Learn more about microservices at Zalando here.
Microservices are made for people
Microservices are a relatively new approach, but implemented in the right manner and with respect to people and processes already existing within the organization, they bring amazing results. Not only do they help to split big systems and big problems into smaller pieces that are easier to cope with but also make the company’s culture more open, ready for changes and more independent.
The global players presented above resolved their largest problems related to expansion and scaling of their IT systems. At the same time, they gained flexibility, durability and the engagement of developers. With microservices, they could use modern technologies along with legacy software, simplify the learning curve and attract a younger generation of developers to work on innovation with them.
The experience that these leading companies gained was an important milestone and lesson for other companies that are now entering the world of microservices. Luckily, companies like Amazon, eBay and Netflix are eager to share this experience, as well as solutions that they came up with which enrich the open source environment.