The advent of cloud computing and the ubiquity of mobile devices have led to the rise of consumer-facing companies (such as Amazon, Netflix, Uber, Google, and Airbnb) that have redefined the entire customer experience. These companies have built their applications (both web and mobile interfaces) on the cloud, using features or services that allow them to scale up or down based on demand, be available at all times, and be ready to handle failures at all levels.
Traditional enterprises are looking at these consumer-facing companies and want to adopt some of their best practices. They do this to help scale up their rapidly evolving enterprise applications, allowing them to take advantage of the elasticity and scalability of the cloud.
Before we dive deep into cloud-native, let's see what this chapter holds. We will cover the following topics in this chapter:
- Why go cloud-native?
- What is cloud-native?
- Intro to the 12-factor app
- Why move from monolithic applications to distributed microservice-based applications?
- The advantages of building a distributed microservice-based application