Hands-on DevOps practices in the enterprises are as rare as unicorns in your local grocery store. In this session, we will get past the shiny outside and get to the actual technical details through some slides and demos.
Presentation given at TugaIT 2017 in Lisbon, Portugal.
http://tugait.pt/2017/sessions/taming-the-devops-unicorn-with-azure-and-visual-studio-team-services/
5. @fincooper #TUGAIT
ABOUT ME
•Managing Consultant, Kompozure
•Working on Azure since 2011
•MCT, MCSE, MCSD, LMGTFY
•Worked with dozens of customer organizations
in their journey to Azure
•Finland Azure User Group organizer
•IglooConf organizer
6. @fincooper #TUGAIT
AGENDA
•Overview of DevOps practices and tooling in Azure projects
•Infrastructure as Code (ARM Templates)
•Continuous Integration and Deployment
After the session, you’ll be able to:
▪Implement DevOps processes in Azure projects (Code, Build,
Test, Deploy, Monitor)
▪Integrate ARM template deployments with your application
lifecycle
▪Explain to your ITIL-speaking boss how to best get started with
DevOps within your organization
7. @fincooper #TUGAIT
WHY DEVOPS?
•DevOps enables you to move software quickly from initial idea through
creation and validation into a production release, without rework loops.
•Reduced rework allows teams to focus on delivering more net-new
value.
•Shorter cycle times support increased responsiveness.
•Imagine: high performing multidisciplinary teams who pull from a
common product backlog, minimize work in process, and deliver work
ready to deploy live at the end of each sprint.
8. @fincooper #TUGAIT
DEVOPS UNICORNS
•Unicorns: DevOps superstar successes like
Flickr, Netflix or LinkedIN
•Horses: companies that follow safe, traditional,
reliable methods
•“If there’s anything that all horses hate, it’s
hearing stories about unicorns.”
9. @fincooper #TUGAIT
DEVOPS UNICORNS
•All unicorns were once horses. They just grew
horns.
•Flickr, Google, Amazon, Twitter, Facebook or
LinkedIN weren't born this way.
•Horses that have evolved into unicrorns:
▪Bank of America
▪GAP
▪UK.gov
11. @fincooper #TUGAIT
INFRASTRUCTURE AS CODE
•Infrastructure as Code (IaC) is the process of managing and
provisioning computing infrastructure and their configuration through
machine-processable definition files.
•In Azure, IaC is done using an Azure Resource Manager template file
(JSON format) that contains the desired state of resources to be
created in Azure.
•Other IaC tools include:
▪Chef
▪Puppet
▪Terraform
▪Ansible
▪PowerShell DSC
16. @fincooper #TUGAIT
CONTINUOUS INTEGRATION
“Continuous integration (CI) is a development practice that requires
developers to integrate code into a shared repository several times a
day.
Each integration is verified by an automated build (including tests) to
detect integration errors as quickly as possible”.
Martin Fowler
17. @fincooper #TUGAIT
CI PRACTICES
•Automate testing
•Test in a clone of the production environment (IAC)
•Keep the build time under 15 minutes
•Focus on visibility: everyone should see the progress
•Automate deployment
18. @fincooper #TUGAIT
CD PRACTICES
•Continuous delivery is the extension of continuous integration
processes all the way into the production enviroment.
•No new work allowed when builds fail
•Transition from manual process review to automated tests (in ITSM
release, change, and configure)
20. @fincooper #TUGAIT
FURTHER READING
•The Phoenix Project, by Gene Kim, Kevin Behr and George Spafford
•Build Sessions:
▪P8054 - Bridging the gap between app and infra, with monitoring solutions in
Microsoft Azure
▪P4043 Gain visibility into your apps with Azure Application Insights