0% found this document useful (0 votes)
123 views

What Is Devops?

DevOps is a culture that promotes collaboration between development and operations teams to deploy code to production faster through automation. It helps organizations deliver applications and services more quickly to better serve customers and compete in the market. DevOps aligns development and IT operations through improved communication and collaboration.

Uploaded by

Arvind Gupta
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
123 views

What Is Devops?

DevOps is a culture that promotes collaboration between development and operations teams to deploy code to production faster through automation. It helps organizations deliver applications and services more quickly to better serve customers and compete in the market. DevOps aligns development and IT operations through improved communication and collaboration.

Uploaded by

Arvind Gupta
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

What is DevOps?

DevOps is a culture which promotes collaboration between Development and Operations Team to deploy code to production
faster in an automated & repeatable way. The word 'DevOps' is a combination of two words 'development' and 'operations.'

DevOps helps to increases an organization's speed to deliver applications and services. It allows organizations to serve their
customers better and compete more strongly in the market.

In simple words, DevOps can be defined as an alignment of development and IT operations with better communication and
collaboration.

In this tutorial, we will learn

 What is DevOps?
 Why is DevOps is Needed?
 How is DevOps different from traditional IT
 Why is DevOps used?
 DevOps Lifecycle
 DevOps Work Flow
 How is DevOps different from Agile? DevOps Vs Agile
 DevOps Principles
 Who is a DevOps Engineer?
 Roles, Responsibilities, and Skills of a DevOps Engineer
 How much does DevOps engineer make?
 DevOps Training Certification
 DevOps Automation Tools
 What is the future of DevOps?
 Summary

Why is DevOps is Needed?

 Before DevOps, the development and operation team worked in complete isolation.
 Testing and Deployment were isolated activities done after design-build. Hence they consumed more time than
actual build cycles.
 Without using DevOps, team members are spending a large amount of their time in testing, deploying, and designing
instead of building the project.
 Manual code deployment leads to human errors in production
 Coding & operation teams have their separate timelines and are not in synch causing further delays.

There is a demand to increase the rate of software delivery by business stakeholders. As per Forrester Consulting Study, Only
17% of teams can use delivery software fast enough. This proves the pain point.

How is DevOps different from traditional IT


Let's compare traditional software waterfall model with DevOps to understand the changes DevOps bring.

We assume the application is scheduled to go live in 2 weeks and coding is 80% done. We assume the application is a fresh
launch and the process of buying servers to ship the code has just begun-

Old Process DevOps

After placing an order for new servers, After placing an order for new servers Development
the Development team works on and Operations team work together on the paperwork
testing. The Operations team works on to set-up the new servers. This results in better
extensive paperwork as required in visibility of infrastructure requirement.
enterprises to deploy the infrastructure.

Projection about failover, redundancy, Projection about failover, redundancy, disaster


data center locations, and storage recovery, data center locations, and storage
requirements are skewed as no inputs requirements are pretty accurate due to the inputs
are available from developers who have from the developers.
deep knowledge of the application.

Operations team has no clue on the In DevOps, the Operations team is completely aware
progress of the Development team. of the progress the developers are making.
Operations team develop a monitoring Operations team interact with developers and jointly
plan as per their understanding. develop a monitoring plan that caters to the IT and
business needs. They also use advance Application
Performance Monitoring (APM) Tools

Before go-live, the load testing crashes Before go-live, the load testing makes the application
the application. The release is delayed. a bit slow. The development team quickly fixes the
bottlenecks. The application is released on time.

Why is DevOps used?

DevOps allows Agile Development Teams to implement Continuous Integration and Continuous Delivery. This helps them to
launch products faster into the market.

Other Important reasons are:

1. Predictability: DevOps offers significantly lower failure rate of new releases

2. Reproducibility: Version everything so that earlier version can be restored anytime.

3. Maintainability: Effortless process of recovery in the event of a new release crashing or disabling the current system.

4. Time to market: DevOps reduces the time to market up to 50% through streamlined software delivery. This is particularly
the case for digital and mobile applications.

5. Greater Quality: DevOps helps the team to provide improved quality of application development as it incorporates
infrastructure issues.

6. Reduced Risk: DevOps incorporates security aspects in the software delivery lifecycle. It helps in reduction of defects
across the lifecycle.

7. Resiliency: The Operational state of the software system is more stable, secure, and changes are auditable.

8. Cost Efficiency: DevOps offers cost efficiency in the software development process which is always an aspiration of IT
companies' management.

9. Breaks larger code base into small pieces: DevOps is based on the agile programming method. Therefore, it allows
breaking larger code bases into smaller and manageable chunks.
When to adopt DevOps?

DevOps should be used for large distributed applications such as eCommerce sites or applications hosted on a cloud platform.

When not to adopt DevOps?

It should not be used in a mission-critical application like bank, power and other sensitive data sites. Such applications need
strict access controls on the production environment, a detailed change management policy, access control policy to the data
centers.

DevOps Lifecycle

DevOps is deep integration between development and operations. Understanding DevOps is not possible without knowing
DevOps lifecycle.

Here is a brief information about the Continuous DevOps life-cycle:

1. Development

In this DevOps stage the development of software takes place constantly. In this phase, the entire development process is
separated into small development cycles. This benefits DevOps team to speed up software development and delivery process.

2. Testing

QA team use tools like Selenium to identify and fix bugs in the new piece of code.

3. Integration

In this stage, new functionality is integrated with the prevailing code, and testing takes place. Continuous development is only
possible due to continuous integration and testing.

4. Deployment

In this phase, the deployment process takes place continuously. It is performed in such a manner that any changes made any
time in the code, should not affect the functioning of high traffic website.

5. Monitoring

In this phase, operation team will take care of the inappropriate system behavior or bugs which are found in production.

DevOps Work Flow


Workflows provide a visual overview of the sequence in which input is provided. It also tells about actions are performed, and
output is generated for an operations process.

Workflow allows the ability to separate and arrange jobs which are top-requested by the users. It also gives the ability to mirror
their ideal process in the configuration jobs.

How is DevOps different from Agile? DevOps Vs Agile

Stakeholders and communication chain a typical IT process.

Agile addresses gaps in Customer and Developer communications


DevOps addresses gaps in Developer and IT Operations communications

Agile DevOps

Emphasize breaking down barriers between DevOps is about software deployment


developers and management. and operation teams.

Addresses gap between customer requirements and Addresses the gap between
development teams. development and Operation team

Focuses more on functional and non-functional It focuses operational and business


readiness readiness.

Agile development pertains mainly to the way DevOps emphases on deploying


development is thought out by the company. software in the most reliable and safest
ways which aren't necessarily always
the fastest.

Agile development puts a huge emphasis on training DevOps, likes to divide and conquer,
all team members to have varieties of similar and spreading the skill set between the
equal skills. So that, when something goes wrong, development and operation teams. It
any team member can get assistance from any also maintains consistent
member in the absence of the team leader. communication.

Agile development manages on "sprints. It means DevOps strives for consolidated


that the time table is much shorter (less than a month) deadlines and benchmarks with major
and several features are to be produced and released releases, rather than smaller and more
in that period. frequent ones.
DevOps Principles

Here, are six principles which are essential when adopting DevOps:

1. Customer-Centric Action: DevOps team must take customer-centric action for that they should constantly invest in
products and services.

2. End-To-End Responsibility: The DevOps team need to provide performance support until they become end-of-life. This
enhances the level of responsibility and the quality of the products engineered.

3. Continuous Improvement: DevOps culture focuses on continuous improvement to minimize waste. It continuously speeds
up the improvement of product or services offered.

4. Automate everything: Automation is a vital principle of DevOps process. This is not only for the software development but
also for the entire infrastructure landscape.

5. Work as one team: In the DevOps culture role of the designer, developer, and tester are already defined. All they needed to
do is work as one team with complete collaboration.

6. Monitor and test everything: It is very important for DevOps team to have a robust monitoring and testing procedures.

Who is a DevOps Engineer?

A DevOps Engineer is an IT professional who works with software developers, system operators, and other production IT staff
to administer code releases. DevOps should have hard as well as soft skills to communicate and collaborate with development,
testing, and operations teams.

DevOps approach needs frequent, incremental changes to code versions, which means frequent deployment and testing
regimens. Although DevOps engineers need to code occasionally from scratch, it is important that they should have the basics
of software development languages.

A DevOps engineer will work with development team staff to tackle the coding and scripting needed to connect elements of
code, like libraries or software development kits.

Roles, Responsibilities, and Skills of a DevOps Engineer

DevOps engineers work full-time. They are responsible for the production and ongoing maintenance of a software application's
platform.

Following are some expected Roles, Responsibilities, and Skills that is expected from DevOps engineer:

 Able to perform system troubleshooting and problem-solving across platform and application domains.
 Manage project effectively through open, standards-based platforms
 Increase project visibility thought traceability
 Improve quality and reduce development cost with collaboration
 Analyse, design and evaluate automation scripts & systems
 Ensuring critical resolution of system issues by using the best cloud security solutions services
 DevOps engineer should have the soft skill of problem-solver and quick-learner

How much does DevOps engineer make?

DevOps is one of the most trending IT profession. That is why there is plenty of opportunities out there. As a result, pay scale
even for junior level DevOps engineer is quite high. Approximate salary of Junior DevOps engineer in India is 11, 15,801 per
year. The average salary for junior DevOps Engineer is $78,696 per year in the United States of America.

DevOps Training Certification

DevOps training certification helps anyone who aspires to make a career as a DevOps Engineer. Certifications are available
from Amazon web services, Red Hat, Microsoft Academy, DevOps Institute.
Let's consider them one by one

AWS Certified DevOps Engineer

This DevOps Engineering certificate tests you on how to use the most common DevOps patterns to develop, deploy, and
maintain applications on AWS. It also evaluates you on the core principles of the DevOps methodology.

This certification has 2 requisites. The certification fee is $300 and duration is 170 minutes.

Red Hat Certification:

A Red Hat offers different level of certifications for DevOps professionals as follows -

 Red Hat Certificate of Expertise in Platform-as-a-Service


 Red Hat Certificate of Expertise in Containerized Application Development
 Red Hat Certificate of Expertise in Ansible Automation
 Red Hat Certificate of Expertise in Configuration Management
 Red Hat Certificate of Expertise in Container Administration

Devops Institute

The DevOps Institute is the global learning community around emerging DevOps practices. This organization is setting the
quality standard for DevOps competency-based qualifications. The DevOps Institute currently offers three classes and
certifications.

The certification course offered by the company are:

 DevOps Foundation
 DevOps Foundation Certified
 Certified Agile Service Manager
 Certified Agile Process Owner
 DevOps Test Engineering
 Continuous Delivery Architecture
 DevOps Leader
 DevSecOps Engineering

DevOps Automation Tools

It is vital to automate all the testing processes and configure them to achieve speed and agility. This process is known as
DevOps automation.

The difficulty faced in large DevOps Team that maintain large huge IT infrastructure can be classified briefly into six different
categories.

1. Infrastructure Automation
2. Configuration Management
3. Deployment Automation
4. Performance Management
5. Log Management
6. Monitoring.

Let's see a few tools in each of these categories and how they solve the pain points–

Infrastructure Automation

Amazon Web Services (AWS): Being cloud service you do not need to be physically present in the data center. Also, they are
easy to scale on-demand. There are no up-front hardware costs. It can be configured to provision more servers based on traffic
automatically.

Configuration Management

Chef: It is a useful DevOps tool for achieving speed, scale, and consistency. It can be used to ease out complex tasks and
perform configuration management. With this tool, DevOps team can avoid making changes across ten thousand servers.
Instead, they need to make changes in one place which is automatically reflected in other servers.
Deployment Automation

Jenkins: This tool facilitates continuous integration and testing. It helps to integrate project changes more easily by quickly
finding issues as soon as a built is deployed.

Log Management

Splunk: This is a tool solves the issues like aggregating, storing, and analyzing all logs in one place.

Performance Management

App Dynamic: It is DevOps tool which offers real-time performance monitoring. The data collected by this tool helps
developers to debug when issues occur.

Monitoring

Nagios: It is also important to make sure people are notified when infrastructure and related services go down. Nagios is one
such tool for this purpose which helps DevOps teams to find and correct problems.

What is the future of DevOps?

They are lots of Change likely to happens in the DevOps world some most prominent are:

 Organizations are shifting in their needs to weeks and months instead of years.
 We will see soon that DevOps engineers have more access and control of the end user than any other person in the
enterprise.
 DevOps is becoming a valued skill for IT people. For example, a survey conducted by Linux hiring found that 25% of
respondent's job seeker is DevOps expertise.
 DevOps and continuous delivery are here to stay. Therefore companies need to change as they have no choice but
to evolve. However, the mainstreaming the notion of DevOps will take 5 to 10 years.

Summary

 DevOps is a culture which promotes collaboration between Development and Operations Team to deploy code to
production faster in an automated & repeatable way
 Before DevOps operation and Development team working in completed isolation.
 Manual code deployment leads to human errors in production
 In the Old process, Operations team has no clue on the progress of the Development team. So, operations team
developed a IT infrastructure purchase and monitoring plan as per their understanding.
 In the DevOps process operation team fully aware of the progress of developer. The purchase and monitoring
planning is accurate.
 DevOps offers Maintainability, Predictability, Greater quality cost efficiency and time to market.
 Agile process focuses on functional and non-functional readiness while DevOps focuses on that IT infrastructure
aspects.
 DevOps life cycle includes Development, Testing, Integration, Deployment, and Monitoring.
 DevOps engineer will work with development team staff to tackle the coding and scripting needs.
 DevOps engineer should have the soft skill of a problem-solver and be a quick-learner
 DevOps Certifications are available from Amazon web services, Red Hat, Microsoft Academy, DevOps Institute
 DevOps helps organizations in shifting their code deployment cycles to weeks and months instead of years.

You might also like