SlideShare a Scribd company logo
1 of 40
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
DevOps on Windows
Akhtar Hossain, Solution Architect, HCLS, Amazon Web Services
June 14, 2017
How to Deploy Complex Windows Workloads
What to expect from the session
How we can leverage DevOps in making the Magic of
Software come true
We walk through the DevOps tools in AWS and how it
works in Windows
We describe and demonstrate Windows-specific
CI/CD pipeline for .NET in AWS
Why invest in DevOps
• Startups can now take on giants with little to
no funding ahead of time
• Getting your software into the hands of
millions is a click/download away
• Your ability to move fast is paramount to your
ability to fight off disruption
• Know before your customer that your service
is unavailable — trust/goodwill
Old software delivery model
The software delivery model has drastically changed
New software delivery model
Starting point:
• Is the release process automated
• Is the testing automated
• Unit test
• Integration test
• Continuous production testing
• Synthetic traffic
Be aware that a service is unavailable
Problem:
A service can stop working at any time for reasons inside
or outside of its control
Consequence:
Your service may be unavailable without your team
knowing about it
Use synthetic traffic to simulate real users
• Test all business critical functionality (UI and APIs)
• Tests must run quickly
• Measure client latencies
• Check for reachability
Techniques
1. Continuous production testing
2. Manage deployment health
3. Segment production deployment
4. Halt promotions
5. Gates
Prerequisites for success
• Versioned source
• Automated build
• Automated deployments
• Deploy to > 1 instance
• Unit tests
• Integration tests
• Continuous delivery
• Operations dashboard
Source
Build
Deploy to
Integration Stack
Integration Tests
Deploy to
Production
What tools do you need to move fast?
Releasing software in this new software-driven world
requires a number of tools:
• Tools to manage the flow of your software development
release process
• Tools to properly test and inspect your code for defects
and potential issues
• Tools to deploy your applications
• This talk uses AWS tools
A story from Amazon
In 2014:
• Thousands of service teams across Amazon
• + Building microservices
• + Practicing continuous delivery
• + Many environments (staging, beta, production,
multiple regions)
=50 million deploys
Automated actions and
transitions—from
check-in to production
Development benefits:
• Faster
• Safer
• Consistent &
standardized
• Visualization of the
process
Pipelines
• Integration
tests with
other systems
• Load testing
• UI tests
• Penetration
testing
Release processes have four major phases
Source Build Test Production
• Check-in
source code
such as .java
files
• Peer review
new code
• Compile code
• Unit tests
• Style checkers
• Code metrics
• Create
container
images
• Deployment
to production
environments
Release processes levels
Source Build Test Production
Continuous integration
Continuous delivery
Continuous deployment
State of Windows development on AWS
• AWS SDK for .NET
• AWS Toolkit for Visual Studio
• AWS Tools for Windows PowerShell
• AWS higher-level services
• AWS Code*, OpsWorks
• AWS Elastic Beanstalk
• RDS for SQL Server
• Amazon EC2 Systems Manager
Introducing Windows-based AWS Quick Starts
• Active Directory Domain Services
• Web Application Proxy + AD FS
• SQL Server
• SharePoint Server
• Exchange Server
• Lync/Skype for Business Server
• Remote Desktop Gateway
• CI/CD for Windows
AWS DevOps Tools
AWS CodePipeline AWS CodeDeployAWS CodeCommit AWS CodeBuild
AWS CloudFormation AWS OpsWorks AWS X-RayAWS
Elastic Beanstalk
DEMO1
OpsWorks
AWS Code* services
Commit Build Test Production
AWS CodePipeline
Software release steps:
AWS Code* services
Commit Build Test Production
AWS CodeCommit
AWS CodePipeline
AWS CodeDeployThird-party
tooling
Software release steps:
AWS CodeBuild
Continuous delivery service for fast and
reliable application updates
Model and visualize your software release
process
Builds, tests, and deploys your code every time
there is a code change
Integrates with third-party tools and AWS
AWS CodePipeline
MyApp
CodeCommit
Source
Build
CodeCommit
Build
DeployToInteg
CodeDeploy
Integration
IntegTest
End2EndTester
DeployToProd
CodeDeploy
Production
Source
Build
Deploy to
Integration Stack
Integration Tests
Deploy to
Production
Release process modeled in AWS CodePipeline
Pipeline Run
Action
Stage
Pipeline
Source change
• Starts a run; and
• Creates an artifact to be used by
other actions.
Change 1
Release and deploy process – starting point
MyApp
CodeCommit
Source
Build
Build
Build
DeployToInteg
CodeDeploy
Integration
IntegTest
End2EndTester
DeployToProd
CodeDeploy
Production
CodeDeploy
8. Retrieve build artifact
EC2 instance
CodePipeline
Source
Source
GitHub
Build
JenkinsOnEC2
Jenkins
Deploy
.Net App
Elastic Beanstalk
Source Artifact
S3
Build Artifact
S3
5. Get source artifact
1. Get changes
6. Store build artifact
3. Poll for job
4. Acknowledge job
7. Put success
9. Deploy build artifact
Elastic Beanstalk
Web container
.Net App
MyApplication
Extend AWS CodePipeline using custom actions
Update tickets Provision resources
Update dashboards
Mobile testing
Send notifications Security scan
AWS service integrations
Source Invoke Logic Deploy
AWS Elastic Beanstalk
Amazon S3 AWS CodeDeployAWS Lambda
AWS CodeCommit
AWS OpsWorks
AWS CloudFormation
We have a strong partner list, and it’s growing
Source Build Test Deploy
DEMO 2
CI/CD Pipeline
Gives developers and systems administrators
an easy way to create and manage a collection
of related AWS resources
Understands dependencies and supports
rollbacks and versioning
Allows for reusable component design
strategies
Supports a portable JSON or YAML format
Authoring tools continue to improve
AWS CloudFormation
The last mile of your automation comes down
to this
In the Windows world, this is almost always
PowerShell
Some Windows challenges are always there
(reboots, service restarts, security models)
The techniques you standardize on here can
make or break your approach
Bootstrapping
Configuration management
• Making your scripts idempotent ensures that they can be
rerun in place as needed
• PowerShell DSC or AWS Partner solutions can help you
PowerShell DSC Ansible Chef Puppet
PowerShell module
Initialize
New-AWSQuickStartWaitHandle
New-AWSQuickStartResourceSignal
Finalize
Write-AWSQuickStartException
Write-AWSQuickStartStatus
Reusable PowerShell module and scripts
PowerShell scripts
Create-
ADServiceAccount
Create-Share
Disable-AutoLogon
DisableCredSsp
Download-File
Enable-AutoLogon
EnableCredSsp
Install-Module
Install-WMF5
Invoke-
ADReplication
Join-Domain
Mount-DiskImage
New-
LocalAdministrator
Rename-Computer
Set-Dns
Unzip-Archive
https://github.com/aws-quickstart/quickstart-microsoft-utilities
Sourcing files and relative paths
"C:cfnscriptsInstall-ADFS.ps1": {
"source": {"Fn::Join": [
"/",[
{"Fn::FindInMap": [
"AWSInfoRegionMap",
{"Ref": "AWS::Region"},
"QuickStartS3URL"]},
{"Ref": "QSS3BucketName"},
{"Ref": "QSS3KeyPrefix"},
"scripts/Install-ADFS.ps1"
]]}}
Nested CloudFormation stacks
"Resources": {
"VPCStack": {
"Type": "AWS::CloudFormation::Stack",
"Properties": { "TemplateURL": {...},
"Parameters": {...}}},
"ADStack": {
"Type": "AWS::CloudFormation::Stack",
"Properties": { "TemplateURL": {...},
"Parameters": {...}}},
...
}
PowerShell scripts
param(
[Parameter(Mandatory=$true)]
[string]$Parameter1
)
try {
$ErrorActionPreference = "Stop"
#DO STUFF
}
catch {
$_ | Write-AWSQuickStartException
}
Invoking PowerShell scripts
"commands": {
...
"e-install-windows-failover-clustering": {
"command": "powershell.exe -Command
"C:cfnscriptsInstall-
WindowsFailoverClustering.ps1"",
"waitAfterCompletion": "0"
},
...
}
Handling Windows reboots
"b-rename-computer": {
"command": {"Fn::Join": ["",[
"powershell.exe ",
"–Command
""C:cfnscriptsRename-Computer.ps1 ",
"-Restart -NewName '",
{"Ref": "WSFCNode1NetBIOSName"},
"'""
]]},
"waitAfterCompletion": "forever"
}
CloudFormation signaling
"commands": {
"a-reboot": {
"command": "powershell.exe -Command "Restart-
Computer -Force"",
"waitAfterCompletion": "forever"
},
"b-signal-success": {
"command": "powershell.exe -Command "Write-
AWSQuickStartStatus""
}
}
DEMO 3
CI/CD Pipeline
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank you!

More Related Content

What's hot

Hybrid IT: A Stepping Stone to All-In - Pop-up Loft TLV 2017
Hybrid IT: A Stepping Stone to All-In - Pop-up Loft TLV 2017Hybrid IT: A Stepping Stone to All-In - Pop-up Loft TLV 2017
Hybrid IT: A Stepping Stone to All-In - Pop-up Loft TLV 2017Amazon Web Services
 
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...Amazon Web Services
 
Getting Started with AWS Security
 Getting Started with AWS Security Getting Started with AWS Security
Getting Started with AWS SecurityAmazon Web Services
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsAmazon Web Services
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryAmazon Web Services
 
Stacking Your Logs - Pop-up Loft TLV 2017
Stacking Your Logs - Pop-up Loft TLV 2017Stacking Your Logs - Pop-up Loft TLV 2017
Stacking Your Logs - Pop-up Loft TLV 2017Amazon Web Services
 
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)Amazon Web Services
 
Join Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN CloudJoin Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN CloudAmazon Web Services
 
Getting Started with AWS Security
Getting Started with AWS SecurityGetting Started with AWS Security
Getting Started with AWS SecurityAmazon Web Services
 
AWS Partner: REAN: Join Us to Explore DevOps on AWS
AWS Partner: REAN: Join Us to Explore DevOps on AWSAWS Partner: REAN: Join Us to Explore DevOps on AWS
AWS Partner: REAN: Join Us to Explore DevOps on AWSAmazon Web Services
 
Design Patterns for Developers - Technical 201
Design Patterns for Developers - Technical 201Design Patterns for Developers - Technical 201
Design Patterns for Developers - Technical 201Amazon Web Services
 
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...Amazon Web Services
 
Hack-Proof Your Cloud: Responding to 2016 Threats | AWS Public Sector Summit ...
Hack-Proof Your Cloud: Responding to 2016 Threats | AWS Public Sector Summit ...Hack-Proof Your Cloud: Responding to 2016 Threats | AWS Public Sector Summit ...
Hack-Proof Your Cloud: Responding to 2016 Threats | AWS Public Sector Summit ...Amazon Web Services
 
AWS re:Invent 2016: The Psychology of Security Automation (SAC307)
AWS re:Invent 2016: The Psychology of Security Automation (SAC307)AWS re:Invent 2016: The Psychology of Security Automation (SAC307)
AWS re:Invent 2016: The Psychology of Security Automation (SAC307)Amazon Web Services
 
Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017Amazon Web Services
 
(SEC307) A Progressive Journey Through AWS IAM Federation Options
(SEC307) A Progressive Journey Through AWS IAM Federation Options(SEC307) A Progressive Journey Through AWS IAM Federation Options
(SEC307) A Progressive Journey Through AWS IAM Federation OptionsAmazon Web Services
 

What's hot (20)

Hybrid IT: A Stepping Stone to All-In - Pop-up Loft TLV 2017
Hybrid IT: A Stepping Stone to All-In - Pop-up Loft TLV 2017Hybrid IT: A Stepping Stone to All-In - Pop-up Loft TLV 2017
Hybrid IT: A Stepping Stone to All-In - Pop-up Loft TLV 2017
 
Application Delivery Patterns
Application Delivery PatternsApplication Delivery Patterns
Application Delivery Patterns
 
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
SRV414 NEW LAUNCH! Introducing AWS CodeStar: The central experience to quickl...
 
Getting Started with AWS Security
 Getting Started with AWS Security Getting Started with AWS Security
Getting Started with AWS Security
 
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer ToolsDevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
DevOps on AWS: Deep Dive on Continuous Delivery and the AWS Developer Tools
 
DevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software DeliveryDevOps on AWS - Accelerating Software Delivery
DevOps on AWS - Accelerating Software Delivery
 
Stacking Your Logs - Pop-up Loft TLV 2017
Stacking Your Logs - Pop-up Loft TLV 2017Stacking Your Logs - Pop-up Loft TLV 2017
Stacking Your Logs - Pop-up Loft TLV 2017
 
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)
 
AWS Security and SecOps
AWS Security and SecOpsAWS Security and SecOps
AWS Security and SecOps
 
Application Migrations at Scale
Application Migrations at ScaleApplication Migrations at Scale
Application Migrations at Scale
 
Join Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN CloudJoin Us to Explore DevOps on AWS with REAN Cloud
Join Us to Explore DevOps on AWS with REAN Cloud
 
Getting Started with AWS Security
Getting Started with AWS SecurityGetting Started with AWS Security
Getting Started with AWS Security
 
AWS Partner: REAN: Join Us to Explore DevOps on AWS
AWS Partner: REAN: Join Us to Explore DevOps on AWSAWS Partner: REAN: Join Us to Explore DevOps on AWS
AWS Partner: REAN: Join Us to Explore DevOps on AWS
 
Design Patterns for Developers - Technical 201
Design Patterns for Developers - Technical 201Design Patterns for Developers - Technical 201
Design Patterns for Developers - Technical 201
 
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...
AWS re:Invent 2016: Industry Opportunities for AWS Partners: Healthcare, Fina...
 
Hack-Proof Your Cloud: Responding to 2016 Threats | AWS Public Sector Summit ...
Hack-Proof Your Cloud: Responding to 2016 Threats | AWS Public Sector Summit ...Hack-Proof Your Cloud: Responding to 2016 Threats | AWS Public Sector Summit ...
Hack-Proof Your Cloud: Responding to 2016 Threats | AWS Public Sector Summit ...
 
AWS re:Invent 2016: The Psychology of Security Automation (SAC307)
AWS re:Invent 2016: The Psychology of Security Automation (SAC307)AWS re:Invent 2016: The Psychology of Security Automation (SAC307)
AWS re:Invent 2016: The Psychology of Security Automation (SAC307)
 
Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017Delivering DevOps on AWS - Transformation Day Public Sector London 2017
Delivering DevOps on AWS - Transformation Day Public Sector London 2017
 
Protecting Our Data on AWS
Protecting Our Data on AWSProtecting Our Data on AWS
Protecting Our Data on AWS
 
(SEC307) A Progressive Journey Through AWS IAM Federation Options
(SEC307) A Progressive Journey Through AWS IAM Federation Options(SEC307) A Progressive Journey Through AWS IAM Federation Options
(SEC307) A Progressive Journey Through AWS IAM Federation Options
 

Similar to DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Sector Summit 2017

DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterAmazon Web Services
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterAmazon Web Services
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Amazon Web Services
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsAmazon Web Services
 
DevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San FranciscoDevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San FranciscoAmazon Web Services
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesAmazon Web Services
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...Amazon Web Services
 
A tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSA tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSAmazon Web Services
 
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...Amazon Web Services
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...Amazon Web Services
 
Automate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeployAutomate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeployAmazon Web Services
 
Dev ops on aws deep dive on continuous delivery - Toronto
Dev ops on aws deep dive on continuous delivery - TorontoDev ops on aws deep dive on continuous delivery - Toronto
Dev ops on aws deep dive on continuous delivery - TorontoAmazon Web Services
 
DevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous DeliveryDevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous DeliveryMikhail Prudnikov
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAmazon Web Services
 
Building a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioBuilding a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioKasun Kodagoda
 
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017Amazon Web Services
 

Similar to DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Sector Summit 2017 (20)

DevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver FasterDevOps on AWS - Building Systems to Deliver Faster
DevOps on AWS - Building Systems to Deliver Faster
 
SRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver FasterSRV312 DevOps on AWS: Building Systems to Deliver Faster
SRV312 DevOps on AWS: Building Systems to Deliver Faster
 
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
Dev Ops on AWS - Accelerating Software Delivery - AWS-Summit SG 2017
 
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer ToolsA Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
A Tale of Two Pizzas: Accelerating Software Delivery with AWS Developer Tools
 
DevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San FranciscoDevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San Francisco
 
Developer Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdfDeveloper Tools at AWS 2018.pdf
Developer Tools at AWS 2018.pdf
 
DevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and ProcessesDevOps at Amazon: A Look at Our Tools and Processes
DevOps at Amazon: A Look at Our Tools and Processes
 
Devops on AWS
Devops on AWSDevops on AWS
Devops on AWS
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
 
A tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWSA tale of two pizzas: Developer tools at AWS
A tale of two pizzas: Developer tools at AWS
 
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
A Tale of Two Pizzas: Accelerating Software Delivery with Developer Tools - D...
 
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
ENT201 A Tale of Two Pizzas: Accelerating Software Delivery with AWS Develope...
 
Automate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeployAutomate Software Deployments on EC2 with AWS CodeDeploy
Automate Software Deployments on EC2 with AWS CodeDeploy
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Dev ops on aws deep dive on continuous delivery - Toronto
Dev ops on aws deep dive on continuous delivery - TorontoDev ops on aws deep dive on continuous delivery - Toronto
Dev ops on aws deep dive on continuous delivery - Toronto
 
DevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous DeliveryDevOps On AWS - Deep Dive on Continuous Delivery
DevOps On AWS - Deep Dive on Continuous Delivery
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 
Building a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual StudioBuilding a Continuous Delivery Pipeline With Visual Studio
Building a Continuous Delivery Pipeline With Visual Studio
 
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
A Tale of Two Pizzas: Developer Tools at AWS - DevDay Los Angeles 2017
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 

More from Amazon Web Services

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...Amazon Web Services
 
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...Amazon Web Services
 
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 FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
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 Amazon Web Services
 
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...Amazon Web Services
 
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...Amazon Web Services
 
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 WorkloadsAmazon Web Services
 
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 sfatareAmazon Web Services
 
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 NodeJSAmazon Web Services
 
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 webAmazon Web Services
 
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 sfatareAmazon 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 AWSAmazon 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 DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon 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
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon 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

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Recently uploaded (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

DevOps on Windows: How to Deploy Complex Windows Workloads | AWS Public Sector Summit 2017

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. DevOps on Windows Akhtar Hossain, Solution Architect, HCLS, Amazon Web Services June 14, 2017 How to Deploy Complex Windows Workloads
  • 2. What to expect from the session How we can leverage DevOps in making the Magic of Software come true We walk through the DevOps tools in AWS and how it works in Windows We describe and demonstrate Windows-specific CI/CD pipeline for .NET in AWS
  • 3. Why invest in DevOps • Startups can now take on giants with little to no funding ahead of time • Getting your software into the hands of millions is a click/download away • Your ability to move fast is paramount to your ability to fight off disruption • Know before your customer that your service is unavailable — trust/goodwill
  • 4. Old software delivery model The software delivery model has drastically changed New software delivery model
  • 5. Starting point: • Is the release process automated • Is the testing automated • Unit test • Integration test • Continuous production testing • Synthetic traffic
  • 6. Be aware that a service is unavailable Problem: A service can stop working at any time for reasons inside or outside of its control Consequence: Your service may be unavailable without your team knowing about it
  • 7. Use synthetic traffic to simulate real users • Test all business critical functionality (UI and APIs) • Tests must run quickly • Measure client latencies • Check for reachability
  • 8. Techniques 1. Continuous production testing 2. Manage deployment health 3. Segment production deployment 4. Halt promotions 5. Gates
  • 9. Prerequisites for success • Versioned source • Automated build • Automated deployments • Deploy to > 1 instance • Unit tests • Integration tests • Continuous delivery • Operations dashboard Source Build Deploy to Integration Stack Integration Tests Deploy to Production
  • 10. What tools do you need to move fast? Releasing software in this new software-driven world requires a number of tools: • Tools to manage the flow of your software development release process • Tools to properly test and inspect your code for defects and potential issues • Tools to deploy your applications • This talk uses AWS tools
  • 11. A story from Amazon In 2014: • Thousands of service teams across Amazon • + Building microservices • + Practicing continuous delivery • + Many environments (staging, beta, production, multiple regions) =50 million deploys
  • 12. Automated actions and transitions—from check-in to production Development benefits: • Faster • Safer • Consistent & standardized • Visualization of the process Pipelines
  • 13. • Integration tests with other systems • Load testing • UI tests • Penetration testing Release processes have four major phases Source Build Test Production • Check-in source code such as .java files • Peer review new code • Compile code • Unit tests • Style checkers • Code metrics • Create container images • Deployment to production environments
  • 14. Release processes levels Source Build Test Production Continuous integration Continuous delivery Continuous deployment
  • 15. State of Windows development on AWS • AWS SDK for .NET • AWS Toolkit for Visual Studio • AWS Tools for Windows PowerShell • AWS higher-level services • AWS Code*, OpsWorks • AWS Elastic Beanstalk • RDS for SQL Server • Amazon EC2 Systems Manager
  • 16. Introducing Windows-based AWS Quick Starts • Active Directory Domain Services • Web Application Proxy + AD FS • SQL Server • SharePoint Server • Exchange Server • Lync/Skype for Business Server • Remote Desktop Gateway • CI/CD for Windows
  • 17. AWS DevOps Tools AWS CodePipeline AWS CodeDeployAWS CodeCommit AWS CodeBuild AWS CloudFormation AWS OpsWorks AWS X-RayAWS Elastic Beanstalk
  • 19. AWS Code* services Commit Build Test Production AWS CodePipeline Software release steps:
  • 20. AWS Code* services Commit Build Test Production AWS CodeCommit AWS CodePipeline AWS CodeDeployThird-party tooling Software release steps: AWS CodeBuild
  • 21. Continuous delivery service for fast and reliable application updates Model and visualize your software release process Builds, tests, and deploys your code every time there is a code change Integrates with third-party tools and AWS AWS CodePipeline
  • 22. MyApp CodeCommit Source Build CodeCommit Build DeployToInteg CodeDeploy Integration IntegTest End2EndTester DeployToProd CodeDeploy Production Source Build Deploy to Integration Stack Integration Tests Deploy to Production Release process modeled in AWS CodePipeline Pipeline Run Action Stage Pipeline Source change • Starts a run; and • Creates an artifact to be used by other actions. Change 1
  • 23. Release and deploy process – starting point MyApp CodeCommit Source Build Build Build DeployToInteg CodeDeploy Integration IntegTest End2EndTester DeployToProd CodeDeploy Production CodeDeploy
  • 24. 8. Retrieve build artifact EC2 instance CodePipeline Source Source GitHub Build JenkinsOnEC2 Jenkins Deploy .Net App Elastic Beanstalk Source Artifact S3 Build Artifact S3 5. Get source artifact 1. Get changes 6. Store build artifact 3. Poll for job 4. Acknowledge job 7. Put success 9. Deploy build artifact Elastic Beanstalk Web container .Net App MyApplication
  • 25. Extend AWS CodePipeline using custom actions Update tickets Provision resources Update dashboards Mobile testing Send notifications Security scan
  • 26. AWS service integrations Source Invoke Logic Deploy AWS Elastic Beanstalk Amazon S3 AWS CodeDeployAWS Lambda AWS CodeCommit AWS OpsWorks AWS CloudFormation
  • 27. We have a strong partner list, and it’s growing Source Build Test Deploy
  • 29. Gives developers and systems administrators an easy way to create and manage a collection of related AWS resources Understands dependencies and supports rollbacks and versioning Allows for reusable component design strategies Supports a portable JSON or YAML format Authoring tools continue to improve AWS CloudFormation
  • 30. The last mile of your automation comes down to this In the Windows world, this is almost always PowerShell Some Windows challenges are always there (reboots, service restarts, security models) The techniques you standardize on here can make or break your approach Bootstrapping
  • 31. Configuration management • Making your scripts idempotent ensures that they can be rerun in place as needed • PowerShell DSC or AWS Partner solutions can help you PowerShell DSC Ansible Chef Puppet
  • 32. PowerShell module Initialize New-AWSQuickStartWaitHandle New-AWSQuickStartResourceSignal Finalize Write-AWSQuickStartException Write-AWSQuickStartStatus Reusable PowerShell module and scripts PowerShell scripts Create- ADServiceAccount Create-Share Disable-AutoLogon DisableCredSsp Download-File Enable-AutoLogon EnableCredSsp Install-Module Install-WMF5 Invoke- ADReplication Join-Domain Mount-DiskImage New- LocalAdministrator Rename-Computer Set-Dns Unzip-Archive https://github.com/aws-quickstart/quickstart-microsoft-utilities
  • 33. Sourcing files and relative paths "C:cfnscriptsInstall-ADFS.ps1": { "source": {"Fn::Join": [ "/",[ {"Fn::FindInMap": [ "AWSInfoRegionMap", {"Ref": "AWS::Region"}, "QuickStartS3URL"]}, {"Ref": "QSS3BucketName"}, {"Ref": "QSS3KeyPrefix"}, "scripts/Install-ADFS.ps1" ]]}}
  • 34. Nested CloudFormation stacks "Resources": { "VPCStack": { "Type": "AWS::CloudFormation::Stack", "Properties": { "TemplateURL": {...}, "Parameters": {...}}}, "ADStack": { "Type": "AWS::CloudFormation::Stack", "Properties": { "TemplateURL": {...}, "Parameters": {...}}}, ... }
  • 36. Invoking PowerShell scripts "commands": { ... "e-install-windows-failover-clustering": { "command": "powershell.exe -Command "C:cfnscriptsInstall- WindowsFailoverClustering.ps1"", "waitAfterCompletion": "0" }, ... }
  • 37. Handling Windows reboots "b-rename-computer": { "command": {"Fn::Join": ["",[ "powershell.exe ", "–Command ""C:cfnscriptsRename-Computer.ps1 ", "-Restart -NewName '", {"Ref": "WSFCNode1NetBIOSName"}, "'"" ]]}, "waitAfterCompletion": "forever" }
  • 38. CloudFormation signaling "commands": { "a-reboot": { "command": "powershell.exe -Command "Restart- Computer -Force"", "waitAfterCompletion": "forever" }, "b-signal-success": { "command": "powershell.exe -Command "Write- AWSQuickStartStatus"" } }
  • 40. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you!

Editor's Notes

  1. Know before your customer
  2. So where do we start … Is the release process automated … commit code, build, test, deploy Is the testing automated – do you automated scripts as part for Unit Testing, for Integrated Testing, Do you do Continuous Production Testing, Are you introducing synthetic traffic
  3. Importantly be aware that a service is unsalable … So automating - Monitoring, production testing and synthetic traffic are equally important
  4. A little more on synthetic traffic
  5. Notes SDK for .NET – Many recent improvements related to .NET Core, Extensions went live in Sept. to deal with the removal of the ConfiguraitonManager. Toolkit – This continues to be a tool AWS invests in to make it easier to do development targeting AWS. There is an explorer and a simple mechanism for pushing directly to beanstalk. It’s one of the best tools available for editing CF templates Tools for Powershell – continue to evolve these and as services release the CLI will rev and so does the powershell cmdlets CodeDeploy – Service that provides an agent solution that runs on Windows in AWS or on-premise and communicates to a central command/control service you can configure to run a bunch of setup hooks and code laydown. Customers are using this to deploy to 100’s of instances. ElasticBeanstalk – often characterized as the AWS platform as a service but that really isn’t what this service is all about. This service is about simplifying and putting consistency into your deployment and operations of a constrained solution. Think .NET multi-tier web API or a backend worker fleet that needs to crunch through events coming into a queue or … RDS for SQL Server – We deploy and provide SQL Server in a managed way and recently allow you to implement a domain join and integrated security model SSM – This gives you remote powershell command automation. More Info > http://blogs.aws.amazon.com/net/
  6. The AWS Cloud makes it easy for developers to code, build, and deploy .NET solutions. AWS has a.NET SDK that simplifies the work for .NET developers who want to use AWS services. AWS also has a continuous integration (CI) orchestration service called AWS CodePipeline, and multiple deployment options to help developers quickly deploy and manage their .NET solutions. AWS Elastic Beanstalk and AWS CodeDeploy provide an easy model for deploying and versioning .NET applications. Quick Starts are automated reference deployments for key workloads on the AWS Cloud. Each Quick Start launches, configures, and runs the AWS compute, network, storage, and other services required to deploy a specific workload on AWS, using AWS best practices for security and availability.
  7. Done in a declarative fashion
  8. Making scripts reusable is great, but making scripts re-run in place is ideal PowerShell DSC -> Configurations Ansible -> Playbooks Chef -> Recipes Puppet -> Manifests
  9. Found recurring pieces of code across Microsoft-based Quick Starts. For example: Many Windows environment need to join an AD domain. Converted these to reusable scripts and modules. Show how we use the AWSQuickStart PS Module to handle signaling. Reused across Quick Starts
  10. This is inside the "files" section of a specific cfn-init config set Sourcing files: We should do our best to not include the complex or potentially unreliable scripts inside “content” for a file and instead use “source” to get the file from a known location and place it in a secure location locally. This also makes it easier to develop and debug the scripts separately. Relative paths: Show how we take in a bucket and key prefix and figure out everything from there
  11. Relative paths are also used for the TemplateURL and Parameters (as needed) Realized that AD Stack and RDGateway were usually common building blocks across stacks.
  12. Show a PS Script with try/catch and catch using a Cmdlet from AWSQuickStart to signal the exception. Don’t forget the $ErrorActionPreference=Stop to ensure that non-terminating errors are also caught.
  13. This is inside the “commands" section of a specific cfn-init config set
  14. Why not put it in UserData? because of Windows reboots since UserData is only executed once (on the first instance launch) and not on subsequent reboots. Signaling must be handled via CFN init if there are reboots in the bootstrapping process. If you aren’t doing any reboots, it is OK to put this in user data. However, many Windows operations require reboots like host rename and domain join.