Introduction to
DevOPs
presented by:
[Hamid Salehian]
Once upon a Time...
Pre 2000s: WaterFall Era
Idea
Customer
Build
Test
Release
Operate
/ Deploy
Code
Analyse
Handoff
Handoff
Handoff
Handoff
Bussiness
Development
Test & QA
Deployment
2000s: AGile Era
Idea
Customer
Build
Test
Release
Code
Analyse
Handoff
Bussiness
Development
Test & QA
Deployment
Agile Movement
Operate
/ Deploy
Handoff
2010s: CI/CD ERA
Idea
Customer
Build
Test
Release
Code
Analyse
Handoff
Bussiness
Development
Test & QA
Deployment
Continuous Integration
Operate
/ Deploy
Handoff
CI: Continuous Integration
Continuous Integration (CI) : is the process of automating the build and testing of code every time a team member commits changes to version control







TeamCity
2010s: CI/CD ERA
Idea
Customer
Build
Test
Release
Code
Analyse
Bussiness
Development
Test
Deployment
Continuous Delivery
Operate
/ Deploy
QA and Release

Battle : Angry Dev vs Ops

| Development=Agile | Operatation=!?? |
|---|---|
| Extreme Focus on Change | Extreme Focus on Stability |
| Ops are innovation blockers | Minimize Change (SLA) |
| ​Security Doesn't Matter | ​Security Concern |
| Lack of Operation Knowledge | Lack of Development Knowledge |
Solution

DevOPS
Development
Operation
Now
Idea
Customer
Build
Test
Release
Code
Analyse
Bussiness
Development
Test & QA
Deployment
Operate
/ Deploy
DevOps
QA and Release
Deployment
Devops
Â
 Dev and ops
web performance and operation - 2009
devops philosophers
The DevOps Handbook




Kevin Behr
George Spafford
Gene Kim
Jez Humble


Patrick DeboisÂ
The Phoenix Project
devops: What IS?
DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.
DevOps is also characterized by operations staff making use many of the same techniques as developers for their systems work.
devops: WhY?
YOU ANSWER

devops: In Brief
- New culture
- More collaboration
- More automation
- New tech
devops: how?

devops: how? (cont.)

ToolS
Dev
JIRA
Jira is a proprietary issue tracking product, developed by Atlassian. It provides bug tracking, issue tracking, and project management functions.
Alternative: TFS, YouTrack



GitHUB
GitHub is a Web-based Git version control repository hosting service. It is mostly used for computer code. It offers all of the distributed version control and source code management functionality of Git as well as adding its own features
Alternative: GitLab, Bitbucket, Beanstalk

SLACK
Slack is a cloud-based set of team collaboration tools and services which support Bot and have Integration with other tools
Alternative: Flock, Hipchat

ChatOps integrates development and deployment tools into chat platforms to ensure that key DevOps functions can be run from within chat conversations.
For example:Slack lets you send commands directly to and receive data directly from GitHub,
Chatops

Jenkins: what is?
Jenkins is an open source automation tool with plugins built for Continuous Integration purpose. Jenkins is used to build and test your software projects continuously making it easier for developers to integrate changes to the project, and making it easier for users to obtain a fresh build.
Alternative: Circle CI, Travis CI

Text

Jenkins: i cALL iT iNTEGRATOR
OPS

VM VS DOCKER Container


Docker: WHAT?
Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications.
You Have Package Contains:
        OS Configuration
        Service Configuration
        Hardening Configuration
"Call it Container"

Docker: Example

Web Server
Web Server
Database
Web Server
Load Balancer
Apache HTTP
Apache HTTP
Apache Tomcat
MongoDB
HAProxy
Docker Stack
Ansible
Infrastructure as A Code (IAC)
Process of managing and provisioning computer data centers through machine-readable definition files (scripts), rather than physical hardware configuration or interactive configuration tools
Â
Â
- Similar to programming scripts
- Automate important IT processes.
- Automate a series of static steps that must be repeated numerous times across multiple servers.
Â

Ansible
You can use Ansible to automate three types of tasks:
- Provisioning: Set up the various servers you need in your infrastructure.
- Configuration management: Change the configuration of an application, OS, or device; start and stop services; install or update applications; implement a security policy; or perform a wide variety of other configuration tasks.
- Application deployment: Make DevOps easier by automating the deployment of internally developed applications to your production systems.
Ansible: Example
---
- hosts: webservers
vars:
http_port: 80
max_clients: 200
remote_user: root
tasks:
- name: ensure apache is at the latest version
yum: name=httpd state=latest
- name: write the apache config file
template: src=/srv/httpd.j2 dest=/etc/httpd.conf
notify:
- restart apache
- name: ensure apache is running (and enable it at boot)
service: name=httpd state=started enabled=yes
handlers:
- name: restart apache
service: name=httpd state=restarted
Apache HTTP
Monitoring
Zabbix
Zabbix is software that monitors numerous parameters of a network and the health and integrity of servers. Zabbix uses a flexible notification mechanism that allows users to configure e-mail based alerts for virtually any event. This allows a fast reaction to server problems. Zabbix offers excellent reporting and data visualisation features based on the stored data.

LogStash and Kibana
Logstash is an open source tool for collecting, parsing, and storing logs for future use. Kibana 3 is a web interface that can be used to search and view the logs thatLogstash has indexed.


Our Story
Dev Team










Test
Project Manager
CI
Chatops
Deployment
Production Servers
LEts Get Hands Dirty
Docker Hub



Test
LAb Environment

Summery
- Review Software Engineering Methodologies
- CI/CD
- Software Development and Deployment Weaknesses
- Dev and Ops Battle
- DevOps
- DevOps Tools
- Jira
- Github
- Slack
- ChatOps
- Jenkins
- Docker
- IAC
- Ansible
- Monitoring Tools
- Zabbix
- ELK (ELasticSearch, Logstash, Kibana)
- Our Story
- Demo
Question!?
References
- Visible Ops Handbook (Gene Kim)
- The Phoenix Project (Gene Kim)
- Web Operations (Allspaw/Robbins)
- Continuous Delivery (Humble/Farley)
- Lean Startup (Eric Reis)
Thank You For Your Attention
powered by: slides.com
see more: https://slides.com/hsarena
Introduction to DevOps
By Hamid Salehian
Introduction to DevOps
Introduction to DevOps with Docker
- 223

