alphaspirit - Fotolia

Where do APIs fit in a microservices design?

Our enterprise wants to connect users with microservices-based applications. How can we improve communication between app components and users?

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.

Next Steps

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