http://stiller.co.il/blog/2014/01/upcoming-event-from-alm-to-devops/
How do companies like Microsoft, Twitter, Facebook and LinkedIn achieve high levels of execution which allow implementing hundreds and even thousands of lines of code every day, while maintaining a high & consistent level of performance, security and availability? How can the development and operation environments work together to create a meaningful competitive edge for the organization?
In an era where time-to-market and product quality have a critical meaning, the DevOps methodology offers simple and effective ways to shorten schedules, improve the product quality and maintain a competitive edge.
In this presentation, which is part of the "From ALM to DevOps" day, I explain and demonstrate the principles of DevOps in Windows Azure. Also demonstrated is the possible synchronization between Team Foundation Server (TFS) and Microsoft System Center (SCOM),
1. DevOps in the Cloud
Eran Stiller
Cloud Division Leader, Senior Software Architect
erans@codevalue.net
http://stiller.co.il/blog/
http://codevalue.net
1
2. 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
3. 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
4. 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
5. 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
6. 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
7. 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
8. 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
9. 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
11. 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
12. 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
13. 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
14. 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
15. 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
16. 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
17. 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
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
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 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
22. 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
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
34. 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
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