dev ops presentation

25
DevOps Introduction Ahmed Kamel Lead System Engineer @ArabHosters LinkedIn [email protected]

Upload: ahmed-kamel

Post on 08-Sep-2014

168 views

Category:

Technology


4 download

DESCRIPTION

Presentation About Adopting DevOps Approach.

TRANSCRIPT

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?

● Developero Responsible for coding:

▪ New Products.▪ New Features.▪ Security Updates.▪ Bug Fixes.

What is Ops?

● Operations: System Administrator/Engineero 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.

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 code dependencies from the beginning.

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.

So how to adopt DevOps approach?

Tools

● Source code control system: GitHub.

● Code testing: Jenkins.

● Code Deployment: Chef, Puppet, SaltStack.

● Metrics: Graphite, LogStash.

● Monitoring: NewRelic, Nagios, Graphite.

SaltStack

SaltStack Walk-through

● Remote Execution.● Configuration Management.● WalkThrough.● Average state example.● More complex state example.● SaltStack Can Manage Wide Range Of Clou

d 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/