DevOps
Technologies for Tomorrow
Rúben Barros, no. 1100667
Supervisor: Ângelo Martins, PhD
Co-Supervisor: Tiago Boldt Sousa
Summary
-
Context
-
Research Question
-
Goals
-
Initial Work
-
Validation
-
Conclusions
1
Context
2
IT operations statistics
DevOps metrics from 20+ Fortune 1000 organizations:
- Infrastructure failure costs $100,000 per hour;
- Critical application failure costs $500,000 to $1 million per hour;
- The number of deployments per month is expected to double in two years;
- During an application’s development, testing, deployment, and operations life cycle 25% of spent time is considered wasteful and unnecessary.
- DevOps-led projects will accelerate the delivery of functionalities to the customer by 15–20%.
3
Cloud
4
- Cloud Computing allows companies to consume computing resources as a utility;
- Companies no longer require investment in hardware and people operating it;
- The same server can serve multiple applications depending the work hours of a country or continent.
Cloud Providers
5
Are we ready?
Traditional Software Development
Departments:
- Development;
- Quality Assurance;
- Operations.
6
Traditional Software Development
Development goals:
- Faster development.
Need for Change
Fear of Change
Operations goals:
- Server uptime;
- Application response time.
7
DevOps
9
DevOps (Development and Operations) describes a culture in which business owners and the development, operations, and quality assurance departments collaborate to deliver software in a continuous manner and encourages practices to evolve to meet that culture focusing on business instead of departmental objectives. [Sharma and Coyne, 2015].
DevOps
10
Endless Possibilities: DevOps can create an infinite loop of release of feedback for all your code and deployments target
Research Question
11
What information can we capture and how can we formalize it so that we can improve how software teams practice DevOps?
Goals
- Research DevOps and DevOps tools;
Identify categories to aggregate DevOps tools in;Identify key functionalities for each category;- Discuss forces influencing the adoption of the available tools;
- Identify requirements when starting a new project which will influence technological decisions;
- Cooperate with Software Development Teams;
- Elaborate a DevOps Knowledge Map;
- Validate the captured information;
- Publish conclusions.
12
Initial Work
13
- Research Cloud and DevOps;
- Identify DevOps tool categories;
Identify key requirements for each category;- Draft Knowledge Map with the relations between DevOps categories.
Validation
14
Methodology
15
- Interview companies to ascertain their interest in the Knowledge Map;
- Provide our Knowledge Map to companies which are not aware of DevOps practices, companies starting new projects and are interested in using DevOps, and companies already using DevOps in their projects;
- Assist those companies in every step of the way to facilitate their learning of DevOps practices and tools;
- Observe their improvement.
Metrics
- Time to deliver a project;
- Time on assuring quality;
- Time to deploy the project;
- Downtime period;
- Time to revert a project;
- Reliability of a project update.
16
17
Conclusions
With this thesis, we aim at:
- Improve how software teams practice DevOps;
- Elaborate a Knowledge Map to help teams adopting DevOps;
- Analyze a team's improvement with our Knowledge Map.
DevOps
Technologies for Tomorrow
Rúben Barros, no. 1100667
Supervisor: Ângelo Martins, PhD
Co-Supervisor: Tiago Boldt Sousa
Copy of Thesis - State of the Art
By Abhishek Kumar Tiwari
Copy of Thesis - State of the Art
- 981