SlideShare a Scribd company logo
DevOps Introduction
Ahmed Kamel
Lead System Engineer @ArabHosters
LinkedIn
a.kamel@arabhosters.com
The story
● Information Technology Companies are
selling Products/Services to customers.
● Products/Services are written by developers.
● Products/Services are deployed operations.
What is Dev?
● Developer
o Responsible for coding:
▪ New Products.
▪ New Features.
▪ Security Updates.
▪ Bug Fixes.
What is Ops?
● Operations: System Administrator/Engineer
o Responsible for:
▪ 99.9 % UPTIME.
▪ Code Deployment.
▪ Performance.
▪ Monitoring.
▪ System Security.
The Problem
● Development:
o Delay of code deployment into production
environment.
o Losing market competition to those who are able to
deploy code faster.
● Operations:
o Number of managed servers increases gradually.
o Application code diagnostic and errors spotting.
Solution
DevOps is about integrating developers and
operations teams to improve collaboration and
productivity by Automating infrastructure,
Automating workflows and measuring
application performance.
Automation
● Automating infrastructure.
● Automating workflows.
● Automating code testing.
● Automate everything.
Development Environment
= Production Environment
● Automating infrastructure will allow to have
an identical development and production
environment.
● Editing small chunks of code will be possible
and having a fast pace code release with
new feature, security/bug fix will be possible.
● Rolling back to previous code build will be an
easy task with deployment automation.
Dev ops presentation
Dev ops presentation
Monitor, Measure and Improve The
Code
● Adopting frequent code deployment will lead
to iterative process for monitoring measuring
and improving the code and operations on
daily basis.
● Which will help in fulfilling market needs on
time.
Old style vs DevOps style
● Software developers and operation
engineers were working separately.
● DevOps approach make them both work
together to write configuration management
code that describes how things could be
built.
● Which leads to reducing deploy time,
eliminating deployment fears and fulfilling
Infrastructure Automation
Source Control System
● Using source control system like GIT to manage, track
and document both the application code and
configuration management code.
● Leads to real time application performance monitoring
and optimization due to the ability to spot bugs or code
bottlenecks via monitoring tools and fix/deploy the new
release or rollback to previous sane one in a very little
time due to deployment automation achieved by config
management.
● Easily allows developers and operations to see the
performance impact of their new changes.
Dev ops presentation
So how to adopt DevOps approach?
Dev ops presentation
Dev ops presentation
Dev ops presentation
Tools
● Source code control system: GitHub.
● Code testing: Jenkins.
● Code Deployment: Chef, Puppet, SaltStack.
● Metrics: Graphite, LogStash.
● Monitoring: NewRelic, Nagios, Graphite.
Dev ops presentation
SaltStack
SaltStack Walk-through
● Remote Execution.
● Configuration Management.
● WalkThrough.
● Average state example.
● More complex state example.
● SaltStack Can Manage Wide Range Of
Cloud Infrastructures Also.
● Including OpenStack.
References
● List of useful references and which was used
in creating this presentation and others:
○ Vidoes:
■ What is DevOps? - In Simple English
■ Understanding DevOps
■ What is DevOps? A Simple Explanation for Non-Techies
■ Docker and DevOps by Gene Kim
■ IBM DevOps: Continuous delivery of software-driven innovation
References
● List of useful references and which was used
in creating this presentation and others:
○ Docs:
■ http://docs.saltstack.com/en/latest/topics/tutorials/walkthrough.html
■ http://www.rackspace.com/blog/get-to-know-the-devops-tools-supported-by-rackspace-specialists/
■ https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=swg-rtl-sd-
wp&S_PKG=ov18162
■ http://docs.saltstack.com/en/latest/topics/cloud/
■ http://www.rackspace.com/devops/resources/

More Related Content

Dev ops presentation

  • 1. DevOps Introduction Ahmed Kamel Lead System Engineer @ArabHosters LinkedIn a.kamel@arabhosters.com
  • 2. The story ● Information Technology Companies are selling Products/Services to customers. ● Products/Services are written by developers. ● Products/Services are deployed operations.
  • 3. What is Dev? ● Developer o Responsible for coding: ▪ New Products. ▪ New Features. ▪ Security Updates. ▪ Bug Fixes.
  • 4. What is Ops? ● Operations: System Administrator/Engineer o Responsible for: ▪ 99.9 % UPTIME. ▪ Code Deployment. ▪ Performance. ▪ Monitoring. ▪ System Security.
  • 5. The Problem ● Development: o Delay of code deployment into production environment. o Losing market competition to those who are able to deploy code faster. ● Operations: o Number of managed servers increases gradually. o Application code diagnostic and errors spotting.
  • 6. Solution DevOps is about integrating developers and operations teams to improve collaboration and productivity by Automating infrastructure, Automating workflows and measuring application performance.
  • 7. Automation ● Automating infrastructure. ● Automating workflows. ● Automating code testing. ● Automate everything.
  • 8. Development Environment = Production Environment ● Automating infrastructure will allow to have an identical development and production environment. ● Editing small chunks of code will be possible and having a fast pace code release with new feature, security/bug fix will be possible. ● Rolling back to previous code build will be an easy task with deployment automation.
  • 11. Monitor, Measure and Improve The Code ● Adopting frequent code deployment will lead to iterative process for monitoring measuring and improving the code and operations on daily basis. ● Which will help in fulfilling market needs on time.
  • 12. Old style vs DevOps style ● Software developers and operation engineers were working separately. ● DevOps approach make them both work together to write configuration management code that describes how things could be built. ● Which leads to reducing deploy time, eliminating deployment fears and fulfilling
  • 14. Source Control System ● Using source control system like GIT to manage, track and document both the application code and configuration management code. ● Leads to real time application performance monitoring and optimization due to the ability to spot bugs or code bottlenecks via monitoring tools and fix/deploy the new release or rollback to previous sane one in a very little time due to deployment automation achieved by config management. ● Easily allows developers and operations to see the performance impact of their new changes.
  • 16. So how to adopt DevOps approach?
  • 20. Tools ● Source code control system: GitHub. ● Code testing: Jenkins. ● Code Deployment: Chef, Puppet, SaltStack. ● Metrics: Graphite, LogStash. ● Monitoring: NewRelic, Nagios, Graphite.
  • 23. SaltStack Walk-through ● Remote Execution. ● Configuration Management. ● WalkThrough. ● Average state example. ● More complex state example. ● SaltStack Can Manage Wide Range Of Cloud Infrastructures Also. ● Including OpenStack.
  • 24. References ● List of useful references and which was used in creating this presentation and others: ○ Vidoes: ■ What is DevOps? - In Simple English ■ Understanding DevOps ■ What is DevOps? A Simple Explanation for Non-Techies ■ Docker and DevOps by Gene Kim ■ IBM DevOps: Continuous delivery of software-driven innovation
  • 25. References ● List of useful references and which was used in creating this presentation and others: ○ Docs: ■ http://docs.saltstack.com/en/latest/topics/tutorials/walkthrough.html ■ http://www.rackspace.com/blog/get-to-know-the-devops-tools-supported-by-rackspace-specialists/ ■ https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=swg-rtl-sd- wp&S_PKG=ov18162 ■ http://docs.saltstack.com/en/latest/topics/cloud/ ■ http://www.rackspace.com/devops/resources/

Editor's Notes

  1. “devs feels that ops throws away app problem at them”
  2. Writing small code chunks instead of big releases.
  3. Increasing frequency of deployments will improve the time to deploy new code.
  4. Which leads to have the ability to build infrastructure at scales to dozens or even thousands of servers on multiple locations with different types of hardware even and softens things to level that’s just a click away to reverse back to a previous code build or to deploy a new release with bug/security fix or a new software feature.
  5. Deliver products in hours and weeks instead of months as used to be before. and all are happy now, customers and DevOps. By automating infrastructure ops and devs have now more focus on improving business instead of wasting time on human deployments or devs dependency hell.
  6. IBM Approach to DevOps
  7. IBM Approach to DevOps
  8. End of DevOps Sessions.
  9. This is how they defined themselves on their own site.