Devops Slides
Devops Slides
Devops Slides
Deployment
& Services
UNSW COMP9243 lecture, 7/5/2015
Dr. Ingo Weber
• DevOps Overview
• Microservices & Architecture
• RESTful services
• Continuous Deployment
Content based in part on DevOps: A Software Architect's Perspective, L. Bass, I. Weber, L. Zhu,
Addison-Wesley Professional, 2015. Some slides courtesy of Len Bass
NICTA Copyright 2015 2
Why DevOps?
• DevOps is about...
– bringing “agile” methods to operations
– encouraging collaboration between development and
operations staff, get them talking
– Formally: shared goals and teams of Devs and Ops
– Informally: beer & chips
Load Balancer
Frontend
Users
VM VM VM
Load Balancer
Backend
VM VM VM
Database
• Definition
“DevOps is a set of practices intended to reduce the
time between committing a change to a system and
the change being placed into normal production,
while ensuring high quality.”
• Source:
– http://nicta.info/devops
– Release date: June 2015
•Treat Operations •Small teams •Build tools •Automated testing •Deployment tools •Monitoring
personnel as first •Limited •Supports •Integration testing •Supports •Responding to error
class stakeholders coordination continuous continuous conditions
•Get their input •Unit tests integration deployment
when developing
requirements
• DevOps Overview
• Microservices & Architecture
• RESTful services
• Continuous Deployment
Some material is based on Dr. Ihor Kuz’s material from COMP9243, other material from COMP9322 lecture slides,
prepared by myself, Dr. Helen Hye-young Paik, and Dr. Sherif Sakr. Some material is adapted from one of the textbook Web
Services: Concepts, Architectures and Applications and is thus under Copyright 2003 Gustavo Alonso, ETH Zurich and/or
Copyright 2004 Springer-Verlag Berlin Heidelberg. Some content is based on DevOps: A Software Architect's Perspective, L.
Bass, I. Weber, L. Zhu, Addison-Wesley Professional, 2015. Other references are given throughout the slides.
NICTA Copyright 2015 12
DevOps consequences
Business Service
Invoke Query
Client
• DevOps Overview
• Microservices & Architecture
• RESTful services
• Continuous Deployment
Some material is based on Dr. Ihor Kuz’s material from COMP9243, other material from COMP9322 lecture slides, prepared
by myself, Dr. Helen Hye-young Paik, and Dr. Sherif Sakr. Some material is adapted from one of the textbook Web
Services: Concepts, Architectures and Applications and is thus under Copyright c ?2003 Gustavo Alonso, ETH Zurich and/or
Copyright c ?2004 Springer-Verlag Berlin Heidelberg. Other references are given throughout the slides.
• DevOps Overview
• Microservices & Architecture
• RESTful services
• Continuous Deployment
Content based in part on DevOps: A Software Architect's Perspective, L. Bass, I. Weber, L. Zhu,
Addison-Wesley Professional, 2015. Some slides courtesy of Len Bass
NICTA Copyright 2015 41
Continuous Deployment
• Deployment pipeline is triggered when intending to
commit of code
Pre-commit
Commit
tests
Build Image
UAT / staging /
X and Perform
performance
Deploy to
...
Integration tests
production
tests promote
to normal
production
Pre-commit
Commit
tests
Developers
Build Image
UAT / staging /
X and Perform
performance
Deploy to
...
Integration tests
production
tests promote
to normal
production
Pre-commit
Commit
tests
Developers
Challenges
– 24/7 availability is
base requirement
– Microservice 3 to
Microservice
be replaced with
Microservice 1 Microservice 2 Microservice new version
• Multiple VMs for it
VM
VM Microservice 3 Microservice
– Might change how
VM
M1 / M2 can use it
– Might change how
Microservice 4 Microservice5 Microservice
it uses M4 / M5
Business Service
Users
my-app.com
Load Balancer
VM
VM
VM
v 1.0
Database
my-app.com my-app.com
VM
VM VM
VM VM
VM
VM VM VM
Database Database
Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer
VM
VM VM
VM VM
VM VM
VM VM
VM
VM VM VM VM VM
Client
Load Balancer
VM VM VM
v. A v. A v. A
Next service
Client
Load Balancer
VM
VM VM VM
v. B
v. A v. A v. A
booting
Next service
Client
Load Balancer
VM VM VM VM
v. A v. A v. A v. B
Next service
Client
Load Balancer
VM VM VM
v. A v. A v. B
Next service
Client
Load Balancer
VM VM VM VM
v. A v. A v. B v. B
Next service
Client
Load Balancer
VM VM VM
v. A v. B v. B
Next service
Client
Load Balancer
VM VM VM VM
v. A v. B v. B v. B
Next service
Client
Load Balancer
VM VM VM
v. B v. B v. B
Next service
Interested in jobs,
internships, PhD?
ingo.weber@nicta.com.au