0% found this document useful (0 votes)
12 views36 pages

Azure DevOps Solutions Implementation Guide

The document outlines the objectives and key takeaways for a session on Azure Development and Test Environment Automation, emphasizing the importance of DevOps and automation in software development. It discusses various Azure capabilities, including resource management, automation tools, and the integration of PowerShell Desired State Configuration (DSC) for efficient cloud operations. The session aims to provide insights into implementing a DevOps approach and automating development and test environments in Azure.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views36 pages

Azure DevOps Solutions Implementation Guide

The document outlines the objectives and key takeaways for a session on Azure Development and Test Environment Automation, emphasizing the importance of DevOps and automation in software development. It discusses various Azure capabilities, including resource management, automation tools, and the integration of PowerShell Desired State Configuration (DSC) for efficient cloud operations. The session aims to provide insights into implementing a DevOps approach and automating development and test environments in Azure.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Azure Development and

Test Environment
Automation
Introduction

[Author]
[Title]
Agenda and Takeaways
Session Objectives:
Understand the main drivers for Dev/Ops
Understand the capabilities of Microsoft Azure (deployment, automation and orchestration
technologies)
Discuss use cases and scenarios
Q&A and white boarding

Key Takeaways:
Understand key scenarios for development and test environment automation in Azure
Understand how to implement a Dev/Ops approach for development and test automation
Agenda
Introduction to Dev/Ops
Introduction to Automation & Orchestration
of Azure
Azure Resource Groups
Azure Automation
PowerShell Desired State Configuration
Development and Test Environment
Automation
Introduction to
Dev/Ops
People/Process is what % of
downtime?
PROCESS

OPERATIONS

APPLICATION FAILURE OPERATOR ERROR


• Change management • Forget something
• Overloaded • Lack of procedures
• Weak problem • Backup
detection errors/security
40% 40%

OTHER 20%
• Hardware/OS
• Network
• Power and disaster
Gartner Security Conference presentation "Operation Zero
Downtime," D. Scott
There is no problem
Resolving issues without DevOps
with my code, you’re
either deploying
wrong or there is a
problem with your
infrastructure.

Infrastructure looks
good, must be a code
problem.
Customer finds Operations gets
problem notified
with your of application
application. problem.
DEV OPS
Conflicts across Dev, Ops, and
Business Ops: “You’re Dev: “I need 5
losing us more features
money with all on the
these application by
outages!” next week.”

You’re causing me
outages with all I’m just trying to crank
your frequent out the code quickly to
updates to keep the boss happy.
production… BUSINESS You’re
only slowing me down!
behind my back!

OPS DEV
DevOps: the three stage
conversation

1 People 2 Process 3 Products


The three ways

DEV
(Business)
OPS
(Customer
)

THE
THEFIRST
THE SECOND
THIRD WAY
WAY
WAY
Continual
Flow/systems
Feedback/
experimentation
thinking
amplify
and learning
ITIL and DevOps PROCESS

SERVICE DELIVERY PROCESSES


Service Continuity Management Service Level Financial Management
Availability Management Management Capacity Management

CONTROL PROCESSES
Configuration Management
Change Management
RELATIONSHIP RESOLUTION
PROCESSES PROCESSES

Business Relationship RELEASE Incident Management


Management PROCESS Problem Management
Release Management
Supplier Management Knowledge
Management
How can Operations help with
DevOps?
Accelerate Optimize Improve Increase
1
delivery 2
resources 3
availability 4
applicatio
n quality

SLA

Do
these…
DevOps benefits
Key findings:
Organizations that implemented
DevOps reported: ORGANIZATIONS THAT HAVE
IMPLEMENTED DEVOPS SAW THESE
Improved quality of software BENEFITS:
deployments IMPROVED QUALITY OF
SOFTWARE DEPLOYMENTS 65%
High performance and reliability
MORE FREQUENT
SOFTWARE RELEASES 63%
TOP 5 TOOLS USED TO SUPPORT IMPROVED VISIBILITY INTO IT
DEVOPS INITIATIVES PROCESS AND 61%
REQUIREMENTS

CULTURAL CHANGE
VERSION CONTROL SYSTEMS
84 COLLABORATION/ 55%
COOPERATION
%
MORE
CONFIGURATION MANAGEMENT 78%
RESPONSIVENESS TO 55%
BUSINESS NEEDS
Source: [Link]
MORE AGILE
TICKETING SYSTEM 68% DEVELOPMENT 51%

MORE AGILE CHANGE


Ship code 30x faster RESOURCE MANAGEMENT 45%
and complete those deployments 8,000 times faster than MONITORING 60% PROCESS
their peers.
IMPROVED
PROVISIONING 56% QUALITY OF CODE 38%
Have 50% fewer failures
and restore service 12 times faster than their peers.
Microsoft’s ALM framework
Requirement
Plan s Operate + learn

Development Collaboration Production

Develop + test Release


ALM framework
Cloud

Source Build
On-premises

Operations

Test/issues Deployment Application

Process tools
Open source ecosystem
GitHub Puppet Public Cloud
Chef
Codeplex Jenkins Hudson Labs
Microsoft Azure
Configuratio Alerting
n

Grunt Gradle
Jenkins Hudson
Linux
Zabbix Cacti
Source Build On-premises Monitor
Gradle Vagrant Travis

Fog Grunt
Ops
Visual Puppet
Studio Labs Eclipse Selenium

Test/issues Deploy App


Redmine JIRA

Process tools
Microsoft ecosystem
Release Management
for Visual Studio Microsoft Azure

Team Foundation ONE


Team Foundation Server
CONSISTENT
PLATFORM Visual Studio
SERVICE
Server ON-
PREMISES PROVIDER Online
OR Release Management Application
for Visual Studio Automation Insights
TFV GIT Service
C
System
Operations Manager
Repository Build Center

PowerShe WAML
ll

Team Foundation
Server xPlat CLI Ops
Microsoft Test Manager
Resourc
Microsoft Monitoring e Groups
Agent Release Management
for Visual Studio
Test Deploy App

Service
Manager

Process tools
On-premises
Release Management
for Visual Studio

Team Foundation Private Cloud System


Team Foundation Operations
Center Manager
Server
Version Control

Power Shell DSC System


Virtual Machine Manager
Center
Repository Build

Microsoft Test
Manager
Team Foundation Ops
Server
Microsoft
Monitoring Agent

Test Deploy App

Learn
Process tools
Cloud
IaaS
Visual Studio
Online Application
Puppet PowerShell Insights
Labs DSC
IIS VM SQL VM

PaaS – Cloud
Service
Repository Build Azure Resource
Groups

PaaS – Website
Visual Studio Online
Application Insights
Ops
Microsoft Monitoring
Agent

Test Deploy App

Learn
DevOps goals and success metrics
Increase Reduce change Reduce change Reduce mean-
deployment lead-time (react fail rate time-to-detect
frequency faster to & repair (MTTD,
dynamic MTTR)
business needs)

Agility performance indicators Reliability performance indicators


Introduction to
Automation and
Orchestration of
Azure
Process automation that simplifies
cloud management
Optimize and Deliver flexible Lower costs and
extend existing and reliable improve
investments services predictability

Integration Orchestration Automation


Integrate into existing Accelerate time to value Enable service owners to
systems with PowerShell with flexible process focus on work that adds
integration modules workflows business value
Build additional PS Improve service Reduce error-prone manual
modules to enable reliability across activities while lowering
integrating into other multiple tools, systems, costs
systems and department silos
Azure Resource Management
Tools
Microsoft Azure Command Line Visual Studio

SERVICE MANAGEMENT API

RESOURCE MANAGER

ADFS
Cloud On-Premises
AAD

RESOURCE PROVIDER CONTRACT

Provider
Rest Points
i
Azure Resource
Groups
Introducing Resource
Manager
Application Lifecycle Container

Declarative solution for Deployment and Configuration

Consistent Management Layer


Resource
Groups
RESOURCE GROUP
 Tightly coupled containers
of multiple resources of
similar or different types
 Every resource *must* exist
in one and only one
resource group
 Resource groups can span
regions
Coupling for Resources
Resource Group is a unit of management

 Lifecycle: deployment, update, delete, status

 Identity: resources can talk to each other

 Grouping: Metering, billing, quota: applied & rolled up to


group
Azure Automation
Azure Automation Capabilities
Runbook Authoring in Azure: Support requirements for scale and H/A. modules and runbooks for Azure services
Create runbooks to automate all aspects Built on PowerShell Workflow. Isolation for or to connect into 3rd party systems
of cloud operations, from deployment, runbook jobs
monitoring, and optimizations

Integration into other systems:


Highly Available Engine: Import PS modules and create additional Azure

Automation
Monitoring
Systems
Backup Patch Staged
Remediate
SQL Azure Azure VMs deploymen
alert on a
on a without t of a
service
schedule downtime service

Change
Control
Systems

Anything 
Typical Azure Automation
Scenarios
Patch / Update / Change Control & Monitoring &
Backup Provisioning Remediation
Orchestration

Patch Azure IaaS VMs without Deploy a VM on an Azure / On- Alert on a VM then turn on
downtime, leveraging Traffic Premise cloud and enable tracing, collect logs, upload to
manager. monitoring for the VM. Azure Storage and make
available in Visual Studio for
Deploy a new service to Azure troubleshooting.
Enable regeneration of and configure the end points
storage account keys while for CPU and Memory alerts.
avoiding downtime in the Monitor for when a new
application. Deploy application from Git, service gets created, and
run validation tests, and swap configure it for the right
to production if tests pass. tracing / backup policy.
SQL Backup on a schedule.
Monitor SharePoint online for
an approval to update a Notify users of a subscription
Backup and restore IaaS VMs. service and update the who have underutilized VMs
service once approved. and perform remediation.
PowerShell Desired
State Configuration
(DSC)
What is DSC?
The “End Game”
This technology was the “final destination” in the “Monad Manifesto.”
That’s the document written by Windows PowerShell inventor Jeffrey
Snover, wherein he described his vision for changing administration in a
Microsoft environment.

In some respects, DSC eliminates the need for some


administrators to even learn Windows PowerShell. It’s that
important.
Moving to DSC…
Depend Configuration
en
Resolut cy Intent
In ion
te r
n r o
t Er
g & g DSC Engine
gin dlin
o g an Dependency Resolution
L H Rebo
Resili ot Logging & Error
Re ency Handling
Au pea Reboot Resiliency
t o ta
m bl Repeatable Automation
at e
i
Technology on Resources
Specific Technology Specific
Traditional Scripts
Think About It
Configuration is Just a Text File!
If you’re configuring everything on your servers by means of DSC, then all
of your configurations are just text files.

They’re searchable. Index-able. Human-readable.

Easily modified by tools! Imagine a GUI where you set up configurations,


and it just writes out text files.

Easily modified by tools!!! Imagine a wizard that adds a new user… but
really just modifies configuration scripts targeting your domain controllers,
file servers, and whatever else. Configuring anything becomes a matter of
modifying text files.
DSC & Azure – better together
Development & Test
Environment
Automation
Questions
?

You might also like