Resource management in clouds

Azure

resource group is for managing resources in Azure.

How to create resource group: go to resource group by searching it > use add button > fill in the form and create a resource group.

GCP

project is for managing resources in GCP.

How to create project: go to manage resource page by searching the page > and use create project button to create a new project > you can select the organization if you are not free trial user.

AWS

000

Visual Studio Code Online

Actually, I really like the visual studio code online!

Prerequisites

For using the Visual Studio Code Online an Azure subscription in necessary, because the IDE is being hosted on the Azure and a resource group is created for it.

Start with Visual Studio Code Online

The URL is : https://online.visualstudio.com/login

After sign-in to vs code, an environment must be created or the existing environment can be used. By creating an environment the URL to GitHub repository can be enter in the Git Repository field. The git is cloned in workspace once the IDE is hosted.

For the next time is not necessary to create an environment again, and the existing one can be used.


Experiences

I used the following tooling or extensions on the vs code online:

  • I installed the power shell 7 and developer the power shell scripts.
  • Connected the IDE to Azure and executed the power shell scripts.
  • I installed the azcli extension and developed the .azcli scipts.
  • Docker is available by default on the IDE machine.
  • I installed the docker-composer and ran the docker-composer file.
  • Installed the Azure App Service extension and deployed the docker image from local on the Azure App Service.
  • Clone the code from GitHub and work with Github.
  • Clone code from GitLab and work with GitLab.

Limitations and solutions

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