devops, from inception to conclusion

8
DevOps Whitepaper A Beginners’ Manual, From Inception to Conclusion Abhishek Gaurav [T YPE THE COMPANY ADDRESS ]

Upload: abhi123gaurav

Post on 12-Apr-2017

80 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DevOps, from inception to conclusion

INTRODUCING DEVOPS

DevOps Whitepaper A Beginners’ Manual, From Inception to Conclusion

Abhishek Gaurav

[ T Y P E T H E C O M P A N Y A D D R E S S ]

Page 2: DevOps, from inception to conclusion

Patrick Debois”Creator of

DevOps”

C

C

DevOps- Beginner’s Handbook

In the current fast growing, modern software delivery environment, the below three principles should always exist for the success of

the overall delivery.

Communication C Collaboration C Integration I

This Article is dedicated to all the newcomers in the world of DevOps. This will give you a

detailed understanding of the Toolset Process and Methodology used in DevOps

DevOps (Development+Operations) was first coined by Patrick Debois, as an extension of agile development

environments that aims to enhance the process of software delivery as a whole.

After 2009 there was a paradigm shift in the development methodology, where people started shifting from

conventional waterfall to Agile by making each development stage independent and incorporating continuous

testing early on and throughout the development cycle.

The efficiency was increased by using “Agile” approach because of the fact that developers could make

immediate changes before shipping to production based on the continuous feedback they received from

customer. Although the development process was enhanced but there was still a discrepancy in the flow when

it came to deployment, which still embraced the waterfall methodology. While development used agile to

lower risk and increase efficiency, deployment hung on to the linear waterfall structure, slowing down delivery

and leaving testing to the end of the process — a process that wrongfully split ownership

It was through seeing this disconnect between development and deployment as well as understanding the

benefits of embracing agile in all aspects of software delivery that Debois “The Creator of DevOps” came up

with the concept of DevOps. The marriage of development and operations along with the extended best

practices and principles associated with agile had the potential to greatly increase efficiency and lower

delivery risks

Page 3: DevOps, from inception to conclusion

In Gartner’s latest Hype Cycle for Enterprise Architecture DevOps is positioned right in the Innovation Trigger phase

DevOps is a part of the “Innovation Trigger Phase” as outlined in Gartner’s latest Hype Cycle for Enterprise Architecture

The speed of application development and application change is increasing, and with it, the demand of “Rolls Royce like” quality; Companies look to build new capabilities with high expectations being placed on the IT department. While the IT industry has taken huge leaps in technology innovation, the quality of application development projects has been lagging. Many IT projects run inefficiently, missing implementation deadlines and causing outages during or after implementation and therefore costing significant more than anticipated.DevOps is the new development that addresses such inefficiencies. DevOps connects development, quality assurance, and technical operations personnel in a way that the entire ‘build-test-release-run-repeat’ process operates as a factory, having clear roles and responsibilities and well-defined inputs and outputs It is a concept that connects developers, quality assurance and technical operations people.

What is DevOps DevOps, in itself, is not a new concept. A development to operation lifecycle has been existing for quite some time. The latest developments include the ambition to industrialize, automate, and connect the entire process covering infrastructure, application, as well as business changes. The prime focus is on outage reduction and quality improvement.

Page 4: DevOps, from inception to conclusion

DevOps Overview

In simple terms, DevOps refers to an umbrella concept that encompasses people, processes, and technologies required to connect development to execution.

DevOps Practice

DevOps aim is to revolutionize the transition, de-risk IT deployments, eliminate the Excuse “but-it-works-on-my-system”, and break the silos between developers, Testers, release managers, and system operators. The products and tools developed in this area focus on maximizing predictability, visibility, and flexibility, while Maintaining stability and integrity.

Version Control for all

Automated Testing

Proactive Maintenance

Proactive Monitoring

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.

Scrum/Kankan

Visible ops/Change

management

Configuration management

Incident command system

Continuous

integration/Deployment/delivery

Virtualization, Cloud, Containers

Transparent uptime

Toolchain approach

Page 5: DevOps, from inception to conclusion

Process Checklist

DevOps Overview and Checklist

Below is a snapshot of the delivery process in the field of DevOps. The Common Delivery cycle starting from Planing to Operations are supported by various enablers like Continuous Integration/Continuous Delivery and collaboration.

Find ways to collaborate – involve others early

Find ways to automate and make self-service

Become metrics driven

Learn new things, continually improve

Understand the larger business goals, metrics, and priorities you

support

Communicate

Work in parallel with small batches

Allow refactoring

Prove the business value to management

Page 6: DevOps, from inception to conclusion

Developers always want to deliver changes as soon as possible. Operation team wants reliability and stability

The Wall of confusion always exists between the development and operations, because of the fast that development uses different tools and processes and operations uses different tools and processes to perform their daily activities. DevOps break down the walls between development and operations team, unifying development to operations for better, faster outcomes.

Why Do we Need DevOps

Page 7: DevOps, from inception to conclusion

This is the complete tool of a DevOps Process because without Automation there is no DevOps

Index Process Description Tools

1 Continous Integration Developers integrate code into a shared repository multiple times a day and each isolated change to the code is tested immediately in order to detect and

prevent integration problems.

TFS, Jenkins, Teamcity, TravisCI, CircleCI

2 Continuous Delivery (CD) As an extension of CI and the next step in incremental software delivery, TFS,Jenkins, Teamcity, TravisCI, Electric

DevOps – Tools DevOps-Tools

Page 8: DevOps, from inception to conclusion

continuous delivery (CD) ensures that every version of the code that is tested in the CI repository can be released at any moment.

Cloud, Go, Codeship, AWS CodeDeploy

3 Configuration Management n a nutshell, the process of maintaining up-to-date, detailed records of hardware and software — including versions, requirements, network addresses, and design

and operational information — is known as configuration management (CM). You can use CM tools such as Chef, Puppet, or Ansible to aid the process. You can also use Bash and Python to build your own configuration management

automation.

TFS,Chef, Puppet, Ansible, Saltstack, Vagrant, CFEngine

4 Containers Linux containers are lightweight virtualization components that run isolated application workloads. They run their own processes, file systems, and network stacks, which are all virtualized using the root operating system (OS) running on

the hardware.

Docker, CoreOs, Kubernetes, Mesos, ElasticBox

5 Source (Version) Control Version control includes practices and tools that help R&D organizations maintain and control changes within their source code repository. R&D members

use source control tools to document and track system configuration files as well.

GitHub, Bitbucket, JFrog, Artifactory, TFS

6 Bug Tracking A bug tracker is a system that aggregates and reports software bugs and defects. It helps R&D organizations with task management and is part of the consistent

feedback loop that the DevOps methodology requires.

BUGtrack, JIRA, GitHub

7 Test Automation Test automation facilitates test engineer work by supporting multiple tests that run continuously. It enhances test coverage while supporting efficient release

cycles. For example, test automation tools help manage, execute, and measure functional tests and load tests

Selenium, Cucumber, JUnit, TestNG, JMeter. MS Test Studio

8 Monitoring Monitoring is a primary element of IT performance management and is one of the most important aspects when operating online services. Monitoring tools are essential and provide crucial information that helps to ensure service robustness

in terms of availability, security, and performance

New Relic, AppDynamics, DataDog AWS CloudWatch, Nagios, Zabbix, Sensu, Icynga

9 Log management Log management (or log analytics) is the practice of dealing with large volumes of computer-generated messages.

Logz.io (ELK), Splunk, Sumo Logic

DevOps- Toolset