Вы находитесь на странице: 1из 18

7 TOOLS

THAT WILL
REVOLUTIONIZE
DEVOPS
By Neeraj Gupta &
Gunjan Sawhney

June 2016
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

CONTENT

1. Introduction 3

2. Seven Tools that will Revolutionize DevOps 4


2.1 Docker 3
2.2 Jenkins 6
2.3 New Relic 8
2.4 Ansible 11
2.5 SaltStack 12
2.6 Splunk 13
2.7 Kubernetes 14

3. Conclusion 15

4. About the Authors 16

5. About TO THE NEW 16

6. Explore Other Resources 17

2
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

1. INTRODUCTION Organizations globally are growing at a very rapid pace.


Managing the complex infrastructure requirements to achieve
such a growth has become a challenge for most organizations
and the only solution to this challenge is bringing the Development
and Operations team together. Having an expert DevOps team
helps to scale up the infrastructure needs with minimum downtime
and outages.

DevOps team performs various tasks such as:

• Provisioning of New Virtual Machines

• Configuration of Network Devices and Servers

• Application Deployment

• Collection and Aggregation of Logs

• Performance Monitoring of Services, Networks and Applications

• Alerting and Automatic Remediation of Issues

• Server and Service Availability Monitoring

However, performing these tasks without using the right set of


tools can be time consuming and costly. Some DevOps tools
require huge investment whereas some other are easily available
as they are open source. You can undertake a quick cost benefit
analysis and then choose the set of tools that helps in solving your
use case.

DevOps Tools

Docker Jenkins New Relic Ansible SaltStack Splunk Kubernetes

3
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

2. SEVEN TOOLS Here are the top 7 tools that will revolutionize the future of devops.

THAT WILL 2.1 Docker

REVOLUTIONIZE Category: Open Source

DEVOPS
Containers help in combining application and its dependencies
into a single package, therefore developers and system admins
can be rest assured that the application will run on any linux
system without any changes in system configurations.

A new container technology, DOCKER is gaining a lot of traction


among DevOps professionals and companies are adopting it at
a rapid pace. Most organizations plan to switch their applications
from VMs/Servers to Containers.

Docker enables you to create, deploy and run applications


using Containers. Docker is similar to a virtual machine, but unlike
virtual machine, Docker relies on Linux kernel to isolate resources
from the host. Docker uses namespaces, cgroups, lxc and kernel
capabilities to isolate container resources from the host resources
thereby boosting the performance and reducing the size of the
application.

The growing popularity of Docker is attributed to the fact that


some of the leading organizations have been the early adopters
of this technology. Here are some interesting figures outlining the
rapid adoption of Docker.

Docker Adoption Behavior


12%
Adopted DOCKER ADOPTION

Dabbling UP 5X
IN ONE YEAR
Abandoned 8%

4%

0%
Source : Datadoghq AUG 2014 DEC 2014 APR 2015 AUG 2015

4
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

As Docker is designed to benefit both the developers and the


system administrators, it is considered as one of the most important
tools.

Here are some key benefits of using Docker

1. Rapid Application Deployment

Docker containers have minimum runtime requirements


which reduces the overall size and deployment time.

2. Portability and Reuseability

Once you have a docker image ready it can be deployed


to any machine with docker engine. I.e. The same docker
image can run on production, staging or developer’s
machine indifferently.

3. Application-Centric vs. Server-Entric

It is easy to have application specific configuration built-in


docker images.

4. Version Control and Component Reuse

You can track version updates of your containers, inspect


differences and roll-back to previous versions if needed.
Containers reuse components from the preceding layers,
which makes them noticeably lightweight.

5. Better CI/CD Pipeline

Right from development to production, Docker provides


a consistent environment for the application making the
code development, testing and deployment pipeline
quick, efficient and easy.

5
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

How Docker has helped us?

As we already have base docker images for all our applications,


we can easily roll them out to development/staging/production
environment in a matter of few minutes leading to easy updation
and maintenance of the images.

It helps in better resource allocation and easy isolation among


multiple docker containers.

Using docker has improved our build pipeline and now we run a
complete sanity test during build process itself.

2.2 Jenkins
Category: Open Source

During development, it becomes tedious and time consuming


to integrate code changes from time to time and prevent
a functionality breakdown due to frequent code changes.
Continuous Integration (CI) thereupon becomes the integral
part of the agile development process. Continuous Integration
(CI) acts as a framework that can help developers and testers to
test new code automatically on a CI server when such a code is
added to the repository.

Optimized Scalability
Performance

Light Weight High


Container Availability
Support

Simplified
Analytics Administration

Role-Based
Advanced Distributed Access
Security Team Control
Management
Source: Cloudbees

6
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

Jenkins is an open source tool which is used in Continuous


Integration deployments. It may not be as fast as stand alone
CI tools like Atlassian, Bamboo or Teamcity, but it has a great
repository of plugins and add-ons. It is highly extensible and easy
to use.

Here are some key benefits of using Jenkins:

1. Software/Application Testing

2. Automating Code Deployment

3. Report Build and Test Failures

4. Running Shell Scripts

5. Integration with Many Other Tools like Maven, Ant,


Docker, Git etc.

6. Automating Tasks like Cron Jobs

Here are some interesting figures outlining the adoption rate of


Jenkins:

*The results were


normalized to
exclude non-users
70% Jenkins

9% Bamboo

8% Hudson

7.5% Team city


2% Travis CI
1% Cruise Control Analysis By
2.5% Other REBEL LABS

7
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

How Jenkins has helped us?

As Jenkins allows us to fully customize it with the help of widely


available plugins, so we use it in our complete build and
deployment process.

With the help of Jenkins we have automated complete load


testing environment. It polls GIT repo for latest commits, spin’s up
load testing environment and execute load test.

We are also using Jenkins one click job to spin up on demand


performance testing setup.

2.3 New Relic: Application


Performance Monitoring
Category: Paid

New Relic is one of the most popular application performance


monitoring tools that provides deep insights about the application
such as application load time for an example.

Using New Relic you will be able to monitor your application


response time from around the globe. With its multiple dashboards,
you will be able to monitor key application components such as
key transactions, custom error recording, external service call
recording and scalability/ capacity analysis.

Apart from the above mentioned solutions, New Relic


offers many other solutions for end to end monitoring of
your application:

1. APM

This helps you to monitor your application performance

2. Mobile

This helps you to monitor and manage the performance


of your iOS and Android applications by providing end-to-
end details, errors, and throughput from every angle in real
time

8
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

3. Server

It provides the latest information about the health of your


servers, tools to customize your server dashboard and links
for the recent events (CPU, Memory, Network, Disk)

4. Browser

It provides deep visibility and actionable insights into real


users’ experiences on your website

5. Synthetics

It gives you a suite of automated, scriptable tools to


monitor your website, critical business transactions and API
endpoints.

6. Insights

It is a software analytics resource that gathers and


visualizes data about your software and provides insights
from this data to improve your business.

WPM Market share in the Alexa top 100K

APM MOBILE SERVERS BROWERS SYNTHETIC PLATFORM INSIGHTS


} ANALYZE

STORE

NEW RELIC CLOUD DATABASE

Image Source : Newrelic


Applications Browsers Servers Mobile
} COLLECT

Devices

9
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

WPM Market Share in the Alexa New Relic


top 100k Google Speed
Analytics
dyna race
5.8% App Dynamics

88%

Courtesy: datanyze

New Relic is a market leader for application performance


monitoring as it pinpoints precise pain areas in your application.

How New Relic has helped us?

New Relic APM helped us in identifying application bottlenecks


including the most time consuming queries and several other
aspects of the console.

New Relic Servers helped us in monitoring server’s key metrics like


CPU, Network, Disk, Memory, Processes.

New Relic Synthetics helps us in monitoring private endpoints from


around the globe.

10
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

2.4 Ansible
Category: Open Source

Cloud adoption has grown significantly in the last decade.


Cloud is no more a simple storage and retrieval service, but a
useful technology to run full fledged business critical applications.
With the advancement in Cloud, it has extensively increased
the complexity of the infrastructure and environment. The skills
required to manage the entire application stack or infrastructure
aren’t full-grown and manual updates aren’t feasible given the
complexity and time involved to achieve it.

Being an automation (Configuration Management Tool) platform,


Ansible allows you to define, build and maintain complex cloud
infrastructure continuously.

Here are some key benefits of using Ansible:

1. Ansible is Open Source

2. Ansible can be used for:

a. Provisioning d. Managing App


b. Configuration Deployment
c. Continuous Delivery e. Orchestration

3. Agentless Architecture

It works on ssh protocol and therefore no remote agent


installation is required.

4. Lightweight and Easy to use

5. Simple Configuration Language (uses YAML files)

11
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

How Ansible has helped us?

Ansible allows us to keep all of our changes centralized. Ansible


configuration can also be used as a documentation.

We are also using Ansible to install and update packages on fleet


of EC2 instances. i.e. apt-get update, docker, vulnerability check
(shellshock and heartbleed)

2.5 SaltStack
Category: Open Source

Although Chef and Puppet both alike are the market leaders
when it comes to Configuration Management, SaltStack is
quickly gaining ground among various DevOps led organizations.
SaltStack was developed in Python and it works on push based
approach i.e. to push config file to client. SaltStack requires
Master server and an agent deployed on target server for
communication and control, it uses the oMQ communication
layer, which makes it relatively fast as compared to rest of the
configuration management tools.

Here are some key use cases and benefits of using SaltStack :

1. Very Fast Performance

2. Easily Scalable and Deployable

3. Introspection is very good. It’s easy to see what’s


happening within Salt.

4. Input, Output, and Configs are very consistent – all YAML

Here are some of the features of SaltStack:


1. Salt uses ZeroMQ for master and minion communication which
is way more faster than ssh.

2. Salt also supports multi-master architecture and therefore


quickly scalable and fault tolerant.

12
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

2.6 Splunk
Category: Paid Tool

We find tons of data available on Servers and Cloud platforms.


Splunk is a platform that helps to provide insights in this sea of
information.

Splunk allows you to look closely at the data that is usually ignored.
Insights from Splunk help companies to analyze data and take
decisions that improves productivity and profitability.

Splunk captures, indexes and correlates real-time data in a


searchable central location from which it can generate graphs,
reports, alerts, dashboards and visualizations.

Here are some key use cases and benefits of using Splunk :

1. Collects and Indexes Log and Machine Data from any


Source

2. Powerful Search, Analysis and Visualization Capabilities


Empower Various Users

3. Apps Provide Solutions for Security, IT Ops, Business


Analysis and more

4. Enables Visibility Across on Premise, Cloud and Hybrid


Environments

5. Delivers the Scale, Security and Availability to Suit Any


Organization

6. Available as a Software or SaaS Solution

Source: Splunk

13
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

2.7 Kubernetes
Category: Open Source

Kubernetes is an open source docker orchestration tool that is


lightweight, multi-cloud, extensible and self-healing platform. It
helps you to scale your application on the fly, roll out new features
and optimize the use of hardware by only using the resources
needed to run the application.Kubernete project was started by
Google in 2014.

Here are some key features of Kubernetes:

1. Automatic Bin Packing

2. Horizontal Scaling

3. Automated Rollouts and Rollbacks

4. Self-healing

5. Service Discovery and Load Balancer

6. Secret and Configuration Management

7. Storage Orchestration

8. Batch Execution

How Kubernete has helped us?

1. Kubernetes helped us in reducing QA/Prod environment


monthly spend by multiple folds, as it enabled us to better utilize
existing resources.

2. Kubernetes accelerated weekly build and deployments from


30 to 55 per week.

3. Kubernetes provide out of box deployment feature (i.e.


rolling update), we can now do zero downtime deployments in
production.

14
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

Docker adoption has significantly increased in the last one year


and below you can see some key statistics showing container
orchestration management tools being used currently.

What container orchestration and management tools are


you currently using/evaluating? Answered: 501 Skipped: 0

Docker Swam

Google Kubernetes

Amazon ECS

None

Custom Built
Orchestration..
Apache Mesos

Rancher

Openshift

Mesosphere DCOS

Cloud Foundary
0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Source : Docker

3. CONCLUSION With more and more Organizations trying to bring their Development
and Operations team closer, using the aforementioned tools
would really help you to make your delivery pipeline efficient.
Based on the use cases, features, adoption rate and benefits, you
can easily choose tools that best fits your DevOps needs.

At TO THE NEW, we have used all of the above mentioned tools


depending upon the use cases. Doing so, we have significantly
reduced time spent on day to day operational tasks. In one of the
projects, we have been able to reduce deployment time from 20
minutes to 3 minutes by switching to Kubernetes to run complete
microservices ecosystem on Docker. Similarly we were able to
identify application bottlenecks using New Relic.

Note: There are many other open source and free tools available.
The tools outlined above are picked because of their best in class
features.

15
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

4. ABOUT THE Neeraj Gupta


Senior DevOps Engineer
AUTHORS
Neeraj is a AWS Certified Solutions Architect & Senior DevOps
Engineer focusing on designing and implementing scalable cloud
solutions. He comes with a vast experience in AWS solution desiging
& implementation and has received accolades for his hard work.
He is a technology lover and likes exploring new technologies.

Gunjan Sawhney
Associate DevOps Engineeer

Gunjan is an avid Linux lover, an open-source enthusiast and an


experienced DevOps consultant. She has a strong track record of
automating in a variety of distributed computing environments.
She is an expert puppet engineer implementing infrastructure as
code, continuous integration and automated deployments.

5. ABOUT TO THE NEW is a digital technology company that builds


disruptive products and transforms businesses. We leverage the
TO THE NEW power of experience design, cutting-edge engineering, cloud
and analytics led marketing to enable digital transformation.

Our passionate team of 750+ people includes passionate


technologists, digital analytics experts, video specialists and
creative mavericks who have transformed businesses of more
than 300 companies spread across 30 countries worldwide. We
take pride in our culture which is driven by passion for making an
impact through technology.

16
7 TOOLS THAT WILL REVOLUTIONIZE DEVOPS

6. EXPLORE MORE
RESOURCES

DevOps Principles and Practices

DOWNLOAD WHITEPAPER

8 Barriers to DevOps Adoption

DOWNLOAD E-BOOK

17
info@tothenew.com
www.tothenew.com

LETS CONNECT

Вам также может понравиться