DevOps in the Cloud
Eran Stiller
Cloud Division Leader, Senior Software Architect
erans@codevalue.net
http://stiller.co.il/blog/
http://codevalue.net

1
Agenda
• Introduction to Cloud Computing
– IaaS, PaaS & SaaS

•
•
•
•

Introduction to Windows Azure
ALM in the Cloud
Application Monitoring in the Cloud
DevOps with TFS & SCOM

2

DevOps in the Cloud
About Me
•
•
•
•
•
•

Cloud Division Leader
Software architect, consultant and instructor
Co-Founder at CodeValue Ltd.
More than 10 years of hands-on experience
.NET and Native Windows Programming
Expert in large-scale, server-side, highlyconcurrent systems

3

DevOps in the Cloud
About CodeValue
A leading software company
• More than 70 technology experts (3 MVP’s + 1 MRD)
• Provides high quality software development solutions
– Turn-Key projects
– Software development and consultation
– Tailor-made courses and training

• Fields of expertise include:
–
–
–
–
–
4

Cloud Computing
Advanced Mobile & Web Technologies
User Experience (UX) & User Interface (UI)
Application Lifecycle Management (ALM)
Performance & Debugging
DevOps in the Cloud
About OzCode
•
•
•
•
•
•

An innovative debugging extension for Visual-Studio
Simplify & visualize complex statements
Compare objects and collections
Search and filter collections
Focus on relevant data
http://oz-code.com

5
Introduction to Cloud Computing
Cloud Computing - A Game Changing Technology
• Infinite shared resources & services
– Infrastructure is not a limiting factor
– No need to equip for peak-load requirements

• Elasticity on demand
– Anytime, anywhere

• Efficient scalability and high availability
• Suitable pricing models
– Pay for what you use
6

DevOps in the Cloud
Cloud Computing
Evolution of Computing - The Next (Current) Big Thing
• Virtualization and Abstraction
– Details are abstracted from consumers
• Reduces complexity

• Not necessarily the Internet, can be on premises
– Private cloud

• Automation, Monitoring, Deployment
– Reduce cost, shift risk, shorten time-to-market, focus on business
functionality
7

DevOps in the Cloud
Less Worries
Focus on functionality
• Let others take care of:
–
–
–
–
–
–
–
–
8

Resource management
Security
Environments (staging, production)
High availability, scalability, load balancing
Fault tolerance
OS - installation, licensing, updates, patches
Network
Maintenance
DevOps in the Cloud
Cloud Containers
Practically infinite resources on demand
• You need, they provide
• Lower costs
– Hardware
– Location-based
•
•
•
•
9

Power (electricity)
Cooling
Networking
Good coverage
DevOps in the Cloud
Cloud Containers

10

Cloud Architecture Challenges
Cloud Fundamentals
• Infrastructure as a Service (IaaS):
– Compute, network, storage resources
– On-demand servers
– E.g. Amazon EC2, Rackspace, HP Cloud, Windows Azure

• Platform as a Service (PaaS):
– Operating systems and application infrastructure
– On-demand application-hosting environment
– E.g. Google AppEngine, Salesforce.com, Windows Azure, Amazon

• Software as a Service (SaaS):
– On-demand cloud applications
– E.g. Gmail, Office 365, Facebook
11

DevOps in the Cloud
The Benefits of the Cloud
The Cloud is about cheap, on-demand capacity
= Managed for
you

Standalone
Servers

IaaS

Applications
Runtimes
Database
Operating System
Virtualization
Server
Storage
Networking
12

Cloud Architecture Challenges

PaaS

SaaS
Cloud Computing Overview Summary
Cloud Computing is the natural computing evolution
• Deliver high end quality applications
– In cheaper costs
– In shorter time
– In less risks

13

DevOps in the Cloud
Introduction to Windows Azure
• Microsoft’s cloud
platform
• Windows Azure
provides IaaS & PaaS
• Microsoft also
provides SaaS with
Office 365 & Bing

14

DevOps in the Cloud
Introduction to Windows Azure
• Three ways to host a web application
– Azure Web-Sites (PaaS)
– Azure Cloud-Services (PaaS)
– Azure Virtual-Machines (IaaS)

• Not all PaaS services are born equal
– Cloud-Services allow more control than Web-Sites

15

DevOps in the Cloud
ALM In-Practice
• Our demo comprises of a simple Web-Application
– Hosted in an Azure Cloud Service

• Source code managed in Team Foundation Server (TFS)
• Continuous integration provided by TFS build server
• Separate code branches for various software stages
– Development
– Staging (QA)
– Production
16

DevOps in the Cloud
ALM In-Practice
Dev

TFS “Dev”
Branch

TFS Build
Continuous
Integration

Local Dev
Tests

QA

TFS
“Staging”
Branch

TFS Build
Continuous
Deployment

Azure
Staging
Env.

IT

TFS
“Prod.”
Branch

TFS Build
Continuous
Deployment

Azure
Production
Env.

17

DevOps in the Cloud
ALM In-Practice
• Staging & Production environments deployed in the
cloud
– Continuous Deployment to the cloud
• Automatic one-click deployment

– Provided by TFS Build Server
– Use Release Management for more complex scenarios

18

DevOps in the Cloud
DevOps in the Cloud

ALM IN THE CLOUD
Monitor Your Application
• Cloud hosted application are not immune to crashes
– The physical host can fail
• Deploy multiple instances
• Guarantee SLA

– The OS can crash
• Windows/Linux

– Your application MIGHT have bugs…
• QA can’t always help

• You should monitor your application!
20

DevOps in the Cloud
The Big Monitor in the Cloud
• Cloud-Services provide a build-in diagnostics module
– Azure Diagnostics API
Role Instance
Application
Code

Local Storage

21

Diagnostics
Monitor
IIS Logs
Event Logs
Perf. Counters
DevOps in the Cloud

Azure
Storage
The Big Monitor in the Cloud
• Various tools exist which can read Azure diagnostics
–
–
–
–
–

Visual Studio
Azure Management Portal
Azure Storage Explorer
Azure Diagnostics Manager
Microsoft System Center Operation Manager (SCOM)

• Choose the tools most appropriate for you

22

DevOps in the Cloud
DevOps with TFS & SCOM
• TFS & SCOM can synchronize “Production Issues”
• Allows for coordination between IT and
Development
– Close issues quickly & easily
– Less friction
– Everybody is happy! 

23

DevOps in the Cloud
DevOps with TFS & SCOM
An alert is
created in
SCOM

Assign to
engineering

Alert status:
Assigned to
engineering

TFS Work
Item Created

Alert status
Assigned to Engineering
24

TFS WI Status
New

DevOps in the Cloud
DevOps with TFS & SCOM
TFS Work Item
Created

Engineering
accepting the
issue

Alert status:
Acknowledged

WI Status:
Accepted

Alert status
Acknowledged
25

TFS WI Status
Accepted
DevOps in the Cloud
DevOps with TFS & SCOM
WI Status:
Accepted

Engineering
assigning a
developer for the
issue

WI Status:
Assigned
Alert status
Acknowledged
26

TFS WI Status
Assigned
DevOps in the Cloud
DevOps with TFS & SCOM
WI Status:
Assigned

Developer
starts working
on the issue

WI Status:
Work in
progress
Alert status
Acknowledged
27

TFS WI Status
Work in Progress
DevOps in the Cloud
DevOps with TFS & SCOM
Developer
checks his code
into the Dev
branch

WI Status:
Work in
progress

Local build and
deploy is
performed
Alert status
Acknowledged
28

TFS WI Status
Work in Progress
DevOps in the Cloud

Developer
verifies his fix
(until it works)
DevOps with TFS & SCOM
Developer’s fix
works in local
environment

Version
Manager merges
the changes to
Staging branch

Staging build
and deploy is
performed
Alert status
Acknowledged
29

TFS WI Status
Work in Progress
DevOps in the Cloud

QA verifies his
fix in Staging
DevOps with TFS & SCOM
Developer’s fix
works in Staging

Developer marks
the issue as
Resolved

Alert status:
Resolved

WI Status:
Resolved

Alert status
Resolved
30

TFS WI Status
Resolved
DevOps in the Cloud
DevOps with TFS & SCOM
Developer’s fix
works in
Staging

Version Manager
merges the changes
to Production
branch

Production build
and deploy is
performed

Alert status
Resolved
31

TFS WI Status
Resolved
DevOps in the Cloud
DevOps with TFS & SCOM
Developer’s fix
works in
Production

Developer
closes the Work
Item

Alert disappears
from SCOM

WI Status:
Closed

Alert status
N/A
32

TFS WI Status
Closed
DevOps in the Cloud
DevOps in the Cloud

DEVOPS IN ACTION
Summary
• Cloud computing is a game changing technology
– Focus on functionality
– Practically unlimited resources on demand

• IaaS vs. PaaS vs. SaaS
• ALM is very relevant in the cloud
– Continues Deployment makes your life esaier

• Monitor your cloud applications
– Implement measures for reacting to monitor artifacts

• TFS & SCOM can play nice together to make IT & Dev work
better together
The cloud is here! Take advantage of it! Manage it!
34

DevOps in the Cloud
Eran Stiller
erans@codevalue.net
http://stiller.co.il/blog/
http://codevalue.net

35

DevOps in the Cloud

DevOps in the Cloud

  • 1.
    DevOps in theCloud Eran Stiller Cloud Division Leader, Senior Software Architect erans@codevalue.net http://stiller.co.il/blog/ http://codevalue.net 1
  • 2.
    Agenda • Introduction toCloud Computing – IaaS, PaaS & SaaS • • • • Introduction to Windows Azure ALM in the Cloud Application Monitoring in the Cloud DevOps with TFS & SCOM 2 DevOps in the Cloud
  • 3.
    About Me • • • • • • Cloud DivisionLeader Software architect, consultant and instructor Co-Founder at CodeValue Ltd. More than 10 years of hands-on experience .NET and Native Windows Programming Expert in large-scale, server-side, highlyconcurrent systems 3 DevOps in the Cloud
  • 4.
    About CodeValue A leadingsoftware company • More than 70 technology experts (3 MVP’s + 1 MRD) • Provides high quality software development solutions – Turn-Key projects – Software development and consultation – Tailor-made courses and training • Fields of expertise include: – – – – – 4 Cloud Computing Advanced Mobile & Web Technologies User Experience (UX) & User Interface (UI) Application Lifecycle Management (ALM) Performance & Debugging DevOps in the Cloud
  • 5.
    About OzCode • • • • • • An innovativedebugging extension for Visual-Studio Simplify & visualize complex statements Compare objects and collections Search and filter collections Focus on relevant data http://oz-code.com 5
  • 6.
    Introduction to CloudComputing Cloud Computing - A Game Changing Technology • Infinite shared resources & services – Infrastructure is not a limiting factor – No need to equip for peak-load requirements • Elasticity on demand – Anytime, anywhere • Efficient scalability and high availability • Suitable pricing models – Pay for what you use 6 DevOps in the Cloud
  • 7.
    Cloud Computing Evolution ofComputing - The Next (Current) Big Thing • Virtualization and Abstraction – Details are abstracted from consumers • Reduces complexity • Not necessarily the Internet, can be on premises – Private cloud • Automation, Monitoring, Deployment – Reduce cost, shift risk, shorten time-to-market, focus on business functionality 7 DevOps in the Cloud
  • 8.
    Less Worries Focus onfunctionality • Let others take care of: – – – – – – – – 8 Resource management Security Environments (staging, production) High availability, scalability, load balancing Fault tolerance OS - installation, licensing, updates, patches Network Maintenance DevOps in the Cloud
  • 9.
    Cloud Containers Practically infiniteresources on demand • You need, they provide • Lower costs – Hardware – Location-based • • • • 9 Power (electricity) Cooling Networking Good coverage DevOps in the Cloud
  • 10.
  • 11.
    Cloud Fundamentals • Infrastructureas a Service (IaaS): – Compute, network, storage resources – On-demand servers – E.g. Amazon EC2, Rackspace, HP Cloud, Windows Azure • Platform as a Service (PaaS): – Operating systems and application infrastructure – On-demand application-hosting environment – E.g. Google AppEngine, Salesforce.com, Windows Azure, Amazon • Software as a Service (SaaS): – On-demand cloud applications – E.g. Gmail, Office 365, Facebook 11 DevOps in the Cloud
  • 12.
    The Benefits ofthe Cloud The Cloud is about cheap, on-demand capacity = Managed for you Standalone Servers IaaS Applications Runtimes Database Operating System Virtualization Server Storage Networking 12 Cloud Architecture Challenges PaaS SaaS
  • 13.
    Cloud Computing OverviewSummary Cloud Computing is the natural computing evolution • Deliver high end quality applications – In cheaper costs – In shorter time – In less risks 13 DevOps in the Cloud
  • 14.
    Introduction to WindowsAzure • Microsoft’s cloud platform • Windows Azure provides IaaS & PaaS • Microsoft also provides SaaS with Office 365 & Bing 14 DevOps in the Cloud
  • 15.
    Introduction to WindowsAzure • Three ways to host a web application – Azure Web-Sites (PaaS) – Azure Cloud-Services (PaaS) – Azure Virtual-Machines (IaaS) • Not all PaaS services are born equal – Cloud-Services allow more control than Web-Sites 15 DevOps in the Cloud
  • 16.
    ALM In-Practice • Ourdemo comprises of a simple Web-Application – Hosted in an Azure Cloud Service • Source code managed in Team Foundation Server (TFS) • Continuous integration provided by TFS build server • Separate code branches for various software stages – Development – Staging (QA) – Production 16 DevOps in the Cloud
  • 17.
    ALM In-Practice Dev TFS “Dev” Branch TFSBuild Continuous Integration Local Dev Tests QA TFS “Staging” Branch TFS Build Continuous Deployment Azure Staging Env. IT TFS “Prod.” Branch TFS Build Continuous Deployment Azure Production Env. 17 DevOps in the Cloud
  • 18.
    ALM In-Practice • Staging& Production environments deployed in the cloud – Continuous Deployment to the cloud • Automatic one-click deployment – Provided by TFS Build Server – Use Release Management for more complex scenarios 18 DevOps in the Cloud
  • 19.
    DevOps in theCloud ALM IN THE CLOUD
  • 20.
    Monitor Your Application •Cloud hosted application are not immune to crashes – The physical host can fail • Deploy multiple instances • Guarantee SLA – The OS can crash • Windows/Linux – Your application MIGHT have bugs… • QA can’t always help • You should monitor your application! 20 DevOps in the Cloud
  • 21.
    The Big Monitorin the Cloud • Cloud-Services provide a build-in diagnostics module – Azure Diagnostics API Role Instance Application Code Local Storage 21 Diagnostics Monitor IIS Logs Event Logs Perf. Counters DevOps in the Cloud Azure Storage
  • 22.
    The Big Monitorin the Cloud • Various tools exist which can read Azure diagnostics – – – – – Visual Studio Azure Management Portal Azure Storage Explorer Azure Diagnostics Manager Microsoft System Center Operation Manager (SCOM) • Choose the tools most appropriate for you 22 DevOps in the Cloud
  • 23.
    DevOps with TFS& SCOM • TFS & SCOM can synchronize “Production Issues” • Allows for coordination between IT and Development – Close issues quickly & easily – Less friction – Everybody is happy!  23 DevOps in the Cloud
  • 24.
    DevOps with TFS& SCOM An alert is created in SCOM Assign to engineering Alert status: Assigned to engineering TFS Work Item Created Alert status Assigned to Engineering 24 TFS WI Status New DevOps in the Cloud
  • 25.
    DevOps with TFS& SCOM TFS Work Item Created Engineering accepting the issue Alert status: Acknowledged WI Status: Accepted Alert status Acknowledged 25 TFS WI Status Accepted DevOps in the Cloud
  • 26.
    DevOps with TFS& SCOM WI Status: Accepted Engineering assigning a developer for the issue WI Status: Assigned Alert status Acknowledged 26 TFS WI Status Assigned DevOps in the Cloud
  • 27.
    DevOps with TFS& SCOM WI Status: Assigned Developer starts working on the issue WI Status: Work in progress Alert status Acknowledged 27 TFS WI Status Work in Progress DevOps in the Cloud
  • 28.
    DevOps with TFS& SCOM Developer checks his code into the Dev branch WI Status: Work in progress Local build and deploy is performed Alert status Acknowledged 28 TFS WI Status Work in Progress DevOps in the Cloud Developer verifies his fix (until it works)
  • 29.
    DevOps with TFS& SCOM Developer’s fix works in local environment Version Manager merges the changes to Staging branch Staging build and deploy is performed Alert status Acknowledged 29 TFS WI Status Work in Progress DevOps in the Cloud QA verifies his fix in Staging
  • 30.
    DevOps with TFS& SCOM Developer’s fix works in Staging Developer marks the issue as Resolved Alert status: Resolved WI Status: Resolved Alert status Resolved 30 TFS WI Status Resolved DevOps in the Cloud
  • 31.
    DevOps with TFS& SCOM Developer’s fix works in Staging Version Manager merges the changes to Production branch Production build and deploy is performed Alert status Resolved 31 TFS WI Status Resolved DevOps in the Cloud
  • 32.
    DevOps with TFS& SCOM Developer’s fix works in Production Developer closes the Work Item Alert disappears from SCOM WI Status: Closed Alert status N/A 32 TFS WI Status Closed DevOps in the Cloud
  • 33.
    DevOps in theCloud DEVOPS IN ACTION
  • 34.
    Summary • Cloud computingis a game changing technology – Focus on functionality – Practically unlimited resources on demand • IaaS vs. PaaS vs. SaaS • ALM is very relevant in the cloud – Continues Deployment makes your life esaier • Monitor your cloud applications – Implement measures for reacting to monitor artifacts • TFS & SCOM can play nice together to make IT & Dev work better together The cloud is here! Take advantage of it! Manage it! 34 DevOps in the Cloud
  • 35.

Editor's Notes

  • #10 Azure Chicago Site: 112 Containers, total computers: 224,000 2000 computers per containerAmazon growth: http://news.netcraft.com/archives/2013/05/20/amazon-web-services-growth-unrelenting.html