Microservices break down software into functional components that interoperate and communicate to create an overall...
application. These functional components can scale up or down to accommodate user needs. And although microservices-based applications do not require cloud services, microservices and cloud computing are ideal IT matches.
Containers, for example, are well-suited for microservices components. Using the underlying operating system that containers share, various containerized components can link together and communicate to form the overall application. In addition, organizations can use performance monitoring and load balancing services to quickly create and destroy containers and drive automated scaling behaviors.
This means a properly-configured cloud deployment can potentially anticipate a bottleneck forming in a container, automatically spin up more of the affected containers -- perhaps within an Amazon Elastic Compute Cloud (EC2) cluster -- and then use load balancing to split application traffic between the duplicate containers to handle the additional load.
The reverse is also true. As the load declines again later, load balancing services in the cloud can "see" the declining demand and use automatic scaling to remove unneeded duplicate containers. Then, those resources are returned to the pool for re-use.
Microservices can also use a cloud provider's API calls for event-driven computing. For example, services like Amazon Web Services Lambda can provide compute services in response to program events, such as errors or a new user logon. But Lambda routines don't use compute resources until an event actually occurs. When an event occurs, the called routine loads and executes, then disappears. This means the overall application can be written more efficiently and rarely-used functions can be relegated to event-driven services that don't use resources until the function is called.
How to prepare your infrastructure for microservices
Using microservices to bring agility to SOA
Enabling microservices through cloud computing
Dig Deeper on Cloud application development
Related Q&A from Stephen J. Bigelow
VMware vCC requires a handful of prerequisites before you can deploy it. Install vCC once you have the correct processors, memory, network ... Continue Reading
The three crucial components of vCC are the interface, the server and the nodes. The interface enables admins to modify the environment, while the ... Continue Reading
VMware vCC enables organizations to move workloads, such as VMs, templates and vApps, between clouds by extending the data center, synchronizing ... Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.