SlideShare a Scribd company logo
1 of 48
Download to read offline
© 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Shahbaz Alam – Practice Manager, AWS Professional Services
Nils Lagerkvist – Architect, ViaPlay
2 May, 2017
Automate best practices and operational
health for your AWS resources
What to Expect from this Session
Learn automation best practices to:
• Build and deploy your AWS resources
• Customize health alerts to continuously monitor your
AWS resources
• Remediate any operational issues
What’s in your AWS account(s)?
Availability Zone #1
www.example.com
Elastic Load
Balancing
DatabaseEC2 instance
web app
server
Autoscaling Group #1
As you Expand and Change, Entropy Starts
Increasing…
CloudFront
Siemens
Customers
Internet
Route
53
On-Premises
Media
Sources
AWS Direct Connect
SQS
S3 Bucket
2
1
Availability Zone B
ELB
Processing Layer
EC2 App
Servers
EC2 App
Servers
Customer App
Layer
EC2 Web
Servers
EC2 Web
Servers
Web Layer
ProcessedMedia
Processed Data /
Meta-data
DynamoDB
Availability Zone A
4
G2
GPU-Optimized
Instances
G2
GPU-Optimized
Instances
ELB
3
5
6
Static Content
Unprocessed Media
Unprocessed Media
DynamicContent
Adding Complexity With Each Workload
AWS Cloud
Route
53
Users
CloudFr
ont
S3
Bucket Availability Zone
Auto scaling
Groups
Elastic Load Balancing
RDS
MySQL DB
RDS
MSSQL DB
RDS MySQL
DB
(Standby)
RDS MSSQL
DB
(Standby)
Web-
Servers
Private Subnet Private Subnet
Private Subnet Private Subnet
Dynamic
Websites
Static
Websites
.Net Stack LAMP Stack
SPS
Stack
Shared
Services
WAF WAF
Availability Zone
.Net
Stack
LAMP Stack
SPS
Stack
Shared
Services
Virtual Private
Cloud
Auto scaling
Groups
CloudFron
t
Siemens
Customer
s
Internet
Route
53
On-
Premise
s
Media
Sources
AWS Direct
Connect
SQS
S3
Bucket
2
1
Availability
Zone B
ELB
Processing
Layer
EC2 App
Servers
EC2 App
Servers
Customer
App Layer
EC2 Web
Servers
EC2 Web
Servers
Web Layer
ProcessedMedia
Processed Data
/ Meta-data
DynamoDB
Availability Zone A
4
G2
GPU-
Optimized
Instances
G2
GPU-
Optimized
Instances
ELB
3
5
6
Static Content
Unprocessed
Media
Unprocessed Media
Dynamic
Content
Availability Zone A Availability Zone B
Public Subnet Public Subnet
Private Subnet Private Subnet
Instance A
10.1.1.11 /24
Instance B
10.1.2.22 /24
Instance C
10.1.3.33 /24
Instance D
10.1.4.44 /24
10.1.1.0/16
10.1.2.0/16
10.1.3.0/16
Public Subnet
Maybe It’s the Right Time to Standardize…
1. Define the resources and landscapes
where software and application are
deployed
2. ‘Approve once and deploy many’
3. Enable self service deploy with
confidence
4. Continuously automate
AWS CloudFormation
Provision and manage your AWS infrastructure as “code”
AWS CloudFormation Overview
JSON/YAML formatted file
Parameter definition
Resource creation
Configuration actions
Framework
Stack creation
Stack updates
Error detection and rollback
Configured AWS resources
Comprehensive service support
Service event aware
Customizable
Template CloudFormation Stack
AWS CloudFormation Benefits
• Version control/replicate/update the templates like
application code
• Integrates with development, CI/CD, management tools
• No additional charge to use
Infrastructure as Code Workflow
Code
Version
Control
Code
Review
Integrate Deploy
Infrastructure as Code Workflow
Code
Version
Control
Code
Review
Integrate Deploy
Text Editor
Git/SVN/
Perforce
Review
Tools
Syntax
Validation
Tools
AWS
Services
Infrastructure as Code Workflow
Code
Version
Control
Code
Review
Integrate Deploy
Text Editor
Git/SVN/
Perforce
Review
Tools
Syntax
Validation
Tools
AWS
Services
“It’s all software”
AWS Service Catalog
Manage approved templates and control access to them
AWS Service Catalog
AWS Service Catalog allows organizations to create and
manage catalogs of IT services. It enables users to quickly
deploy approved IT services they need in a self-service
manner.
Administrator Users
Control
Standardization
Governance
Agility
Self-service
Time to market
AWS Service Catalog – A Few Terms to Note
Product
Portfolio Stack
Constraint
an IT service that you
want to make available
for deployment on AWS.
a collection of products,
together with configuration
information.
restrict the ways that specific
AWS resources can be
deployed for a product
every AWS Service Catalog
product is launched as an AWS
CloudFormation stack
AWS Service Catalog
Enable
• 11 User API methods
• 40+ Admin API methods
• Share products across Portfolios and
AWS accounts
Orchestrate
• Version products
• Limit console access
• Provide various levels of user access
Automate
• Launch constraints
• Template constraints
Administrator Interaction
Creates portfolio and
assigns product portfolio
1
Administrator
Adds constraints, grant access
and add tags
2 Creates
product
Authors
template
ProductX
Versions
Portfolio BPortfolio A
• Users and Roles
• Constraints
• Tags
Service Catalog
3
DevOps
Automation
4
Opportunities to Strengthen the Handshake
User generated
products to foster
innovation
Back-end micro-services
acting on the stacks
Administrator
Products
Cloud Consumer Interaction
Browse
Products
5
4
3
2
1
Portfolio
Cloud
Consumers
Select version,
Provision
Product,
configure
parametersDeploy
Notifications
and outputs
Notifications and outputs
4
Scheduled
functions
Administrator
AWS Health and AWS
Personal Health Dashboard
AWS service health, notifications and automation
PHD
Amazon
CloudWatch
Events
AWS Health and AWS Personal Health Dashboard
Visibility and
transparency
into your resources
Custom notifications and
automated actions
through Amazon
CloudWatch Events
Hundreds of known
operational, billing,
security event types
https://phd.aws.amazon.com/
AWS Service Integrations
Service-level
insights into
health
All AWS services
Amazon
EC2
Amazon EBS
Amazon
SES
Amazon
VPC
AWS Direct
Connect
Elastic Load
Balancing
Amazon
Elasticsearch Service
Amazon
Cognito
Amazon
ElastiCache
Amazon
RDS
Resource and
service-level
insights into
health
AWS Certificate
Manager
AWS
CloudTrail
AWS Health Workflow At a Glance
Collect Health Events
AWS Health
triggers AWS
Lambda functions
matching Amazon
CloudWatch rules
AWS Lambda executes
automated and custom
actions
With (not so) Great Automation Comes Great
Risks…
Production databases/instances could be considered idle.
- Low traffic period.
- Different system resource (e.g. memory) might be in use.
Database
AWS Health Tools
• Open source and community driven on GitHub:
https://github.com/aws/aws-health-tools
• Automated actions in response to AWS Health events.
• Sets up customized alerts in response to AWS Health
events.
AWS Health Tools Examples:
SMS Notifier – Send custom text or SMS notifications.
SNS Topic Publisher – Publish to an SNS topic.
Slack Notifier – Post to a Slack channel.
Instance Store Degraded Drive – Stop or terminate an
instance that has a degraded instance store drive.
Disable AWS CodePipeline Stage Transition – Stop
deployment when an issue arises.
• overall view of status
Personal Health
Dashboard
• describe-events
• describe-event-details
• describe-affected-entities
• …
API
• Set Rules to extract events of
interest
• Set Targets for rules (Amazon
SNS, Amazon SQS, AWS
Lambda, Amazon Kinesis)
Push notifications
through
CloudWatch
Events
AWS
Health
Service
In-house or
third-party
monitoring
and event
mgmt.
system
AWS Health Service Extended
Automation and Consistency Benefits
Standardize
Enforce Consistency
Limit Access
Enforce Tagging, Security Groups
One-Stop Shop
Easily Deploy Across
Multiple Environments
Continuously Monitor
and Remediate Issues
Streaming Movies, Series and Sports
CloudPlatformTeam
# Small team
# Infrastructure with Amazon Web Services
# Supporting ~50 developers
# Micro Service Architectures
# Base Infrastructure
# Support Developers
Infrastructure as Code (IaC)
• Cost
• Speed
• Risk
• Declarative
• Manages Dependencies
• Runtime Parameters
• Change Sets
• Events for Integration
• References
• Functions
• Flow Control
• JSON or YAML CloudFormation
Complexity
Troposphere
JSON
"Ec2Instance": {
"Properties": {
"ImageId": {
"Fn::FindInMap": [
"RegionMap",
{ "Ref": "AWS::Region"
},
"AMI"
]
},
"InstanceType": "t1.micro",
"KeyName": { "Ref": "KeyName"
},
"SecurityGroups": [
"default"
],
"UserData": {
"Fn::Base64": "80"
}
},
"Type": "AWS::EC2::Instance"
}
}
Troposphere
ec2.Instance(
"Ec2Instance",
template=tpl,
ImageId=FindInMap(
"RegionMap", Ref("AWS::Region"),
"AMI"
),
InstanceType="t1.micro",
KeyName=Ref(keyname_param),
SecurityGroups=["default"],
UserData=Base64("80")
))
16 Runtime Parameters
35 AWS Resources
2000+ lines of Python
import components.template
import components.service.Private
def template(config):
tpl = components.template.Service(config)
tpl.add_description('Epg example service')
resources = tpl.resource_outputs('EpgResources')
service = components.service.Private(
'epg',
template=tpl,
Config=config,
ArtifactPrefix='mtg/epg',
Owner='viaplay',
RecordSet='viaplay',
).dns(‘epg')
return tpl
Reduce Complexity
import components.template
import components.service.Private
def template(config):
tpl = components.template.Service(config)
tpl.add_description('Epg example service')
resources = tpl.resource_outputs('EpgResources')
service = components.service.Private(
'epg',
template=tpl,
Config=config,
ArtifactPrefix='mtg/epg',
Owner='viaplay',
RecordSet='viaplay',
).dns(‘epg')
return tpl
Extend Template Class
Naming
Metadata
Tooling
import components.template
import components.service.Private
def template(config):
tpl = components.template.Service(config)
tpl.add_description('Epg example service')
resources = tpl.resource_outputs('EpgResources')
service = components.service.Private(
'epg',
template=tpl,
Config=config,
ArtifactPrefix='mtg/epg',
Owner='viaplay',
RecordSet='viaplay',
).dns(‘epg')
return tpl
Cross Stack References
AWS Resources
Metadata
Dependencies
import components.template
import components.service.Private
def template(config):
tpl = components.template.Service(config)
tpl.add_description('Epg example service')
resources = tpl.resource_outputs('EpgResources')
service = components.service.Private(
'epg',
template=tpl,
Config=config,
ArtifactPrefix='mtg/epg',
Owner='viaplay',
RecordSet='viaplay',
).dns(‘epg')
return tpl
Replace Nested Stacks
Naming
Tags
Logging
Alarms
Metrics
Service Configuration
Docker
Environment
Metrics
…
import components.template
import components.service.Private
def template(config):
tpl = components.template.Service(config)
tpl.add_description('Epg example service')
resources = tpl.resource_outputs('EpgResources')
service = components.service.Private(
'epg',
template=tpl,
Config=config,
ArtifactPrefix='mtg/epg',
Owner='viaplay',
RecordSet='viaplay',
).dns(‘epg')
return tpl
import components.template
import components.service.Private
def template(config):
tpl = components.template.Service(config)
tpl.add_description('Epg example service')
resources = tpl.resource_outputs('EpgResources')
service = components.service.Private(
'epg',
template=tpl,
Config=config,
ArtifactPrefix='mtg/epg',
Owner='viaplay',
RecordSet='viaplay',
).dns(‘epg')
return tpl
Decoupled DNS
Blue/Green Deploy
Migration of Infrastructure
Decoupling DNS from Service
Naming
Metadata
Tags
Logs
Metrics
Alarms
Tools
Components
1-to-1 Relation
Between
Template and
Stack
Reuse
Templates in
Multiple
Environments
Generated Templates
Under VCS
Closing Thoughts
• Don’t mix IaC and manual configuration
• Separate infrastructure changes from code
deployment
• Hide complexity where it’s easy to test
• Testing infrastructure can be slow
• Snowflakes are beautiful - in nature
• Long uptime is not cool
• Version control the infrastructure
• Aim for a strategy where change is
easy to evaluate
Automate Best Practices and Operational Health for your AWS Resources

More Related Content

What's hot

What's hot (20)

Welcome Keynote - AWS Summit Stockholm
Welcome Keynote - AWS Summit Stockholm Welcome Keynote - AWS Summit Stockholm
Welcome Keynote - AWS Summit Stockholm
 
Scaling Up to Your First 10 Million Users
Scaling Up to Your First 10 Million UsersScaling Up to Your First 10 Million Users
Scaling Up to Your First 10 Million Users
 
(SEC320) Leveraging the Power of AWS to Automate Security & Compliance
(SEC320) Leveraging the Power of AWS to Automate Security & Compliance(SEC320) Leveraging the Power of AWS to Automate Security & Compliance
(SEC320) Leveraging the Power of AWS to Automate Security & Compliance
 
AWS re:Invent 2016: Tips for Passing APN Technical Validations (GPSISV2)
AWS re:Invent 2016: Tips for Passing APN Technical Validations (GPSISV2)AWS re:Invent 2016: Tips for Passing APN Technical Validations (GPSISV2)
AWS re:Invent 2016: Tips for Passing APN Technical Validations (GPSISV2)
 
(SEC203) Journey to Securing Time Inc's Move to the Cloud
(SEC203) Journey to Securing Time Inc's Move to the Cloud(SEC203) Journey to Securing Time Inc's Move to the Cloud
(SEC203) Journey to Securing Time Inc's Move to the Cloud
 
Maximizing Business Value as You Migrate to AWS
Maximizing Business Value as You Migrate to AWSMaximizing Business Value as You Migrate to AWS
Maximizing Business Value as You Migrate to AWS
 
Vancouver keynote - AWS Innovate - Sam Elmalak
Vancouver keynote - AWS Innovate - Sam ElmalakVancouver keynote - AWS Innovate - Sam Elmalak
Vancouver keynote - AWS Innovate - Sam Elmalak
 
Closing Keynote - AWS Summit Stockholm
Closing Keynote - AWS Summit StockholmClosing Keynote - AWS Summit Stockholm
Closing Keynote - AWS Summit Stockholm
 
Migrating Large Scale Datasets
Migrating Large Scale DatasetsMigrating Large Scale Datasets
Migrating Large Scale Datasets
 
protecting your data in aws
protecting your data in aws protecting your data in aws
protecting your data in aws
 
Best Practices for Deploying Microsoft Workloads on AWS
Best Practices for Deploying Microsoft Workloads on AWSBest Practices for Deploying Microsoft Workloads on AWS
Best Practices for Deploying Microsoft Workloads on AWS
 
Customer Case Study: Achieving PCI Compliance in AWS
Customer Case Study: Achieving PCI Compliance in AWSCustomer Case Study: Achieving PCI Compliance in AWS
Customer Case Study: Achieving PCI Compliance in AWS
 
Data Storage for the Long Haul: Compliance and Archive
Data Storage for the Long Haul: Compliance and ArchiveData Storage for the Long Haul: Compliance and Archive
Data Storage for the Long Haul: Compliance and Archive
 
(GEN117) AWS Compliance Summit
(GEN117) AWS Compliance Summit(GEN117) AWS Compliance Summit
(GEN117) AWS Compliance Summit
 
Getting Started With AWS Security
Getting Started With AWS SecurityGetting Started With AWS Security
Getting Started With AWS Security
 
AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...
AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...
AWS re:Invent 2016: Enabling Enterprise Migrations: Creating an AWS Landing Z...
 
Compliance In The Cloud Using Security By Design
Compliance In The Cloud Using Security By DesignCompliance In The Cloud Using Security By Design
Compliance In The Cloud Using Security By Design
 
(SEC321) Implementing Policy, Governance & Security for Enterprises
(SEC321) Implementing Policy, Governance & Security for Enterprises(SEC321) Implementing Policy, Governance & Security for Enterprises
(SEC321) Implementing Policy, Governance & Security for Enterprises
 
Getting Started with AWS Security
 Getting Started with AWS Security Getting Started with AWS Security
Getting Started with AWS Security
 
Extending Datacenters to the Cloud: Connectivity Options and Considerations f...
Extending Datacenters to the Cloud: Connectivity Options and Considerations f...Extending Datacenters to the Cloud: Connectivity Options and Considerations f...
Extending Datacenters to the Cloud: Connectivity Options and Considerations f...
 

Similar to Automate Best Practices and Operational Health for your AWS Resources

Similar to Automate Best Practices and Operational Health for your AWS Resources (20)

ENT312 NEW LAUNCH! Better Software Procurement and Management Using AWS Marke...
ENT312 NEW LAUNCH! Better Software Procurement and Management Using AWS Marke...ENT312 NEW LAUNCH! Better Software Procurement and Management Using AWS Marke...
ENT312 NEW LAUNCH! Better Software Procurement and Management Using AWS Marke...
 
(DVO303) Scaling Infrastructure Operations with AWS
(DVO303) Scaling Infrastructure Operations with AWS(DVO303) Scaling Infrastructure Operations with AWS
(DVO303) Scaling Infrastructure Operations with AWS
 
AWS Management Tools Deep Dive - DevDay Los Angeles 2017
AWS Management Tools Deep Dive - DevDay Los Angeles 2017AWS Management Tools Deep Dive - DevDay Los Angeles 2017
AWS Management Tools Deep Dive - DevDay Los Angeles 2017
 
ENT302 Deep Dive on AWS Management Tools
ENT302 Deep Dive on AWS Management Tools ENT302 Deep Dive on AWS Management Tools
ENT302 Deep Dive on AWS Management Tools
 
Raleigh DevDay 2017: Deep Dive on AWS Management Tools
Raleigh DevDay 2017: Deep Dive on AWS Management ToolsRaleigh DevDay 2017: Deep Dive on AWS Management Tools
Raleigh DevDay 2017: Deep Dive on AWS Management Tools
 
Raleigh DevDay 2017: Are you well architected learn best practices to build r...
Raleigh DevDay 2017: Are you well architected learn best practices to build r...Raleigh DevDay 2017: Are you well architected learn best practices to build r...
Raleigh DevDay 2017: Are you well architected learn best practices to build r...
 
Automate Best Practices and Operational Health for your AWS resources
Automate Best Practices and Operational Health for your AWS resourcesAutomate Best Practices and Operational Health for your AWS resources
Automate Best Practices and Operational Health for your AWS resources
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Build a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million UsersBuild a Website on AWS for Your First 10 Million Users
Build a Website on AWS for Your First 10 Million Users
 
Simplify & Standardise your migration to AWS with a Migration Landing Zone
Simplify & Standardise your migration to AWS with a Migration Landing ZoneSimplify & Standardise your migration to AWS with a Migration Landing Zone
Simplify & Standardise your migration to AWS with a Migration Landing Zone
 
AWS Enterprise Workloads on AWS IP Expo 2013
AWS Enterprise Workloads on AWS IP Expo 2013AWS Enterprise Workloads on AWS IP Expo 2013
AWS Enterprise Workloads on AWS IP Expo 2013
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Managing the Life Cycle of IT Products
Managing the Life Cycle of IT ProductsManaging the Life Cycle of IT Products
Managing the Life Cycle of IT Products
 
ENT302 Deep Dive on AWS Management Tools
ENT302 Deep Dive on AWS Management ToolsENT302 Deep Dive on AWS Management Tools
ENT302 Deep Dive on AWS Management Tools
 
(DVO312) Sony: Building At-Scale Services with AWS Elastic Beanstalk
(DVO312) Sony: Building At-Scale Services with AWS Elastic Beanstalk(DVO312) Sony: Building At-Scale Services with AWS Elastic Beanstalk
(DVO312) Sony: Building At-Scale Services with AWS Elastic Beanstalk
 
ENT314 Automate Best Practices and Operational Health for Your AWS Resources
ENT314 Automate Best Practices and Operational Health for Your AWS ResourcesENT314 Automate Best Practices and Operational Health for Your AWS Resources
ENT314 Automate Best Practices and Operational Health for Your AWS Resources
 
AWS Monitoring & Logging
AWS Monitoring & LoggingAWS Monitoring & Logging
AWS Monitoring & Logging
 
AWS Service Catalog
AWS Service CatalogAWS Service Catalog
AWS Service Catalog
 

More from Amazon Web Services

Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
Amazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
Amazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

Automate Best Practices and Operational Health for your AWS Resources

  • 1. © 2015, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Shahbaz Alam – Practice Manager, AWS Professional Services Nils Lagerkvist – Architect, ViaPlay 2 May, 2017 Automate best practices and operational health for your AWS resources
  • 2. What to Expect from this Session Learn automation best practices to: • Build and deploy your AWS resources • Customize health alerts to continuously monitor your AWS resources • Remediate any operational issues
  • 3. What’s in your AWS account(s)? Availability Zone #1 www.example.com Elastic Load Balancing DatabaseEC2 instance web app server Autoscaling Group #1
  • 4. As you Expand and Change, Entropy Starts Increasing… CloudFront Siemens Customers Internet Route 53 On-Premises Media Sources AWS Direct Connect SQS S3 Bucket 2 1 Availability Zone B ELB Processing Layer EC2 App Servers EC2 App Servers Customer App Layer EC2 Web Servers EC2 Web Servers Web Layer ProcessedMedia Processed Data / Meta-data DynamoDB Availability Zone A 4 G2 GPU-Optimized Instances G2 GPU-Optimized Instances ELB 3 5 6 Static Content Unprocessed Media Unprocessed Media DynamicContent
  • 5. Adding Complexity With Each Workload AWS Cloud Route 53 Users CloudFr ont S3 Bucket Availability Zone Auto scaling Groups Elastic Load Balancing RDS MySQL DB RDS MSSQL DB RDS MySQL DB (Standby) RDS MSSQL DB (Standby) Web- Servers Private Subnet Private Subnet Private Subnet Private Subnet Dynamic Websites Static Websites .Net Stack LAMP Stack SPS Stack Shared Services WAF WAF Availability Zone .Net Stack LAMP Stack SPS Stack Shared Services Virtual Private Cloud Auto scaling Groups CloudFron t Siemens Customer s Internet Route 53 On- Premise s Media Sources AWS Direct Connect SQS S3 Bucket 2 1 Availability Zone B ELB Processing Layer EC2 App Servers EC2 App Servers Customer App Layer EC2 Web Servers EC2 Web Servers Web Layer ProcessedMedia Processed Data / Meta-data DynamoDB Availability Zone A 4 G2 GPU- Optimized Instances G2 GPU- Optimized Instances ELB 3 5 6 Static Content Unprocessed Media Unprocessed Media Dynamic Content Availability Zone A Availability Zone B Public Subnet Public Subnet Private Subnet Private Subnet Instance A 10.1.1.11 /24 Instance B 10.1.2.22 /24 Instance C 10.1.3.33 /24 Instance D 10.1.4.44 /24 10.1.1.0/16 10.1.2.0/16 10.1.3.0/16 Public Subnet
  • 6. Maybe It’s the Right Time to Standardize… 1. Define the resources and landscapes where software and application are deployed 2. ‘Approve once and deploy many’ 3. Enable self service deploy with confidence 4. Continuously automate
  • 7. AWS CloudFormation Provision and manage your AWS infrastructure as “code”
  • 8. AWS CloudFormation Overview JSON/YAML formatted file Parameter definition Resource creation Configuration actions Framework Stack creation Stack updates Error detection and rollback Configured AWS resources Comprehensive service support Service event aware Customizable Template CloudFormation Stack
  • 9. AWS CloudFormation Benefits • Version control/replicate/update the templates like application code • Integrates with development, CI/CD, management tools • No additional charge to use
  • 10. Infrastructure as Code Workflow Code Version Control Code Review Integrate Deploy
  • 11. Infrastructure as Code Workflow Code Version Control Code Review Integrate Deploy Text Editor Git/SVN/ Perforce Review Tools Syntax Validation Tools AWS Services
  • 12. Infrastructure as Code Workflow Code Version Control Code Review Integrate Deploy Text Editor Git/SVN/ Perforce Review Tools Syntax Validation Tools AWS Services “It’s all software”
  • 13. AWS Service Catalog Manage approved templates and control access to them
  • 14. AWS Service Catalog AWS Service Catalog allows organizations to create and manage catalogs of IT services. It enables users to quickly deploy approved IT services they need in a self-service manner. Administrator Users Control Standardization Governance Agility Self-service Time to market
  • 15. AWS Service Catalog – A Few Terms to Note Product Portfolio Stack Constraint an IT service that you want to make available for deployment on AWS. a collection of products, together with configuration information. restrict the ways that specific AWS resources can be deployed for a product every AWS Service Catalog product is launched as an AWS CloudFormation stack
  • 16. AWS Service Catalog Enable • 11 User API methods • 40+ Admin API methods • Share products across Portfolios and AWS accounts Orchestrate • Version products • Limit console access • Provide various levels of user access Automate • Launch constraints • Template constraints
  • 17. Administrator Interaction Creates portfolio and assigns product portfolio 1 Administrator Adds constraints, grant access and add tags 2 Creates product Authors template ProductX Versions Portfolio BPortfolio A • Users and Roles • Constraints • Tags Service Catalog 3 DevOps Automation 4
  • 18. Opportunities to Strengthen the Handshake User generated products to foster innovation Back-end micro-services acting on the stacks Administrator Products
  • 19. Cloud Consumer Interaction Browse Products 5 4 3 2 1 Portfolio Cloud Consumers Select version, Provision Product, configure parametersDeploy Notifications and outputs Notifications and outputs 4 Scheduled functions Administrator
  • 20. AWS Health and AWS Personal Health Dashboard AWS service health, notifications and automation
  • 21. PHD Amazon CloudWatch Events AWS Health and AWS Personal Health Dashboard Visibility and transparency into your resources Custom notifications and automated actions through Amazon CloudWatch Events Hundreds of known operational, billing, security event types https://phd.aws.amazon.com/
  • 22. AWS Service Integrations Service-level insights into health All AWS services Amazon EC2 Amazon EBS Amazon SES Amazon VPC AWS Direct Connect Elastic Load Balancing Amazon Elasticsearch Service Amazon Cognito Amazon ElastiCache Amazon RDS Resource and service-level insights into health AWS Certificate Manager AWS CloudTrail
  • 23. AWS Health Workflow At a Glance Collect Health Events AWS Health triggers AWS Lambda functions matching Amazon CloudWatch rules AWS Lambda executes automated and custom actions
  • 24. With (not so) Great Automation Comes Great Risks… Production databases/instances could be considered idle. - Low traffic period. - Different system resource (e.g. memory) might be in use. Database
  • 25. AWS Health Tools • Open source and community driven on GitHub: https://github.com/aws/aws-health-tools • Automated actions in response to AWS Health events. • Sets up customized alerts in response to AWS Health events.
  • 26. AWS Health Tools Examples: SMS Notifier – Send custom text or SMS notifications. SNS Topic Publisher – Publish to an SNS topic. Slack Notifier – Post to a Slack channel. Instance Store Degraded Drive – Stop or terminate an instance that has a degraded instance store drive. Disable AWS CodePipeline Stage Transition – Stop deployment when an issue arises.
  • 27. • overall view of status Personal Health Dashboard • describe-events • describe-event-details • describe-affected-entities • … API • Set Rules to extract events of interest • Set Targets for rules (Amazon SNS, Amazon SQS, AWS Lambda, Amazon Kinesis) Push notifications through CloudWatch Events AWS Health Service In-house or third-party monitoring and event mgmt. system AWS Health Service Extended
  • 28. Automation and Consistency Benefits Standardize Enforce Consistency Limit Access Enforce Tagging, Security Groups One-Stop Shop Easily Deploy Across Multiple Environments Continuously Monitor and Remediate Issues
  • 30. CloudPlatformTeam # Small team # Infrastructure with Amazon Web Services # Supporting ~50 developers # Micro Service Architectures # Base Infrastructure # Support Developers
  • 31. Infrastructure as Code (IaC) • Cost • Speed • Risk
  • 32. • Declarative • Manages Dependencies • Runtime Parameters • Change Sets • Events for Integration • References • Functions • Flow Control • JSON or YAML CloudFormation
  • 35. JSON "Ec2Instance": { "Properties": { "ImageId": { "Fn::FindInMap": [ "RegionMap", { "Ref": "AWS::Region" }, "AMI" ] }, "InstanceType": "t1.micro", "KeyName": { "Ref": "KeyName" }, "SecurityGroups": [ "default" ], "UserData": { "Fn::Base64": "80" } }, "Type": "AWS::EC2::Instance" } } Troposphere ec2.Instance( "Ec2Instance", template=tpl, ImageId=FindInMap( "RegionMap", Ref("AWS::Region"), "AMI" ), InstanceType="t1.micro", KeyName=Ref(keyname_param), SecurityGroups=["default"], UserData=Base64("80") ))
  • 36. 16 Runtime Parameters 35 AWS Resources 2000+ lines of Python
  • 37. import components.template import components.service.Private def template(config): tpl = components.template.Service(config) tpl.add_description('Epg example service') resources = tpl.resource_outputs('EpgResources') service = components.service.Private( 'epg', template=tpl, Config=config, ArtifactPrefix='mtg/epg', Owner='viaplay', RecordSet='viaplay', ).dns(‘epg') return tpl Reduce Complexity
  • 38. import components.template import components.service.Private def template(config): tpl = components.template.Service(config) tpl.add_description('Epg example service') resources = tpl.resource_outputs('EpgResources') service = components.service.Private( 'epg', template=tpl, Config=config, ArtifactPrefix='mtg/epg', Owner='viaplay', RecordSet='viaplay', ).dns(‘epg') return tpl Extend Template Class Naming Metadata Tooling
  • 39. import components.template import components.service.Private def template(config): tpl = components.template.Service(config) tpl.add_description('Epg example service') resources = tpl.resource_outputs('EpgResources') service = components.service.Private( 'epg', template=tpl, Config=config, ArtifactPrefix='mtg/epg', Owner='viaplay', RecordSet='viaplay', ).dns(‘epg') return tpl Cross Stack References AWS Resources Metadata Dependencies
  • 40. import components.template import components.service.Private def template(config): tpl = components.template.Service(config) tpl.add_description('Epg example service') resources = tpl.resource_outputs('EpgResources') service = components.service.Private( 'epg', template=tpl, Config=config, ArtifactPrefix='mtg/epg', Owner='viaplay', RecordSet='viaplay', ).dns(‘epg') return tpl Replace Nested Stacks Naming Tags Logging Alarms Metrics
  • 41. Service Configuration Docker Environment Metrics … import components.template import components.service.Private def template(config): tpl = components.template.Service(config) tpl.add_description('Epg example service') resources = tpl.resource_outputs('EpgResources') service = components.service.Private( 'epg', template=tpl, Config=config, ArtifactPrefix='mtg/epg', Owner='viaplay', RecordSet='viaplay', ).dns(‘epg') return tpl
  • 42. import components.template import components.service.Private def template(config): tpl = components.template.Service(config) tpl.add_description('Epg example service') resources = tpl.resource_outputs('EpgResources') service = components.service.Private( 'epg', template=tpl, Config=config, ArtifactPrefix='mtg/epg', Owner='viaplay', RecordSet='viaplay', ).dns(‘epg') return tpl Decoupled DNS Blue/Green Deploy Migration of Infrastructure
  • 47. Closing Thoughts • Don’t mix IaC and manual configuration • Separate infrastructure changes from code deployment • Hide complexity where it’s easy to test • Testing infrastructure can be slow • Snowflakes are beautiful - in nature • Long uptime is not cool • Version control the infrastructure • Aim for a strategy where change is easy to evaluate