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
Embedded systems and hypervisors go hand in hand. By understanding both, admins can maximize system benefits such as multiple OS support and legacy ... Continue Reading
Application load balancers and API gateways both manage network traffic, but in their own ways. Learn the differences between them and how to use ... Continue Reading
Developers don't have a lot of free time. Code reuse helps dev teams focus on the most value aspects of a project, so ensure everyone knows how to ... 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.