Slide 1

Slide 1 text

COMMUNITY DAY MENA AWS CloudFormation and Marketplace

Slide 2

Slide 2 text

Bassel Al Annan Lead DevOps Engineer for Zero & One @bassel_alannan

Slide 3

Slide 3 text

COMMUNITY DAY MENA Agenda Overview of Infrastructure as a Code. Introduction to AWS CloudFormation. AWS Cloud Development Kit (CDK) Overview of AWS Marketplace Benefits of AWS Marketplace How to Deliver Software to Clients

Slide 4

Slide 4 text

COMMUNITY DAY MENA What is Infrastructure as Code?

Slide 5

Slide 5 text

COMMUNITY DAY MENA Introduction to AWS CloudFormation. CloudFormation is a service that allows you to manage configure and provision your AWS Infrastructure as a Code. Resources are defined using a CloudFormation template. Supports YAML or JSON. CloudFormation interprets the template and makes the appropriate API calls to create the resources you have defined. Free to use (charged for what you create). You can version control your templates. Can be used to rollback and delete the entire stack.

Slide 6

Slide 6 text

COMMUNITY DAY MENA Scalable Infrastructure • 1 VPC • 2 Public Subnets • 2 Private Subnets • 1 IGW • 1 NAT Gateway • 1 Bastion Host • 1 Route Table • 7 Security Groups • 4 EC2 Instances • 2 Application load Balancer VPC AWS Cloud Availability Zone 1 Auto Scaling group Availability Zone 2 Auto Scaling group NAT gateway NAT gateway Instance Instance Instance Instance Amazon EC2 Auto Scaling

Slide 7

Slide 7 text

COMMUNITY DAY MENA AWSTemplateFormatVersion:”2010-09-09” Description:”Template to create an EC2 instance” Parameters: EnvType: Description: ”Environment type” Type: String AllowedValues: - prod - dev Mappings: RegionMap: eu-west-1: ”ami”: ”ami-0bdbld6c15a40392c” us-east-1: "ami-0bdb828fd58c52235” Conditions: CreateProdResources: !Equals [ !Ref EnvType, prod ] CloudFormation Template Structure (YAML)

Slide 8

Slide 8 text

COMMUNITY DAY MENA Resources: EC2Instance: Type:AWS::EC2::Instance Properties: Instance Type: t2.micro ImageID: !FindInMap [RegionMap, !Ref "AWS::Region"] WaitHandle: Type: 'AWS::CloudFormation::WaitConditionHandle’ Transform: Name: ‘AWS::Include’ Parameters: Location: ‘s3://MyS3Bucket/FileName.yaml’ Outputs: InstanceID: Description: The Instance ID Value: !Ref EC2Instance CloudFormation Template Structure (YAML)

Slide 9

Slide 9 text

COMMUNITY DAY MENA AWS Cloud Development Kit (CDK) Supported Languages: • TypeScript • JavaScript • Python • Java • C#

Slide 10

Slide 10 text

COMMUNITY DAY MENA What is AWS Marketplace?

Slide 11

Slide 11 text

COMMUNITY DAY MENA Benefits of AWS Marketplace • Marketing & New Users • Simplified Delivery • Billing

Slide 12

Slide 12 text

COMMUNITY DAY MENA How to Deliver Software to Clients • Amazon Machine Image • Amazon SageMaker • CloudFormation • Container • SaaS

Slide 13

Slide 13 text

COMMUNITY DAY MENA Thank You!