SlideShare a Scribd company logo
Continuous Delivery
with Visual Studio Team Services, Azure Resource
Manager, Azure VM ScaleSets, and Powershell DSC
Justin Barias
Readify
Agenda
• Brief primer on DevOps
• What’s Continuous *?
• The Continuous Delivery Pipeline
• Breaking it down
• Putting it together
What is DevOps?
Automation?
Cloud?
Smaller and faster
releases?
Devs who do Ops?
Ops who do dev?
2 pizza
teams?
Culture
Just a buzzword
Just a title
What is DevOps?
• A methodology that promotes collaboration and
coordination between Dev and Ops teams to deliver
products or services in a continuous manner.
• A combination of Culture, Process, and Tools.
• Doesn’t concern just Dev and Ops – all the way from the
ground up
The DevOps “journey”
Continous
Integration
Continuous
Delivery
Continuous
Deployment
Continuous Integration
Code Build Test
• Ways of working & managing work in progress – Agile
[Scrum/Kanban]
• Source code management [Git/SVN] * including
infrastructure-as-code
• Build Automation
• Artifact Management
• Test Automation * yes, including infrastructure-as-code
Let’s talk Infrastructure as Code
(IaC)  Treat as you would Application
Code
 Source control, unit testing,
etc.
 Certain design patterns are
applicable -
decomposition/composition
 Design with the pipeline in
mind
 A good branching strategy
(ideally must match your app
branching)
ARM Templates – (PS) Test-
AzureRmResourceGroupDeployment
AWS CloudFormation – (CLI) aws
cloudformation validate-template
Powershell DSC – Pester
Ruby/Ruby DSL-based – Provided
by vendor (Chef/puppet)
Dockerfiles – orchestrator specific
(use rSpec/ServerSpec to test
dockerfiles)
Testing your
infrastructure code
Continuous Integration Workflow
Continuous
Integration Demo
Let’s take a look at the Git repo
ARM
templatesPowershell
DSC*****
Nuget Package Management
StuffHelper scripts
App Source Code (.NET core 1.1
MVC)
Continuous Delivery
Provision Deploy
• The practice of testing and releasing builds in an automated
fashion, ensuring it is ”production-ready”
• Provision & configure environments in an idempotent
fashion
• Configure and release application code artifacts in a secure,
automated mannerIdempotence - is the property of certain, that can be applied multiple times without changing the result beyond the initial
application
Continuous Delivery Workflow
Continuous Deployment
• Is the seamless ”switch” from the previous version of your
application to the new version as soon as a new build is
“delivered” e.g. cut-over
• Perform this in an automated, but quality-gated process
Continuous Deployment Strategies
In-place
• Update your
existing app
instances
• Also known as
“rolling
updates”
Blue-Green
• Gradually
replace
existing
instances
(Blue) with
new ones
(Green)
Red-Black
• Cut over from
the old set of
instances to
an entirely
new set of
instances
v1.0
v 1.1
v1.0
v1.0
v1.1 v1.0 v1.1
The Continuous Delivery Pipeline
Code Build Test Provision Deploy
Azure Resource
Manager
VM ScaleSets
PowerShell DSC
Let’s talk immutable infrastructure
Define Immutable:
ɪˈmjuːtəb(ə)l/
adjective
unchanging over time or unable to be
changed.
Considerations:
• Application config must be defined in release/run time
• Requires blue/green release capability
• Move away from dedicated “environments” (dedicated
dev, uat, staging)
• Might require some custom engineering with
loadbalancers (ELB, AzureAppGw, Traffic Manager)
• Say goodbye to RDP/SSH
ARM Templates
• Stack template (master template, linked to
vmfactory-vmss.json)
• VM ScaleSets (with Powershell DSC
extension)
• Test your templates! (Test-
AzureRMResourceGroupDeployment)
Techniques used:
• Link templates
• “Property bagging”
• Conditional variables
Nuget Server/Package
Management• Stores, describes, application packages
• Packages are immutable
• Authenticate using a ”Personal Access Token”
• Use vsts/build your own nuget server
Powershell DSC
• Two schools of thought for
instance/configuration management:
• Image-baking (use AzurRM.Compute/images
or OSS tools like Packer by Hashicorp)
• Agent-based config mgmt (Chef, Puppet,
DSC)
VSTS Release Management
• Technically, a glorified task
runner
• Other options:
• Jenkins (OSS)
• TeamCity
• Octopus Deploy
(proudly made by ex-
Readifarians)
• Build once, release
multiple times
• Don’t hardcode
variables/entries – use
tokenisation tasks or
CMDB (Azure Keyvault,
Consul by hashicorp)
Putting it all together
Continuous Delivery
Demo
One more thing….
Let’s release to a Kubernetes cluster..
• Kubernetes – one of the container orchestrator
tools out there (imo the best out there, good job
Google)
• Some kinks to put into a CI/CD pipeline
(especially if using VSTS)
• Azure Container Service is awesome.
Git Clone!
Github repo:
https://github.com/justinbarias/ExpertsLiveRepo
Thank You
www.expertslive.org.au
#expertsliveau

More Related Content

What's hot

Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
Eklove Mohan
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
Batyr Nuryyev
 
BOSE - Josh Steckler - Automating Automation: Build environments, on-demand
BOSE - Josh Steckler - Automating Automation: Build environments, on-demandBOSE - Josh Steckler - Automating Automation: Build environments, on-demand
BOSE - Josh Steckler - Automating Automation: Build environments, on-demand
DevOps Enterprise Summit
 
IP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryIP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous Delivery
Mandi Walls
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure Databricks
GoDataDriven
 
Perforce Remote Administration
Perforce Remote Administration  Perforce Remote Administration
Perforce Remote Administration
Perforce
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
David Rosen
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016
Kelly Looney
 
IndiaCloudSummit - Transforming to feature-driven development
IndiaCloudSummit - Transforming to feature-driven developmentIndiaCloudSummit - Transforming to feature-driven development
IndiaCloudSummit - Transforming to feature-driven development
Bhuvaneswari Subramani
 
Devops as a service
Devops as a serviceDevops as a service
Devops as a service
Saravanan Subburayal
 
Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014
Red Gate Software
 
Mind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps ChasmMind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps Chasm
QualiQuali
 
CD with spinnaker
CD with spinnakerCD with spinnaker
CD with spinnaker
AbdulBasit Kabir
 
Best Practices for Database Deployments
Best Practices for Database DeploymentsBest Practices for Database Deployments
Best Practices for Database Deployments
Red Gate Software
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
Adam Getchell
 
Software Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous DeliverySoftware Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous Delivery
Eberhard Wolff
 
Boosting Dev and Ops Productivity
Boosting Dev and Ops ProductivityBoosting Dev and Ops Productivity
Boosting Dev and Ops Productivity
XebiaLabs
 
How Spinnaker helped us achieve real Continuous Delivery
How Spinnaker helped us achieve real Continuous DeliveryHow Spinnaker helped us achieve real Continuous Delivery
How Spinnaker helped us achieve real Continuous Delivery
Ahmed Misbah
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
Shiva Narayanaswamy
 
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupIs Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Chase Douglas
 

What's hot (20)

Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
 
Fundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CDFundamentals of DevOps and CI/CD
Fundamentals of DevOps and CI/CD
 
BOSE - Josh Steckler - Automating Automation: Build environments, on-demand
BOSE - Josh Steckler - Automating Automation: Build environments, on-demandBOSE - Josh Steckler - Automating Automation: Build environments, on-demand
BOSE - Josh Steckler - Automating Automation: Build environments, on-demand
 
IP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous DeliveryIP Expo Nordic: Successful Practices for Continuous Delivery
IP Expo Nordic: Successful Practices for Continuous Delivery
 
CI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure DatabricksCI/CD with Azure DevOps and Azure Databricks
CI/CD with Azure DevOps and Azure Databricks
 
Perforce Remote Administration
Perforce Remote Administration  Perforce Remote Administration
Perforce Remote Administration
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
 
DevOps Workshops Fall 2016
DevOps Workshops Fall 2016DevOps Workshops Fall 2016
DevOps Workshops Fall 2016
 
IndiaCloudSummit - Transforming to feature-driven development
IndiaCloudSummit - Transforming to feature-driven developmentIndiaCloudSummit - Transforming to feature-driven development
IndiaCloudSummit - Transforming to feature-driven development
 
Devops as a service
Devops as a serviceDevops as a service
Devops as a service
 
Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014Database Deployment Pipeline - SQL In The City Workshop 2014
Database Deployment Pipeline - SQL In The City Workshop 2014
 
Mind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps ChasmMind the Gap: Crossing the DevOps Chasm
Mind the Gap: Crossing the DevOps Chasm
 
CD with spinnaker
CD with spinnakerCD with spinnaker
CD with spinnaker
 
Best Practices for Database Deployments
Best Practices for Database DeploymentsBest Practices for Database Deployments
Best Practices for Database Deployments
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
Software Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous DeliverySoftware Architecture for DevOps and Continuous Delivery
Software Architecture for DevOps and Continuous Delivery
 
Boosting Dev and Ops Productivity
Boosting Dev and Ops ProductivityBoosting Dev and Ops Productivity
Boosting Dev and Ops Productivity
 
How Spinnaker helped us achieve real Continuous Delivery
How Spinnaker helped us achieve real Continuous DeliveryHow Spinnaker helped us achieve real Continuous Delivery
How Spinnaker helped us achieve real Continuous Delivery
 
DevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best PracticesDevOps, Common use cases, Architectures, Best Practices
DevOps, Common use cases, Architectures, Best Practices
 
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User GroupIs Serverless The New Swiss Cheese? - AWS Seattle User Group
Is Serverless The New Swiss Cheese? - AWS Seattle User Group
 

Similar to ExpertsLive Session Deck

Devops
DevopsDevops
Devops
Aravindan A
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
Ganesh Samarthyam
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
CodeOps Technologies LLP
 
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
Kasun Kodagoda
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
Robert Greiner
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
Moataz Mahmoud
 
Successful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHSuccessful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPH
Mandi Walls
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
Callon Campbell
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
Shalu Ahuja
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
Davide Benvegnù
 
Devops on AWS
Devops on AWSDevops on AWS
Devops on AWS
AWS Riyadh User Group
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
Amazon Web Services
 
Devops Online Training - Edubodhi
Devops Online Training - EdubodhiDevops Online Training - Edubodhi
Devops Online Training - Edubodhi
Ramesh Pabba - seeking new projects
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
Bhargav Amin
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
UtpalenduChakrobortt1
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
Callon Campbell
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
Mesut Güneş
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
Moataz Nabil
 
Welcome to Azure Devops
Welcome to Azure DevopsWelcome to Azure Devops
Welcome to Azure Devops
Alessandro Scardova
 
DevOps Transformation Approach - Addteq
DevOps Transformation Approach - AddteqDevOps Transformation Approach - Addteq
DevOps Transformation Approach - Addteq
Addteq
 

Similar to ExpertsLive Session Deck (20)

Devops
DevopsDevops
Devops
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
DevOps - A Gentle Introduction
DevOps - A Gentle IntroductionDevOps - A Gentle Introduction
DevOps - A Gentle Introduction
 
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
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
 
Successful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPHSuccessful Practices for Continuous Delivery CodeCPH
Successful Practices for Continuous Delivery CodeCPH
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
Dev ops != Dev+Ops
Dev ops != Dev+OpsDev ops != Dev+Ops
Dev ops != Dev+Ops
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
 
Devops on AWS
Devops on AWSDevops on AWS
Devops on AWS
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Devops Online Training - Edubodhi
Devops Online Training - EdubodhiDevops Online Training - Edubodhi
Devops Online Training - Edubodhi
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Introduction to devops
Introduction to devopsIntroduction to devops
Introduction to devops
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
Introducing DevOps
Introducing DevOpsIntroducing DevOps
Introducing DevOps
 
Welcome to Azure Devops
Welcome to Azure DevopsWelcome to Azure Devops
Welcome to Azure Devops
 
DevOps Transformation Approach - Addteq
DevOps Transformation Approach - AddteqDevOps Transformation Approach - Addteq
DevOps Transformation Approach - Addteq
 

Recently uploaded

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
Techgropse Pvt.Ltd.
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 

Recently uploaded (20)

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdfAI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
AI-Powered Food Delivery Transforming App Development in Saudi Arabia.pdf
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
CAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on BlockchainCAKE: Sharing Slices of Confidential Data on Blockchain
CAKE: Sharing Slices of Confidential Data on Blockchain
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 

ExpertsLive Session Deck

  • 1. Continuous Delivery with Visual Studio Team Services, Azure Resource Manager, Azure VM ScaleSets, and Powershell DSC Justin Barias Readify
  • 2. Agenda • Brief primer on DevOps • What’s Continuous *? • The Continuous Delivery Pipeline • Breaking it down • Putting it together
  • 3. What is DevOps? Automation? Cloud? Smaller and faster releases? Devs who do Ops? Ops who do dev? 2 pizza teams? Culture Just a buzzword Just a title
  • 4. What is DevOps? • A methodology that promotes collaboration and coordination between Dev and Ops teams to deliver products or services in a continuous manner. • A combination of Culture, Process, and Tools. • Doesn’t concern just Dev and Ops – all the way from the ground up
  • 6. Continuous Integration Code Build Test • Ways of working & managing work in progress – Agile [Scrum/Kanban] • Source code management [Git/SVN] * including infrastructure-as-code • Build Automation • Artifact Management • Test Automation * yes, including infrastructure-as-code
  • 7. Let’s talk Infrastructure as Code (IaC)  Treat as you would Application Code  Source control, unit testing, etc.  Certain design patterns are applicable - decomposition/composition  Design with the pipeline in mind  A good branching strategy (ideally must match your app branching)
  • 8. ARM Templates – (PS) Test- AzureRmResourceGroupDeployment AWS CloudFormation – (CLI) aws cloudformation validate-template Powershell DSC – Pester Ruby/Ruby DSL-based – Provided by vendor (Chef/puppet) Dockerfiles – orchestrator specific (use rSpec/ServerSpec to test dockerfiles) Testing your infrastructure code
  • 11. Let’s take a look at the Git repo ARM templatesPowershell DSC***** Nuget Package Management StuffHelper scripts App Source Code (.NET core 1.1 MVC)
  • 12. Continuous Delivery Provision Deploy • The practice of testing and releasing builds in an automated fashion, ensuring it is ”production-ready” • Provision & configure environments in an idempotent fashion • Configure and release application code artifacts in a secure, automated mannerIdempotence - is the property of certain, that can be applied multiple times without changing the result beyond the initial application
  • 14. Continuous Deployment • Is the seamless ”switch” from the previous version of your application to the new version as soon as a new build is “delivered” e.g. cut-over • Perform this in an automated, but quality-gated process
  • 15. Continuous Deployment Strategies In-place • Update your existing app instances • Also known as “rolling updates” Blue-Green • Gradually replace existing instances (Blue) with new ones (Green) Red-Black • Cut over from the old set of instances to an entirely new set of instances v1.0 v 1.1 v1.0 v1.0 v1.1 v1.0 v1.1
  • 16. The Continuous Delivery Pipeline Code Build Test Provision Deploy Azure Resource Manager VM ScaleSets PowerShell DSC
  • 17. Let’s talk immutable infrastructure Define Immutable: ɪˈmjuːtəb(ə)l/ adjective unchanging over time or unable to be changed. Considerations: • Application config must be defined in release/run time • Requires blue/green release capability • Move away from dedicated “environments” (dedicated dev, uat, staging) • Might require some custom engineering with loadbalancers (ELB, AzureAppGw, Traffic Manager) • Say goodbye to RDP/SSH
  • 18. ARM Templates • Stack template (master template, linked to vmfactory-vmss.json) • VM ScaleSets (with Powershell DSC extension) • Test your templates! (Test- AzureRMResourceGroupDeployment) Techniques used: • Link templates • “Property bagging” • Conditional variables
  • 19. Nuget Server/Package Management• Stores, describes, application packages • Packages are immutable • Authenticate using a ”Personal Access Token” • Use vsts/build your own nuget server
  • 20. Powershell DSC • Two schools of thought for instance/configuration management: • Image-baking (use AzurRM.Compute/images or OSS tools like Packer by Hashicorp) • Agent-based config mgmt (Chef, Puppet, DSC)
  • 21. VSTS Release Management • Technically, a glorified task runner • Other options: • Jenkins (OSS) • TeamCity • Octopus Deploy (proudly made by ex- Readifarians) • Build once, release multiple times • Don’t hardcode variables/entries – use tokenisation tasks or CMDB (Azure Keyvault, Consul by hashicorp)
  • 22. Putting it all together
  • 25. Let’s release to a Kubernetes cluster.. • Kubernetes – one of the container orchestrator tools out there (imo the best out there, good job Google) • Some kinks to put into a CI/CD pipeline (especially if using VSTS) • Azure Container Service is awesome.

Editor's Notes

  1. Introduce myself been in australia for 1 year, worked across multiple domains across infrastructure & ops Doing DevOps for 2 years
  2. Reference site reliability engineering Demos will be time sensitive Take away is not to be a master of each component of the pipeline but rather to see the bigger story And to make DevOps "real"
  3. Tell a story on how I got into DevOps (AWS interview story) Joke on pizza Call out agile practitioners DevOps not exclusive to cloud
  4. Huge releases is the source/origin of maintenance windows/down time Huge part is culture, allergy to change Pathlogical, bureaucratic organisations
  5. Analogy with manufacturing Comparison with waterfall
  6. Dockerfiles? Who has worked /played around with docker?
  7. Demo VSTS Change application code slightly – branch, tag, commit Show VSTS Build, show continuous integration settings Show output of build Describe GitVersion (what it does)
  8. Show what the website looks like on my machine
  9. Example of dog feeding vs dog bathing
  10. Normally stops at functional tests
  11. Example - facebook
  12. Red-black is highest degree of reliability
  13. Kick off a release from this point, will take a while
  14. Break-glass scenario