agility and devops on aws
TRANSCRIPT
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
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 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
“Basedonourexperience,IbelievethatwecanbeevenmoresecureintheAWScloudthaninourowndatacenters.”
-TomSoderstrom,CTO,NASAJPL
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
What is DevOps?
DevOps = efficiencies that speed up this lifecycle
developers customers
releasetestbuild
plan monitor
deliverypipeline
feedbackloop
Software development lifecycle
Service-Oriented Architecture (SOA)
Single-purpose
Connected through APIs
Highly decoupled
“Microservices”
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
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
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