Sergey Nivens - Fotolia
As more enterprises deploy microservices in cloud, they'll turn to their IaaS provider's native resources to support and manage them.
Microservices-based applications consist of modular and scalable components that communicate with each other through standard protocols and interfaces. One of the biggest benefits of microservices is that they break down large, complex applications into many small parts, which can make the application, overall, easier to develop, deploy and scale.
Public cloud providers, including AWS, Microsoft and Google, offer their own flavor of native tools and services to help teams build and manage microservices-based apps. Here's an overview of what each of these three providers brings to the table.
Development teams can use AWS Lambda, which supports Java, Node.js, C# and Python, to develop microservices. As a serverless compute environment, Lambda enables developers to run code without having to provision or manage the underlying infrastructure. In addition, developers only pay for compute when their code runs.
Another useful tool that AWS offers is CloudWatch, a monitoring service for cloud applications. Because microservices-based architectures consist of many separate components, they demand a monitoring system that is granular enough to track the individual services but also big-picture enough to show more general information regarding resource health. CloudWatch can meet these needs, as it enables developers to define custom metrics they want to collect for each individual component of a microservices-based application. It's also possible to implement dynamic scaling, based on those custom metrics.
Amazon Elastic Container Service for Kubernetes (Amazon EKS) is another environment that can support microservices-based applications. One example of this involves the open source service mesh technology Istio; enterprises can deploy Istio on an EKS cluster to manage microservices and the traffic that flows between them.
Microsoft's Azure Service Fabric is a platform that enables teams to deploy and manage microservices that run inside containers. Enterprises can create Service Fabric clusters on premises, in Azure cloud or on other cloud platforms. Service Fabric is well-suited for distributed, microservices-based apps -- stateful or stateless -- that need to scale on demand. It also includes tools for application lifecycle management and monitoring.
Microsoft offers a separate version of Service Fabric, called Service Fabric Mesh, that's a managed service. Like Service Fabric, Service Fabric Mesh is a platform designed to host and scale microservices- and container-based applications. However, it's also managed and serverless, meaning IT operations and development teams don't need to worry about tasks such as cluster management or patching when they use it.
Service Fabric Mesh is still in public preview, which is available in the U.S. West, U.S. East and Europe West Azure Regions, with availability planned for other regions in the coming months, according to Microsoft.
As mentioned above, both Kubernetes and Istio are two technologies that can help an enterprise build and manage microservices. Google not only supports both technologies, but actually built Kubernetes and had a hand in Istio development as well.
Similar to the example above with Amazon EKS, an enterprise can install Istio on top of Google's managed Kubernetes service -- Google Kubernetes Engine -- to secure and manage connections between individual microservices.
Google recently integrated its Apigee API Management service with Istio, a move designed to bring native API management capabilities to microservices. Developers can use the integrated features to expose microservices as APIs and then share those APIs securely with other developers.
Google also offers enterprise support for Istio, including professional services from Google cloud staff.