Solution Idea
If you'd like to see us expand this article with more information, such as potential use cases, alternative services, implementation considerations, or pricing guidance, let us know with GitHub Feedback!
Adapt, evolve, and allow faster innovation to turn opportunities into strategic advantages. This solution enables you to do the following:
- Create an API gateway and developer portal in minutes, and publish APIs easily for internal or external use.
- Handle any data schema, and adapt quickly to rapid changes.
- Connect to back-end services anywhere, and manage, secure, and optimize all APIs in one place.
Architecture
Download an SVG
Data flow
The data flows through the solution as follows:
- API is defined by API developers and published via the API Management portal
- Application developers define the microservices and associated logic and deploy to Kubernetes
- API users (internal and/or external) use the API developer portal to learn about the API and use them in their applications
- Applications access APIs via the API Gateway
- API Gateway, after ensuring the API request meets security and other policies e.g. throttling, forwards the request to service running in Kubernetes
Components
The example scenario uses several Azure components:
- Azure Kubernetes Service: The fully managed Azure Kubernetes Service (AKS) makes deploying and managing containerized applications easy
- Azure API Management: Selectively expose data and services to the outside world and manage incoming API calls
- Azure Cosmos DB: A fully managed database service with turnkey global distribution and transparent multi-primary replication.
- Azure SQL Database: A fully managed relational database with built-in intelligence.
- Azure Storage: Azure Storage offers a durable, highly available, massively scalable cloud storage solution and includes object, file, disk, queue, and table storage.
- Azure Functions: An event-driven serverless compute platform that can also solve complex orchestration problems.