Enterprise solution for API Management

Hybrid, multi-cloud management platform for APIs across all environments. Nowadays, enterprises are API producer and they expose their services to their customers via APIs.

With Azure API Management Service enterprises can selectively expose their services to their partners, consumers in a secure manner.

Enterprise level benefits of Azure API Management

  • Exposing the services/APIs in a secure manner.
  • A Framework for API Management can be approved by compliance gate and teams can use it without repeating the same compliance gate process.
  • A list of exposed APIs/Services are always for monitoring available for CTO.

Must haves at enterprise level implementation for Azure API Management :

  • Define a secure framework for API Management
  • On-board teams to be able to use this framework
  • Support and monitor the Teams activities

Enterprise Level limitation

If an enterprise level decides to use the custom role assignment must pay attention to 2000 RBAC assignment per subscription.

Framework for Azure API Management

In the framework document we must define at least two teams and the functional and non-functional requirement must be clarified and explained in great detail.

  • Service Provider Team : is the team who define the framework and perform the compliance gate process for the service, they want to provide
  • Consumer Team : uses the provided service, because
    • They need this service in their solution.
    • They receive an On-Boarding and start technically easier with this service.
    • They can use the support of this service instead of using their resources
    • They don’t need compliance gate process for this service
Functional requirementsNon-functional requirements
By which cloud provider?How teams can request this service?
Is it private or public cloud?How they can get on-boarding?
How can have access to resources?How they can get support?
How to determine the dev/QA/prod environments?How are the SLA?
How team can access his resources?What are the service provider team’s responsibilities?
How they can add/remove/config their resources?What are the consumer team’s responsibilities?
Is their any automated flow? if yes, what are they?
How the automated flow can be considered in CI/CD? (if necessary for consumer team)
What are the secure compliance configurations?

Reference

Multi-cloud

Most organizations choose to work with multiple cloud providers, because it’s a struggle for an enterprise to find only one public cloud infrustructure provider, which meet all their requirements. [refrence]

The following figure demonstrates that the multi-cloud solution is a sub concept for hybrid-cloud computing.

Multi-cloud solutions are sub topic of the hybrid-cloud computing.

Multi-cloud scenarios

The two common multi-cloud deployment scenarios are

  • Multi-cloud: When a service or product runs on more than one cloud service provider infrastructure. Multi-cloud scenarios are using the partitioned multi-cloud pattern.
  • Intercloud: When data is integrated or exchanged between cloud service providers as part of a logical application deployment.
Two types of multi-cloud deployment scenarios [4]

1-Strategic advantages of partitioned complexity

To avoid committing to a single vendor, you spread applications across multiple cloud providers. Best Practice: weight the strategic advantages of a partitioned complexity this setup brings. Achieving workload portability and consistent tooling across multiple cloud environments increases development, testing, and operations work. [1]

2-For regulatory reasons

For regulatory reasons, you serve a certain segment of your user base and data from a country where a vendor does not yet have any presence. Best Practice: Use a multi-cloud environment only for mission-critical workloads or if, for legal or regulatory reasons, a single public cloud environment cannot accommodate the workloads. [1]

3-Choose the best services that the providers offer

For deploying application across multiple cloud providers in a way that allows you to choose among the best services that the providers offer. Best practice: Minimize dependencies between systems are running in different public cloud environments, particularly when communication is handled synchronously. These dependencies can slow performance and decrease overall availability. [1]

4-To have data autonomy

To have data autonomy in the future, therefore companies can take their data with them wherever they end up going.

Advantage of multi-cloud scenarios

  1. To avoid vendor lock-in. The multi-cloud helps lower strategic risk and provides you with the flexibility to change plans or partnerships later. [1]
  2. If the workload has been kept portable, you can optimize your operations by shifting workloads between computing environments. [1]

Hybrid-cloud scenarios

Hybrid-cloud description by National Institute of Standards

Hybrid cloud is a composition of two or more distinct cloud infrastructures (private, community, or public) that remain unique entities, but are bound together by standardized or proprietary technology that enables data and application portability. [2]

Cloud and on-premises, which were previously distinct entities and had cumbersome interaction configuration, are now converging to provide more efficient, less costly, and more flexible operation model for workflows.

1-Backup & Archive [2]

hybrid cloud diagram
Backup & Archive [2]

2-Data Protection [2]

hybrid cloud for data protection
Data Protection [2]

3-Lifecycle Partitioning [4]

Lifecycle partitioning is the process of moving parts of the application development lifecycle to the cloud while the rest remains on premises. The most popular is the cloud deployment and testing but move to on-premises for the production deployment.

4-Application Partitioning [4]

A part of an application is running in the could and the other part runs on premises. For example, Sony PlayStation runs databases for individual games in the cloud but takes care of user authentication on-premises.

5-Application spanning [3]

Application spanning happens when the same application runs on-premises and in the cloud. “Best Buy” is an example of the application spanning. The entire online store application is running across multiple cloud regions and multiple on-premises data center to allow it to quickly adjust to demand.

References

AWS API Management

API Management tools on Amazon Wen Services (AWS) are the followings:

  • Amazon API Gateway
  • Serverless Developer Portal

These tools provide the following features for the users:

  • API Access Control
  • API Protection
  • API Creation and design
  • Support for hybrid models
  • High performance
  • Customizable developer portal
Amazon-API-Gateway-How-Works
AWS API Gateway communication flow

The communication is as follows:

  1. Request is sent to API endpoint in API management.
  2. The above request is passed to the Backend API via API management.
  3. The request is processed in the Backend API and if necessary the data layer is used and the result is generated
  4. The response, which contains the result, is sent back to the API management.
  5. The API management sends the response to the caller.

Resources

API Lifecycle

Nowadays, developers, enterprises, and organisations often create open Application Programming Interfaces (APIs) that allow other teams, developers, customers, and services to integrate to their products and services.

The following figure demonstrates the API lifecycle and after the Deploy phase the API can be shared with other API’s consumers in the Share Phase.

Today is usual to share the APIs via API Management and each cloud provider has its own API Management solution for a better API management and API monitoring. more…

API-Management-Workflow
API Lifecycle

In API Management each API has its own endpoint.

API-example-use-cases
Common API Examples
  1. Request is sent to API endpoint in API management.
  2. The above request is passed to the Backend API via API management.
  3. The request is processed in the backend API and if necessary the data layer is used and the result is generated
  4. The response, which contains the result, is sent back to the API management.
  5. The API management sends the response to the caller.

Resources:

API Management in Azre, Aws and GCP

Application Programming Interface Management (API Management), consists of a set of tools and services that enable developers and companies to build, analyse, operate, and scale APIs in secure environment.

AzureAWSGCP
ServiceAPI Management ServiceAmazon API Gateway
– API Gateway
– Developer Portal
– API Access Control
– API Protection
– API Creation and design
– Support for hybrid models
– High performance
– Customizable developer portal
???
API Management tools overview

API Management can be delivered on-premises, through the could, or using a hybrid on-premises – SaaS (Software as a Service) approach.

Resouces

AWS CloudTrail

CloudTrail is a service provider by AWS to help monitor and log activities in AWS accounts.

  1. Monitor Avtivity in AWS Accounts
    CloudTrail records all actions taken when provisioning and modifying resources in AWS accounts.
  2. Store historical logs
    CloudTrail integrates with S3 to store historical data.
    Queries can be run on the data in S3 for audits.
    Retention period is by default 90 days for keeping a longer period it must be stored in S3 bucket.
  3. Integrate with other services (e.g. Event-driven)
    CloudTrail works with other services to raise alarms like AWS CloudWatch, analyze access patterns, and much more.

CloudTrail use case