Welcome!

Microservices Expo Authors: Liz McMillan, Flint Brenton, Pat Romanski, Elizabeth White, Yeshim Deniz

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.

@MicroservicesExpo Stories
Don’t go chasing waterfall … development, that is. According to a recent post by Madison Moore on Medium featuring insights from several software delivery industry leaders, waterfall is – while still popular – not the best way to win in the marketplace. With methodologies like Agile, DevOps and Continuous Delivery becoming ever more prominent over the past 15 years or so, waterfall is old news. Or, is it? Moore cites a recent study by Gartner: “According to Gartner’s IT Key Metrics Data report, ...
"We're developing a software that is based on the cloud environment and we are providing those services to corporations and the general public," explained Seungmin Kim, CEO/CTO of SM Systems Inc., in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
In his session at Cloud Expo, Alan Winters, U.S. Head of Business Development at MobiDev, presented a success story of an entrepreneur who has both suffered through and benefited from offshore development across multiple businesses: The smart choice, or how to select the right offshore development partner Warning signs, or how to minimize chances of making the wrong choice Collaboration, or how to establish the most effective work processes Budget control, or how to maximize project result...
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...
Without lifecycle traceability and visibility across the tool chain, stakeholders from Planning-to-Ops have limited insight and answers to who, what, when, why and how across the DevOps lifecycle. This impacts the ability to deliver high quality software at the needed velocity to drive positive business outcomes. In his general session at @DevOpsSummit at 19th Cloud Expo, Eric Robertson, General Manager at CollabNet, will discuss how customers are able to achieve a level of transparency that e...
Without a clear strategy for cost control and an architecture designed with cloud services in mind, costs and operational performance can quickly get out of control. To avoid multiple architectural redesigns requires extensive thought and planning. Boundary (now part of BMC) launched a new public-facing multi-tenant high resolution monitoring service on Amazon AWS two years ago, facing challenges and learning best practices in the early days of the new service.
You often hear the two titles of "DevOps" and "Immutable Infrastructure" used independently. In his session at DevOps Summit, John Willis, Technical Evangelist for Docker, covered the union between the two topics and why this is important. He provided an overview of Immutable Infrastructure then showed how an Immutable Continuous Delivery pipeline can be applied as a best practice for "DevOps." He ended the session with some interesting case study examples.
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...
All organizations that did not originate this moment have a pre-existing culture as well as legacy technology and processes that can be more or less amenable to DevOps implementation. That organizational culture is influenced by the personalities and management styles of Executive Management, the wider culture in which the organization is situated, and the personalities of key team members at all levels of the organization. This culture and entrenched interests usually throw a wrench in the work...
We all know that end users experience the internet primarily with mobile devices. From an app development perspective, we know that successfully responding to the needs of mobile customers depends on rapid DevOps – failing fast, in short, until the right solution evolves in your customers' relationship to your business. Whether you’re decomposing an SOA monolith, or developing a new application cloud natively, it’s not a question of using microservices - not doing so will be a path to eventual ...
The next XaaS is CICDaaS. Why? Because CICD saves developers a huge amount of time. CD is an especially great option for projects that require multiple and frequent contributions to be integrated. But… securing CICD best practices is an emerging, essential, yet little understood practice for DevOps teams and their Cloud Service Providers. The only way to get CICD to work in a highly secure environment takes collaboration, patience and persistence. Building CICD in the cloud requires rigorous ar...
"This all sounds great. But it's just not realistic." This is what a group of five senior IT executives told me during a workshop I held not long ago. We were working through an exercise on the organizational characteristics necessary to successfully execute a digital transformation, and the group was doing their ‘readout.' The executives loved everything we discussed and agreed that if such an environment existed, it would make transformation much easier. They just didn't believe it was reali...
"DivvyCloud as a company set out to help customers automate solutions to the most common cloud problems," noted Jeremy Snyder, VP of Business Development at DivvyCloud, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
We all know that end users experience the Internet primarily with mobile devices. From an app development perspective, we know that successfully responding to the needs of mobile customers depends on rapid DevOps – failing fast, in short, until the right solution evolves in your customers' relationship to your business. Whether you’re decomposing an SOA monolith, or developing a new application cloud natively, it’s not a question of using microservices – not doing so will be a path to eventual b...
"Opsani helps the enterprise adopt containers, help them move their infrastructure into this modern world of DevOps, accelerate the delivery of new features into production, and really get them going on the container path," explained Ross Schibler, CEO of Opsani, and Peter Nickolov, CTO of Opsani, in this SYS-CON.tv interview at DevOps Summit at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Docker is sweeping across startups and enterprises alike, changing the way we build and ship applications. It's the most prominent and widely known software container platform, and it's particularly useful for eliminating common challenges when collaborating on code (like the "it works on my machine" phenomenon that most devs know all too well). With Docker, you can run and manage apps side-by-side - in isolated containers - resulting in better compute density. It's something that many developer...
The “Digital Era” is forcing us to engage with new methods to build, operate and maintain applications. This transformation also implies an evolution to more and more intelligent applications to better engage with the customers, while creating significant market differentiators. In both cases, the cloud has become a key enabler to embrace this digital revolution. So, moving to the cloud is no longer the question; the new questions are HOW and WHEN. To make this equation even more complex, most ...
Your homes and cars can be automated and self-serviced. Why can't your storage? From simply asking questions to analyze and troubleshoot your infrastructure, to provisioning storage with snapshots, recovery and replication, your wildest sci-fi dream has come true. In his session at @DevOpsSummit at 20th Cloud Expo, Dan Florea, Director of Product Management at Tintri, provided a ChatOps demo where you can talk to your storage and manage it from anywhere, through Slack and similar services with...
What's the role of an IT self-service portal when you get to continuous delivery and Infrastructure as Code? This general session showed how to create the continuous delivery culture and eight accelerators for leading the change. Don Demcsak is a DevOps and Cloud Native Modernization Principal for Dell EMC based out of New Jersey. He is a former, long time, Microsoft Most Valuable Professional, specializing in building and architecting Application Delivery Pipelines for hybrid legacy, and cloud ...
Many organizations are now looking to DevOps maturity models to gauge their DevOps adoption and compare their maturity to their peers. However, as enterprise organizations rush to adopt DevOps, moving past experimentation to embrace it at scale, they are in danger of falling into the trap that they have fallen into time and time again. Unfortunately, we've seen this movie before, and we know how it ends: badly.