AWS Cloud Infrastructure

AWS Cloud Infrastructure: Accounts, Regions, Basic Services, Naming, TAGs, etc.

It’s the responsability of Cloud CoE (Center of Excellence) to define evrything that we’re defining in this section. Companies with the most advanced cloud adoption model tend to start with a Cloud CoE.

If you’ve just landed here, we’re doing a “Become a Cloud Architect” Unicorn Workshop by building a Unicorn Pursuit Web App step by step, and you’re more then welcome to join!

About AWS

Amazon Web Services (AWS) is a secure cloud services platform, offering compute power, database storage, content delivery and other functionality to help businesses scale and grow. Running web and application servers in the cloud to host dynamic websites.

The true power of Cloud is reflected in AWS Serverless Stack, as you get the best of “pay as you go”, best of elasticity, and best of “everything is managed and my ops don’t need to bother”, which is why Unicorn Pursuit is based on Serverless. Check out the architecture for more details.

Regions and Availability Zones

Each Region is completely independent. Each Availability Zone is isolated, but the Availability Zones in a Region are connected through low-latency links. Find more info here.

Deploying AWS Resources

Deployment Tool

To deploy AWS Resources you can use:

  • Console, like we used to do in VMware. No version control, no environments, but - no additional skill required.
  • IAC (Infrastructure as Code, using CloudFormation or Terraform). Declarative model (define the target, and let the tool “get there”) is awesome, but still - you have to write your YAML/JSON with the entire configuration manualy.
  • AWS CDK (Cloud Development Kit), which gives us best of both, Declarative and Imperative, and having all our code on Git - we have branches, version control etc. Check out more details on how we’ll be using aws sdk here.

Conclusion: we will be using AWS CDK with Python.

Naming

For Naming of AWS Resources, we will be using CamelCase, which LooklsLikeThis. Examples:

  • UnicornDynamodbVoting
  • PrivateSubnetA
  • CognitoUnicornUserPool

Tagging

AWS Tags can be used for Cost control, Automation, Operations, Access Control etc. In Unicorn Project, we will be using the most common Tags in the enterprise:

  • Project: Unicorn
  • Business Unit: Cloud Department

Where to find more info

The most important links:


Infra As Code: CloudFormation

Everything you need to know about AWS’s IAC, CloudFormation.

AWS Cloud Development Kit

AWS Cloud Development Kit (AWS CDK)

Identity Access Management

Identity Access Management (IAM).

Cognito

Add AAA (User Authentication, Authorization and Accounting)

S3

Amazon Simple Storage Service, and how to deploy using AWS CDK

DynamoDB

Amazon DynamoDB.

ECS Fargate

Elastic Container Service: Deploy Fargate and Load Balancer using AWS CDK and Python

API Gateway

AWS API Gateway

CDN: CloudFront

CloudFront, an AWS Content Delivery Network

KMS

Key Management

Messaging Services: SQS & SNS

AWS Messaging Services

VPC

AWS Networking: VPC

EC2

EC2


Last modified May 19, 2020: NextLessionAdded (2213181)