What are microservices?
In your push to satisfy customers’ demands for responsiveness, microservices architectures are perhaps your number one ally. In contrast to the monolithic application, which is single-tiered and combines all services into a single program, microservices architectures separate services into discrete, coordinated units. The benefits of the microservices approach include continuous deployment, faster testing, and the ability to update each service as needed without impacting the other services.
Digital powerhouse Netflix benefits from microservices in many ways, including allowing each client team (think Roku, PlayStation, mobile, and hundreds of client devices from which you can access Netflix) to update their app independently of one other. That equals happy customers! The previous monolith, in contrast, was so large that client teams couldn’t even run it locally, which made testing and debugging very difficult. Netflix’s Kim Trott explains in this 2015 talk.
Typically, microservices are independently packaged and deployed via containers. As microservices applications grow, orchestrating all the containers and their dynamic access to compute, storage, and networking can become complex. The leading solution to handle this complexity is Kubernetes.
Microservices applications that have high demands for scalability and reliability are increasingly built on event-driven serverless architectures (EDA), which in turn rely on events such as a customer order that indicate changes in a system. EDA enables loose coupling of services, which supports service abstraction and isolation, deployment flexibility, and independent scaling.
This is especially relevant to function platforms. Functions are typically single use — they may look up an address or customer information, for example. This variant of service-oriented architecture (SOA) provides fine-grained functionality that allows small, autonomous pieces of code to work together. Functions are often smaller in scope than microservices (a microservice may be a function or composed of several functions), and so the loosely-coupled architecture enables functions and/or microservices to operate independently, while leveraging operational independence, auto-scaling, and on-demand cost models.
Find answers to common questions or reach out to our support