alphaspirit - Fotolia
Microservices is a complete rethinking of application design and deployment. A microservices design can involve numerous services, such as traditional VMs, containers, APIs, load balancing, monitoring and automation tools, as well as other elements that are all built to form a cohesive application. However, they allow each functional element to exist largely independent of others.
Public cloud providers like AWS continue to build a menu of services that work with microservices projects, including containers, event-driven computing and custom application program interfaces (APIs). And while microservices are gaining traction, the technology isn't right for every application. Developers must assess the approach, start small and use a microservices design where it makes sense.
So, where do APIs fit into the microservices design discussion? APIs have become a key way for discrete cloud services to exchange information and work together to provide greater functionality. With microservices, an application is designed and implemented as a collection of scalable, functional components rather than as a single monolithic entity.
For example, an API can allow workloads in various containers to share data, handle user input and direct output to storage or reporting. APIs also allow client-side applets to communicate with back-end server-side applications, even when those application components are running in the public cloud.
Amazon API Gateway is a service that allows developers to create, monitor and manage secure APIs within AWS. Once an API is created using Amazon API Gateway, a custom software development kit enables the developer to integrate into his own remote application. This allows outside software to access AWS resources, such as AWS Lambda functions, Amazon EC2 instances, storage instances and Internet-accessible endpoints.
Amazon API Gateway is not directly related to microservices architectures. But the service offers an easily customizable way to connect users to cloud components that have been assembled to form cohesive applications. Businesses pay on a per-API call basis; this is similar to AWS Lambda, where users create custom functions but only pay for the compute time that each function call uses.
How to build an app with containers and microservices
Use Lambda functions in a microservices architecture
AWS t2.nano instances are a cheap home for microservices
Dig Deeper on Deploying Microservices
Related Q&A from Stephen J. Bigelow
Containers have rapidly come into focus as a popular option for deploying applications, but they have limitations and are fundamentally different ... Continue Reading
ALM and SDLC both cover much of the same ground, such as development, testing and deployment. Where these lifecycle concepts differ is the scope of ... Continue Reading
Eliciting performance requirements from business end users necessitates a clearly defined scope and the right set of questions. Expert Mary Gorman ... Continue Reading