2. Agenda
What Is DevOps?
Why DevOps?
What We Should To Do For DevOps
8/21/2018
2
3. What DevOps Is (1)
It is a culture(1)
8/21/2018
3
First, it is a culture
“Even with the best tools, DevOps is just another buzzword
if you don't have the right culture”
--Rouan Wilsenach
4. What DevOps Is (2)
It is a culture(2)
8/21/2018
4
The primary characteristic of DevOps culture is increased
collaboration.
An attitude of shared responsibility
1. Development teams should look after a product over the course of its
lifetime, rather than only its development and testing
2. Operations staff should share a product's business goals, so that they can
better understand the operational needs of a product and help meet them
3. Development and Operations share all responsibilities of successes and
failures of a system
5. What DevOps Is (3)
It is a culture(3)
8/21/2018
5
Valuing Feedback
1. Feedback includes code quality analysis report, code security scanning
report, testing report, building report, deployment report, operational report
and feedback from users
1. Feedback can contribute to continuously improving dev&ops collaboration
and the product itself
6. What DevOps Is (4)
It is a culture(4)
8/21/2018
6
Automation
1. Automation is a cornerstone of the DevOps movement and facilitates
collaboration
2. Making tasks in delivery pipeline automated as far as possible, so that
people can be freed up to focus on other valuable activities, and also cost
and the chance of human error can be reduced.
7. What DevOps Is (5)
8/21/2018
7
DevOps is also software engineering methodologies, technologies
and tools
1. DevOps has become possible and popular now largely due to agile
engineering practices, computer technology development and a combination
of software development and operations tools.
2. Methodologies
Agile (Scrum / XP ), Lean Software Development
1. Technologies
Virtualization
Cloud Computing
Container
2. Tools
git, jenkins, nuget, nexus, ansible, chef, puppet, udeploy, ELK,
splunk
8. What DevOps Is (5)
8/21/2018
8
DevOps' Objective
"It aims at establishing a culture and environment where
building, testing, and releasing software can happen rapidly,
frequently, and more reliably"
--Martin Fowler
9. Why DevOps (1)
8/21/2018
9
First, with increased dev&ops collaboration, our products(Features
&& Bug Fixings) can be sped up to roll out ASAP, even one delivery
per day, So that:
1. We can meet rapidly our customers' requirements
2. We can respond rapidly to the changes from our customers and the market
3. We can become more nimbler than our competitors
10. Why DevOps (2)
8/21/2018
10
Second, with increased dev&ops collaboration, we can reduce the
cost of development and operations for our products.
Finally, DevOps will build quality in our products so that they would
be more competitive.
11. What for us to do for DevOps(1)
8/21/2018
11
1. Cultivating DevOps Culture
2. Improving the maturity of Continuous Integration
3. Optimizing our existing delivery pipeline
4. Adopting a open source platform based on IaaS Cloud to
support DevOps, such as Container As A Service as follows,
Mesos + Marathon + ECS/Docker
Kubernetes + ECS/Docker
Docker + Docker Swarm
5. Establishing a DevOps Task Force, maybe a temporary virtual
team, to spread company wide devops culture and practices
12. What for us to do for DevOps(2)
How to Cultivate DevOps Culture(1)
8/21/2018
12
First, making some organizational shifts to support a culture of
shared responsibility
1. Breaking down silos between development and operations
2. working together, even co-locating them
3. no handovers, less sign-offs, handovers and sign-offs discourage people
from sharing responsibility and contribute to a culture of blame
4. DevOps is devoted to blurs the line between roles of development and
operations staff, and eventually eliminate the distinction. It is just that "You
build it, You run it".
13. What for us to do for DevOps(3)
How toCultivate DevOps Culture(2)
8/21/2018
13
And then making some organizational shifts to support
autonomous teams
It is easy for the teams to make decisions without convoluted decision making
process, and to apply changes, It will involve these:
1. Trusting teams, simplify the decision making processes
2. Changing the way risk is managed
3. Creating an environment that it is free of fear of failure
14. What for us to do for DevOps(4)
How to improving the maturity of Continuous Integration
8/21/2018
14
Building quality into the development process, it should involve
these,
1. self-testing code (Unit Testing)
2. code quality analysis
3. code security scanning
4. enhancing integration auto-testing
15. Our Ultimate Goal
8/21/2018
15
With increased collaboration, building a unimpeded delivery pipeline
loop, to continuous improve the quality of our products