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
Full virtualization and paravirtualization both enable hardware resource abstraction, but the two technologies differ when it comes to isolation ... Continue Reading
Organizations can cap their hyper-converged infrastructure costs when they deploy the Azure Stack HCI platform, but once they plug into the cloud, ... Continue Reading
You can implement ESXi on ARM -- or other RISC processors -- in micro and nano data centers. A nano data center is more specialized but also more ... 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.