Welcome!

Microservices Expo Authors: Elizabeth White, Liz McMillan, Yeshim Deniz, Pat Romanski, Zakia Bouachraoui

Related Topics: Microservices Expo, Open Source Cloud, @CloudExpo

Microservices Expo: Blog Feed Post

Why You Can’t Talk About Microservices Without Mentioning Netflix | @CloudExpo #API #Microservices

Netflix is one of the earliest adopters of microservices

Why You Can't Talk About Microservices Without Mentioning Netflix
by Daniel Giordano

About six years ago, Netflix began the move from a monolithic to cloud-based microservices architecture, openly documenting the journey along the way. Netflix is one of the earliest adopters of microservices, a term that didn't even exist when Netflix began moving away from its monolith. Today, the Netflix application is powered by an architecture featuring an API Gateway that handles about two billion API edge requests every day which are handled by approximately 500+ microservices. Netflix has been so successful with its architecture, that the company has open sourced a great deal of its platform including the technologies powering its microservices. Netflix has become one of the most well-known examples of a modern microservices architecture; if an article mentions microservices, odds are, it also mentions Netflix.

Caption: Netflix needed to move to an architecture that could handle the growing number of users and devices connecting to its platform. - Image Credit: Netflix.

Netflix needed to move to an architecture that could handle the growing number of users and devices connecting to its platform. - Image Credit: Netflix.

Netflix Moves to the Cloud
Netflix began moving from a monolithic to AWS cloud-based microservices architecture in 2009, long before the term microservices even existed. Netflix first began with moving movie encoding, a non-customer facing application. In 2010, Netflix began moving customer facing pieces of the website to AWS including account sign up, movie selections, TV selections, metadata, and device configuration. By the end of 2010, the entire customer facing website had been moved to AWS. By December 2011, Netflix had successfully moved to the cloud, breaking up their monolith into hundreds of fine-grained microservices.

About Microservices
The term microservices was coined by a group of software architects in 2012 but didn't start gaining in popularity until 2014, when software developer and author Martin Fowler began using the term in some of his publications.

Netflix trends

Microservices - Google Search Interest Over Time - Data Source: Google Trends

Adrian Cockcroft, a technology fellow at Battery Ventures, is well known for his role as cloud architect at Netflix where he often gave presentations about Netflix's move to the cloud and microservices. Cockcroft has developed his own definition for microservices:  "Loosely coupled service oriented architecture with bounded contexts."

Reasons for the Move
There were a number of reasons Netflix made the decision to move from a monolithic datacenter to a cloud-based microservices architecture. The primary reasons for the move, however, had to do with availability, scale, and speed. The company needed an architecture that allowed Netflix to be up and running 24/7, scale to the next order of magnitude, and be optimized for speed.

Back in 2008, when Netflix was still operating as a monolith, a single missing semicolon brought down the entire Netflix website for several hours. Monoliths tend to become spaghetti code with various components linked together and tightly coupled together. As a monolith, when something was broken in the code, all Netflix engineers had to be alerted to check and see if it was their code that had caused the problem. While it is still possible to have outages with a microservices architecture due to code errors and other issues, outages can be minimized since the platform is divided into separate services that are loosely coupled. A well-designed microservices architecture allows for better availability.

Another reason for the move to a cloud-based microservices architecture had to do with scale. Netflix was unable to build data centers fast enough to keep up with its growth rate. Not only was the number of Netflix users growing very rapidly, Netflix was also branching out to platforms like Xbox, Wii, mobile, and was expanding globally. Thousands of server instances can be commissioned simultaneously if needed to meet increased demand for services. Netflix is able to increase or decrease its capacity in minutes with AWS cloud. In the past, increasing capacity of the datacenter could take hours or days.  Scale is also undifferentiated for a monolithic application; it doesn't allow for different components to scale at different rates. For example, a customer service application could not be scaled at a different rate than a product catalog. However, this is possible with a cloud-based microservices architecture.

The microservices architecture allowed Netflix to greatly speed up development and deployment of its platform and services. The company was able to build and test global services on a large scale without impacting the current system and they could quickly roll back if there were problems. The microservices architecture also allowed Netflix to create about 30+ independent engineering teams that could work on different release schedules, which helped increase the agility and productivity of the development process.

There Were a Few Problems
While the Netflix platform is one of the best examples of a modern cloud-based microservices architecture, the move from monolith to microservices was not without some problems. When Netflix first moved the customer-facing website to the cloud, there were a lot of latency issues with the web pages. One of the ways Netflix dealt with this issue was by managing resources within AWS to avoid co-tenancy and adjust to AWS networking, which has more variable latency than the Netflix datacenters.

In April 2011, there was an outage in AWS US-East that brought down several popular websites hosted on AWS. While Netflix did not experience any large external outages because of the AWS issue, the company did have to make manual changes to its AWS configuration, moving sets of services out of Amazon's Availability Zone (AZ). The company has since automated much of the process, so that failures of this nature are handled without requiring a lot of manual intervention by Netflix engineers.

Netflix faced a number of issues as it steadily moved to a cloud-based architecture such as load increases, instance failures, zone/region failures, and performance problems. Netflix has built many technologies and tools to help address and solve these issues.

Netflix Provides Open Source Software
Netflix has been so successful moving to a cloud-based microservices architecture that the company has open sourced many of the tools and components used to build it. In a recent GOTO Conference presentation, Cockcroft explained what led up to Netflix open sourcing much of its code:

"During 2011, there were a bunch of outages where Amazon went down, and Netflix didn't; everyone else went down, Netflix didn't. So why was that? Well it's because we actually architected to be highly available and people said okay well we like that. So in 2012, we [people] said okay we do like these features; it's scalable, it's highly available, we've got a very fast development pipeline, and you stay up when Amazon goes down, and it's low cost, and you keep going up at conferences and battling people, so that looks good. But they couldn't figure out how to do it themselves because the gap from what Netflix was talking about to what everyone else was doing was just too big. So in 2012, we started seriously open sourcing a lot of code."

The Netflix Open Source Software Center (Netflix OSS) provides tools and technologies that companies can use for building a microservices architecture that runs on AWS.

Conclusion
"When we said we were going to move all of Netflix to cloud everyone said we were completely crazy," explained Cockcroft at a recent GOTO conference. "They didn't believe we were actually doing that, they thought we were just making stuff up."

Today, there are many companies that have moved to the cloud adopting a modern microservices architecture including Amazon, Google, IBM, LinkedIn, Nike, Nordstrom, Orbitz, PayPal, Spotify, Target, Twitter, and the list goes on and on.

Netflix was one of the first companies to move to the cloud and implement microservices, helping to pave the way for other companies to do the same. Netflix has become a technology leader, especially when it comes to cloud computing and microservices. This is why just about every article these days that mentions microservices, also mentions Netflix.

Read the original blog entry...

More Stories By SmartBear Blog

As the leader in software quality tools for the connected world, SmartBear supports more than two million software professionals and over 25,000 organizations in 90 countries that use its products to build and deliver the world’s greatest applications. With today’s applications deploying on mobile, Web, desktop, Internet of Things (IoT) or even embedded computing platforms, the connected nature of these applications through public and private APIs presents a unique set of challenges for developers, testers and operations teams. SmartBear's software quality tools assist with code review, functional and load testing, API readiness as well as performance monitoring of these modern applications.

Microservices Articles
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publishing company that develops products to help senior professionals in the world's most ICT dependent organizations make risk-based infrastructure and capacity decisions.
Most DevOps journeys involve several phases of maturity. Research shows that the inflection point where organizations begin to see maximum value is when they implement tight integration deploying their code to their infrastructure. Success at this level is the last barrier to at-will deployment. Storage, for instance, is more capable than where we read and write data. In his session at @DevOpsSummit at 20th Cloud Expo, Josh Atwell, a Developer Advocate for NetApp, will discuss the role and value...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term.
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
Consumer-driven contracts are an essential part of a mature microservice testing portfolio enabling independent service deployments. In this presentation we'll provide an overview of the tools, patterns and pain points we've seen when implementing contract testing in large development organizations.
Adding public cloud resources to an existing application can be a daunting process. The tools that you currently use to manage the software and hardware outside the cloud aren’t always the best tools to efficiently grow into the cloud. All of the major configuration management tools have cloud orchestration plugins that can be leveraged, but there are also cloud-native tools that can dramatically improve the efficiency of managing your application lifecycle. In his session at 18th Cloud Expo, ...
Using new techniques of information modeling, indexing, and processing, new cloud-based systems can support cloud-based workloads previously not possible for high-throughput insurance, banking, and case-based applications. In his session at 18th Cloud Expo, John Newton, CTO, Founder and Chairman of Alfresco, described how to scale cloud-based content management repositories to store, manage, and retrieve billions of documents and related information with fast and linear scalability. He addresse...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...
Enterprise architects are increasingly adopting multi-cloud strategies as they seek to utilize existing data center assets, leverage the advantages of cloud computing and avoid cloud vendor lock-in. This requires a globally aware traffic management strategy that can monitor infrastructure health across data centers and end-user experience globally, while responding to control changes and system specification at the speed of today’s DevOps teams. In his session at 20th Cloud Expo, Josh Gray, Chie...
Discussions of cloud computing have evolved in recent years from a focus on specific types of cloud, to a world of hybrid cloud, and to a world dominated by the APIs that make today's multi-cloud environments and hybrid clouds possible. In this Power Panel at 17th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the importance of customers being able to use the specific technologies they need, through environments and ecosystems that expose their APIs to make true ...