What are Microservices?
Microservices promise greater agility and speed in delivering innovation to customers through digital experiences. Microservices are a modern software architecture pattern where many small services, often written in different languages and packages, are loosely coupled together to create an application. Organizations are now able to make changes to a portion of the application, quickly and without breaking the entire application.
Container technology like Docker and Kubernetes have streamlined the development and deployment of microservices by removing dependencies with process isolation and automating container orchestration. With Microservices architecture, the API layer becomes a critical part of the application design in serving as the link to connect customers to the different microservices.
Deploying microservices changes how your customers access your application and traditional solutions are not well suited for distributed environments.
- Increased complexity with more services and external access points
- Increased surface area of attack with distributed services
- Traffic control and management is more complex
API Gateways provide a central control and access point between your end users and your application services.
- Centralize end user access to disparate backend application services
- Reduce risk by centrally applying security policies to distributed services
- Ability to granularly manage traffic routes and shape traffic