Introduction to DevOps
Introduction to DevOps
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
INTRODUCTION TO DEVOPS
Organizational structure
Online products are complex
Thousands of engineers
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
DevOps
DevOps is a combination of
methods,
tools, and
cultural behavior
INTRODUCTION TO DEVOPS
Traditional Change Management DevOps
INTRODUCTION TO DEVOPS
Traditional release
INTRODUCTION TO DEVOPS
Minimum Viable Product
A minimum viable product (MVP) is an
early version of a product with limited
functionality.
Cheaper to build
INTRODUCTION TO DEVOPS
Product improvements
INTRODUCTION TO DEVOPS
DevOps benefits
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
Use Cases for
DevOps
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
DevOps
DevOps: Software Development + IT
Operations
MVP Releases
INTRODUCTION TO DEVOPS
Infrastructure Engineering
Design, Develop, and Maintain the IT
infrastructure
INTRODUCTION TO DEVOPS
Product Engineering
Design, develop, and maintain the Software
Products
INTRODUCTION TO DEVOPS
Data Engineering
Data engineering refers to the building of systems to enable the collection and usage of
data.
1 https://en.wikipedia.org/wiki/Data_engineering
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
DataOps MLOps
Software is powered by data Predicting the future using the past data
Data is moved in data pipelines Data Preparation (Historical data)
INTRODUCTION TO DEVOPS
No competition
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
Project
Management
Methodologies for
DevOps
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
Why is project management important to What is project management?
DevOps?
Project management is the use of
Defines how the team will operate
specific knowledge,
Drives change
skills,
Timeline/Resource Management
tools, and
Collaboration within/across teams
techniques
INTRODUCTION TO DEVOPS
Waterfall
An old methodology
INTRODUCTION TO DEVOPS
Agile
Series of cycles
Achieving one small goal at a time
INTRODUCTION TO DEVOPS
Choosing the right project management model
The best methodology depends on:
Budget
Complexity of the project
Expectations
INTRODUCTION TO DEVOPS
Scrum Kanban
A sprint in Scrum is a two-to-four week No sprints in Kanban, instead tracking
timeframe with a light development goal for improvements continuously.
the team.
INTRODUCTION TO DEVOPS
Scrum Kanban
Regular, fixed-length sprints (i.e., two Continuous flow
weeks)
Use visuals to improve work-in-progress
Learn through experiences
Visualize the flow of work, limit work-in-
Sprint planning, sprint, daily standup, sprint progress, manage flow, incorporate
review, sprint retrospective feedback loops
1 https://www.atlassian.com/agile/kanban/kanban-vs-scrum
INTRODUCTION TO DEVOPS
Both Scrum and Kanban are under Agile methodology
Both Scrum and Kanban improves collaboration
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
The DevOps Change
Management Model
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
Requirements
Developing a new product
INTRODUCTION TO DEVOPS
Design
INTRODUCTION TO DEVOPS
Develop and test
Product Engineers
Develop for the customer experience
Customer interaction
Infra Engineers
Supporting the product
Data Engineers
Providing test data
INTRODUCTION TO DEVOPS
Testing
INTRODUCTION TO DEVOPS
Experimentation
INTRODUCTION TO DEVOPS
Cyclical development
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
Main Software
Architecture
Systems
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
Software architecture
1 https://en.wikipedia.org/wiki/Software_architecture
INTRODUCTION TO DEVOPS
Application Programming Interfaces (APIs)
INTRODUCTION TO DEVOPS
Various architectural systems
Factors to consider
Type of software
INTRODUCTION TO DEVOPS
Microservices
Most important architectural system for
complex software
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
DevOps for microservices architecture
INTRODUCTION TO DEVOPS
Benefits of DevOps for microservices
Software is changed constantly in large organizations
Change them one at a time
If anything goes bad with one microservice, the rest will still function well
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
Modern IT
Infrastructure
Concepts
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
Main components of IT infrastructure
INTRODUCTION TO DEVOPS
Hardware
Can be hosted on organization's own
premises
INTRODUCTION TO DEVOPS
Network
Communication with other parts of the
software
INTRODUCTION TO DEVOPS
Software
Manage the hardware and network enable the product teams to develop and
serve customers.
Configure them for the organization's use
INTRODUCTION TO DEVOPS
Change management
These changes could be very expensive and disruptive to the services of the organization
Infrastructure Engineering provides the tools that's necessary to build products
INTRODUCTION TO DEVOPS
Developer platform
INTRODUCTION TO DEVOPS
Codebase & version control
INTRODUCTION TO DEVOPS
DevOps CI/CD pipelines
INTRODUCTION TO DEVOPS
Deployment platform
INTRODUCTION TO DEVOPS
Change management in microservices
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
Elements of DevOps
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
DevOps change management model
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
Principles of CI
2. Frequent integrations
INTRODUCTION TO DEVOPS
Version control
Peer Review
INTRODUCTION TO DEVOPS
Principles of CD
1. Automated builds
2. Automated tests
3. Predictable and short change times
INTRODUCTION TO DEVOPS
Experimentation
INTRODUCTION TO DEVOPS
Feedback loops
Continuously improving the product
Use the review stage for the feedback loop
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
Data Engineering
Implications of the
DevOps Architecture
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
Microservices architecture
Microservices are small-scale software
programs
INTRODUCTION TO DEVOPS
Monolithic architecture
INTRODUCTION TO DEVOPS
Monolithic Architecture Microservices Architecture
All application uses the same databases Microservices must do API calls to reach
another services database
Could be a viable option for small scale
applications Microservices are effective in large
organizations and complex products
INTRODUCTION TO DEVOPS
Microservices private databases
Some product functionalities require collaboration from multiple microservices
Microservices can not access each others databases freely, so they do API calls
INTRODUCTION TO DEVOPS
Data Engineering applications in microservices
INTRODUCTION TO DEVOPS
Data Engineering applications in microservices
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
Data Pipelines
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
Data pipelines
INTRODUCTION TO DEVOPS
ETL
1 https://www.istockphoto.com/nl/vector/data-extract-transform-load-gm1361894912-434102842?phrase=ETL
INTRODUCTION TO DEVOPS
Batch processing
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
Recap
Cem Sakarya
DevOps Risk Advisor
DevOps benefits for reporting
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
Reporting architecture For DevOps
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
Tools: Ecosystem
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
Requirements
Communication Tools
INTRODUCTION TO DEVOPS
Version Control Software
Main change management technology is
git
INTRODUCTION TO DEVOPS
Build Tools
1 https://maven.apache.org/ 2 https://gradle.com/brand/
INTRODUCTION TO DEVOPS
CI/CD Tools
1 https://www.jenkins.io/press/ 2 https://circleci.com/legal/trademark-guidelines/
INTRODUCTION TO DEVOPS
Deployment
INTRODUCTION TO DEVOPS
Monitoring Tools
Products need to be closely monitored and
observed for quality and reliability issues
1 https://www.splunk.com/en_us/products/observability.html?301=/en_us/devops.html
INTRODUCTION TO DEVOPS
Data management tools: Kafka
1 https://kafka.apache.org/trademark
INTRODUCTION TO DEVOPS
Data pipeline management tools
1https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow%20logos 2 https://design.hevodata.com/ 3
https://www.prefect.io/newsroom/logos/
INTRODUCTION TO DEVOPS
Recap
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
Ensuring Data
Quality Standards
with DevOps
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
DevOps ensures good code
INTRODUCTION TO DEVOPS
Data quality
INTRODUCTION TO DEVOPS
Elements of data quality
INTRODUCTION TO DEVOPS
Is the data correct in all details?
Should be closely monitored
INTRODUCTION TO DEVOPS
How comprehensive is the data?
Check if data is lost when it is stored in a
database
INTRODUCTION TO DEVOPS
Consistency is about the reliability of the
information
INTRODUCTION TO DEVOPS
Keeping and handling only the relevant
information
INTRODUCTION TO DEVOPS
How up to date is the information?
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
Observability and
Reliability
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
Observability
Observing inner components of software
Microservices
APIs
Databases
Other components
1https://www.istockphoto.com/nl/vector/het-lijnpictogram-van-de-verrekijker-oceaanconcept-verrekijkerteken-
op-witte-gm1245624425-363092800?phrase=field%20glass
INTRODUCTION TO DEVOPS
Why is observability needed?
INTRODUCTION TO DEVOPS
Alerting
1 https://www.istockphoto.com/nl/vector/notification-bells-icon-gm1364077374-435399123?phrase=alerting
INTRODUCTION TO DEVOPS
Why is reliability important?
Examples:
Government services
Defense systems
Banking software
INTRODUCTION TO DEVOPS
How to increase reliability?
Testing
Observability
INTRODUCTION TO DEVOPS
Testing Observability
INTRODUCTION TO DEVOPS
Reliability in microservices
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
DevOps Cultural
Concepts
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
INTRODUCTION TO DEVOPS
Concepts
Collaboration
Autonomous Teams
Shared Responsibilities
Automation
Post-Mortem
INTRODUCTION TO DEVOPS
Collaboration
Heart of DevOps
INTRODUCTION TO DEVOPS
Autonomous teams
Product Engineering
Operations
INTRODUCTION TO DEVOPS
Shared responsibilities
INTRODUCTION TO DEVOPS
Automation
Automation is a time-saver
INTRODUCTION TO DEVOPS
Post-mortem
All software is prone to errors
First solve it
INTRODUCTION TO DEVOPS
How this issue could have been How this issue could have been
prevented? better handled?
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
Tying it all together
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
What is DevOps after all?
DevOps is a combination of: It helps ensure high productivity, high quality,
and managed costs.
tools
technologies
cultural elements
INTRODUCTION TO DEVOPS
What is DevOps about?
Reorganizes into autonomous teams
Testing
Experimentation
INTRODUCTION TO DEVOPS
Why is DevOps necessary?
It is very efficient compared to other systems.
INTRODUCTION TO DEVOPS
When is DevOps applicable?
INTRODUCTION TO DEVOPS
What are the components of DevOps?
INTRODUCTION TO DEVOPS
INTRODUCTION TO DEVOPS
Let's practice!
INTRODUCTION TO DEVOPS
CONGRATS!
INTRODUCTION TO DEVOPS
Cem Sakarya
DevOps Risk Advisor
What did we learn?
INTRODUCTION TO DEVOPS
You can use your skills to...
INTRODUCTION TO DEVOPS
Time to celebrate!
INTRODUCTION TO DEVOPS