45
AWS Pop-up Loft London Agility and DevOps on AWS Ravi Bhatta, AWS Solutions Architect [email protected]

Agility and DevOps on AWS

Embed Size (px)

Citation preview

AWS Pop-up Loft LondonAgility and DevOps on AWS

Ravi Bhatta, AWS Solutions [email protected]

TECHNICAL&BUSINESSSUPPORT

AccountManagement

Support

ProfessionalServices

SolutionsArchitects

Training &Certification

Security &PricingReports

PartnerEcosystem

AWSMARKETPLACE

Backup

BigData&HPC

BusinessApps

Databases

Development

IndustrySolutions

Security

MANAGEMENTTOOLS

Queuing

Notifications

Search

Orchestration

Email

ENTERPRISEAPPS

VirtualDesktops

StorageGateway

Sharing &Collaboration

Email&Calendaring

Directories

HYBRIDCLOUDMANAGEMENT

Backups

Deployment

DirectConnect

IdentityFederation

IntegratedManagement

SECURITY&MANAGEMENT

VirtualPrivateNetworks

Identity&Access

EncryptionKeys Configuration Monitoring Dedicated

INFRASTRUCTURESERVICES

Regions AvailabilityZones Compute

StorageO b j e c t s, B l o c k s, F i l e s

DatabasesSQL,NoSQL,Caching

CDNNetworking

PLATFORMSERVICES

APP

Mobile&WebFront-end

Functions

Identity

Data Store

Real-time

DEVELOPMENT

Containers

SourceCode

BuildTools

Deployment

DevOps

MOBILE

Sync

Identity

PushNotifications

MobileAnalytics

MobileBackend

ANALYTICS

DataWarehousing

Hadoop

Streaming

DataPipelines

MachineLearning

AWS Global Infrastructure

12 Regions

32 Availability Zones

53 Edge Locations

AWS Global InfrastructureAvailability Zones (AZs)

Isolateddatacentersthatareconnected toeachotheroverlow-latency linkswithinaregion

Compute Services

Amazon EC2 Auto Scaling Elastic Load Balancing

Actual

EC2

Elastic Virtual servers in the cloud

Dynamic traffic distribution

Automated scaling ofEC2 capacity

Compute ServicesAWSLambda

Serverlesscomputeplatform forstatelesscodeexecutioninresponse toevents

AmazonECS– EC2ContainerServiceContainermanagementserviceforrunning Docker

onamanagedclusterofEC2

Amazon Virtual Private Cloud (VPC)

Region

Availability Zone Availability Zone

VPC Subnet

Virtual Private Cloud

VPC Subnet

VPC Subnet

VPC Subnet

InternetGateway

VPNGateway

Corporate Data center

• PrivateNetworking• CustomersAddressSpace• Detailed ControlofCommunication

• NetworkACLs• RoutingTable• TrafficDirection• External andInternalSubnets

• OwnRoutingTable• AWSServices: EC2,EBS,AutoScaling,

RDS,etc..• VPNGatewayintotheVPC

AWS Direct Connect• Dedicated network connection

to AWS• Consistent network

performance• Speeds of 50-500Mbps, 1Gbps,

and 10Gbps• Most hardware VPN solutions

top at 4Gbps• Supports Active/Active and

Active/Passive Border Gateway Protocol (BGP) Multipath

Storage ServicesAmazon EBS

EBS

Block storage for use with Amazon EC2

Amazon S3

ImagesVideosFilesBinariesSnapshots

Internet scale storage via API

AWS Storage Gateway

S3, Glacier

Integrates on-premises IT and AWS storage

Amazon Glacier

ImagesVideosFilesBinariesSnapshots

Storage for archivingand backup

Database Services

Amazon RDS Amazon DynamoDB

Managed relational database service

Managed NoSQL database service

DBA

Amazon ElastiCache

In-Memory Caching Service

Administration and Security ServicesAmazon

CloudWatchAWS IAM (Identity & Access Mgmt)

Monitor resources Manage users, groups & permissions

AWS CloudHSM

AWS Directory Services

AWS Key Management Service

AWS Service Catalog AWS Config

Resource Configuration and Inventory

AWS CloudTrail AWS WAFAPI Logging Web Application Firewall

WhyChooseAWSCloud?

Global Infrastructure

“Basedonourexperience,IbelievethatwecanbeevenmoresecureintheAWScloudthaninourowndatacenters.”

-TomSoderstrom,CTO,NASAJPL

50+PriceReductionsSince2006

Increasedagilityhasbecomethe#1reasonbusinessesusetheAWScloud

Add New Dev EnvironmentAdd New Prod EnvironmentAdd New Environment in JapanAdd 1,000 ServersRemove 1,000 ServersDeploy 1 PB Data WarehouseShut down 1 PB Data Warehouse

AWS:Infrastructure in Minutes

Old World:Infrastructure in Weeks

Everything changes with this kind of agility

AcultureofInnovation:ExperimentOften&FailwithoutRisk

On-Premises

Experiment Infrequently

Failure is expensive

Less Innovation

Experiment Often

Fail quickly at a low cost

More Innovation

$ MillionsNearly $0

DevOps

What is DevOps?

DevOps = efficiencies that speed up this lifecycle

developers customers

releasetestbuild

plan monitor

deliverypipeline

feedbackloop

Software development lifecycle

©2015,AmazonWebServices,Inc.oritsaffiliates.Allrightsreserved

The Amazon DevOps story

Monolith development lifecycle

developers

releasetestbuild

deliverypipelineapp

Service-Oriented Architecture (SOA)

Single-purpose

Connected through APIs

Highly decoupled

“Microservices”

Two-pizza teams

Full ownership

Full accountability

Aligned incentives

“DevOps”

Missing tools

developers deliverypipelineservices

???

Self-service

Technology-agnostic

Encourage best practices

Single-purpose services

Deployment service

No downtime deployments

Health tracking

Versioned artifacts and rollbacks

PipelinesContinuous delivery

Automated release process

Faster and more reliable releases

Microservice development lifecycle

developers deliverypipelinesservices

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

releasetestbuild

testbuild release

releasetestbuild

releasetestbuild

build

testbuild

releasetest

testbuild

release

releasetestbuild

releasetestbuild

build

testbuild

= 50 million deployments a year

Thousands of teams× Microservice architecture

× Continuousdelivery× Multipleenvironments

DevOps Transformation

Setting up a delivery pipeline

Testing Staging Production

deploy

deploy

deploy

Source Build

release

Continuous Delivery Pipeline

Application

Infrastructure

Code

Pipeline

Production

QA

Development

VersionControl

Testing

Tools&Processes

• Codemetrics• Developerproductivity

• Numberofdeliveries• Successfulbuilds

AnalyticsandReporting

• DashboardsSecurity

ArtifactsBuild Deployment- Blue/Green(app)- Automation(infra)

AWS Code, Deployment & Management Services

MonitorProvisionDeployTestBuildCode

Elastic Beanstalk

OpsWorks

CloudWatch

CloudFormation

CodeDeploy

CodeCommit

CodePipeline

AWS CodeDeploy

• Easy and reliable deployments• Scale with ease• Deploy to any server

TestCodeDeployv1,v2,v3

Production

Dev

applicationrevisions

deploymentgroups

AWS CodePipeline

• Connect to best-of-breed tools• Accelerate your release process• Consistently verify each release

Build1)Build2)Unittest

1)Deploy2)UItest

Source Beta Production1)Deploy2)Perf test

Gamma1)Deploycanary2)Deployregion13)Deployregion2

1)Pull

AWS CodeCommit

• Use standard Git tools• Scalability, availability, and durability of Amazon S3• Encryption at rest with customer-specific keys

git pull/push CodeCommit

Git objectsinAmazonS3

Git indexinAmazonDynamoDB

EncryptionkeyinAWSKMS

SSHorHTTPS

AWS Code partners

Template CloudFormation Stack

JSON formatted fileParameter definitionResource creation

Configuration actions

Configured AWS servicesComprehensive service support

Service event awareCustomizable

FrameworkStack creationStack updates

Error detection and rollback

AWS CloudFormation

Sample Architecture

WebServer

AppServer

Amazon Route 53 Elastic Load Balancing

Amazon S3CloudFront

DynamoDB

AppServer

WebServer

RDS DB instancestandby (Multi-AZ)

RDS DB instance

WebServer

AppServer

Amazon Route 53 Elastic Load Balancing

Amazon S3CloudFront

DynamoDB

AppServer

WebServer

RDS DB instancestandby (Multi-AZ)

RDS DB instance

Sample Architecture with CloudFormation

templateAWS CloudFormation

stack

AWS Elastic Beanstalk

Yourcode

HTTPServer

ApplicationServer

LanguageInterpreter

OperatingSystem

Host

Focusonbuildingyourapplication

• Automatedinfrastructure

management

• Loadbalancing

• Health monitoring

• AutoScaling

• Application platform

management

• Codedeployment

AWS OpsWorks• Applicationinfrastructuremanagement

• Primarycomponents:

• Stacks

• Layers

• Instances

• Apps

Thank You