32
WhiteHedge

What is DevOps and How do I get started with it?

Embed Size (px)

Citation preview

Page 1: What is DevOps and How do I get started with it?

WhiteHedge

Page 2: What is DevOps and How do I get started with it?

WhiteHedge

2

- HELLO

Hello! Welcome to WhiteHedge

WhiteHedge is an Agile Software Product Development company. But what reallydescribes us is what we think about Our Work , Our Clients.

We have deep experience in three of the most sought-after technology domains in theindustry today: Big Data Analytics, Cloud Computing, and DevOps. Having deepknowledge in these domains make us stand out as the best and the coolest provider ofservices. Our Dev-Ops will bring you a single team that works together with continuousdevelopment, continuous testing, continuous deployments, logging, monitoring andsecurity.

INTRODUCTION

Page 3: What is DevOps and How do I get started with it?

WhiteHedge

3

- AN OVERVIEW

Global Presence

Agile + Flexible

Thorough + Quick Learner

Competitive + Comprehensive

Honest + Transparent

Young + Mature

Innovative + Creative

More about us …What defines us ?

California

New Jersey Rotterdam

Pune

Envision Products |

Convert into businesses

100+ employees | 50+ live

products world-wide

The best of the Talent and

Infrastructure

Started 2003 | Focused Agile

Product Development

Self funded | Well funded |

Profitable

INTRODUCTION

Page 4: What is DevOps and How do I get started with it?

What is DevOps ?

Page 5: What is DevOps and How do I get started with it?

5

WhiteHedge

COMMUNICATION

COLLABORATION

INTEGRATION

Let us find it on Web

Page 6: What is DevOps and How do I get started with it?

A Simplified Answer

to What is DevOps ?

Page 7: What is DevOps and How do I get started with it?

WhiteHedge

CarA Product.

Customer

Page 8: What is DevOps and How do I get started with it?

8

WhiteHedgeManufacturing a Car

Manufacturing a car is like building a

Software Product.

A car is designed, each parts of the car built separately,

which are assembled together and delivered to the showroom for sale.

Every car sale also follows with Service and Support.

Page 9: What is DevOps and How do I get started with it?

9

WhiteHedgeLets draw an analogy

Car parts

=>

Code modules

Car parts are manufactured using machinery

=>

Software is better written when written with the help of tools

Car assembly

=>

(Continuous) Integration

Assembly Lines

=>

(Continuous) Deployment

Car Testing. Test parts of car, test assembled car, test car

functionality

manufacturing in automotive industry

=>

Page 10: What is DevOps and How do I get started with it?

10

WhiteHedge

is like the

Robot

which helps you

build

Better Software

Page 11: What is DevOps and How do I get started with it?

11

WhiteHedge

Where to Start with DevOps ?

Page 12: What is DevOps and How do I get started with it?

12

WhiteHedgeSTEP 1 : Make a START

Learning DevOps is like learning to Ride a Bicycle.

You learn to balance, Only when you are in MOTION!

Page 13: What is DevOps and How do I get started with it?

13

WhiteHedge

DevOps replaces human tasks

There are no limits to what you can automate

You will be creating Robots

You need to be creative, innovative

You need to be techy too

Page 14: What is DevOps and How do I get started with it?

14

WhiteHedgeSTEP 2 : Change

Start with a clean slate

Keep your past behind

Be ready for change

Understand you need to: learn-unlearn-learn-repeat

Keep your mind open

Be proactive, you need to drive yourself

Page 15: What is DevOps and How do I get started with it?

15

WhiteHedgeNew Culture

DevOps brings in a new culture

You won't have any requirements

You won't be given any design

You won't be shown any problem

A lot of ideas would be thrown at you

And you would be called to help!

Page 16: What is DevOps and How do I get started with it?

16

WhiteHedgeSTEP 3 : Dehumanize !

Start by writing small scripts to automate any task you would have to do manually

If it can't be scripted, document it

The challenge should be: the 2nd time you have to do the same task, it should take

10 times less time than the first attempt!

Page 17: What is DevOps and How do I get started with it?

17

WhiteHedgeSTEP 4 : Understand Fundamentals !

DevOps is here to automate nearly everything

But you can start with some tasks which are the bare minimum needs of

DevOps Automation

Next few slides will explain these fundamental concepts

Page 18: What is DevOps and How do I get started with it?

18

WhiteHedgeVersion Control

Source Code Version Control

• Github is the most popular

configuration and databases, but this can be studied in depth in later stages

of your Learning & Implementing DevOps!

Page 19: What is DevOps and How do I get started with it?

19

WhiteHedgeContinuous Integration

CI enables early detection of problems in integration. It includes several

components, explained further

• Automated Code Review

• Automated Code Analysis

• Build Tools

• Automated Unit Tests

• Automated Integration Tests

Page 20: What is DevOps and How do I get started with it?

20

WhiteHedgeAutomated Code Review and Analysis

Don't go by the dull title. This is quite interesting when implemented.

It

Tools like Gerrit can be used for setting up code review process

Go through the concepts and explore the tools listed below

• Static Code Analysis

• Lint tools

• SonarQube

• JArchitect

• Codacy

• CodeClimate

Page 21: What is DevOps and How do I get started with it?

21

WhiteHedgeBuild Tools

Build tools convert source code to binary, create executables (eg: jar), can run

tests and create documentation. Listed below are some popular build tools.

Understand any one build tool to know the intricacies of building a project.

• Maven

• Gradle

• Ant

• make

Page 22: What is DevOps and How do I get started with it?

22

WhiteHedgeArtifact Management Repository

Artifacts are generated as a result of the builds. They can also be called as

We need to control the version of the dependencies

We need to manage releases of the application

Hence artifact management is important

Explore the existing popular solutions:

• Artifactory (PaaS offering)

• Sonatype Nexus

Page 23: What is DevOps and How do I get started with it?

23

WhiteHedgeCI Server

Continuous Integration server can be setup in-house or used as a PaaS

solution.

Try some hands-on with both CI servers mentioned below

• Hosted Travis-CI

• Jenkins

Page 24: What is DevOps and How do I get started with it?

24

WhiteHedgeConfiguration Management

Following are the 3 most popular CM tools. Study 2 of them well.

Ansible

Puppet OR Chef

Page 25: What is DevOps and How do I get started with it?

25

WhiteHedgeContinuous Delivery

CD is a natural extension to CI: Teams can ensure that every change to the

system is releasable and that any version can be released at the click of a

button.

Page 26: What is DevOps and How do I get started with it?

26

WhiteHedgeRelease Management

With the concepts we have learnt so far, you would realise that we would end up with many versions of the build.

We want to release the right versions, frequently, and get a feedback about how it performs. This is release management.

The solution to deployment and release management differs for every use case.

• CM tools like Ansible can be used

• CI Server like Jenkins can be used

• Capistrano is a standalone tool

Understand theoretically how each of the above works. Note the differences in each approach and which would be used in which use cases.

Page 27: What is DevOps and How do I get started with it?

27

WhiteHedgeMonitoring

Application and System Monitoring are one of the important tenets of DevOps.

Explore some of the tools below, try some hands-on:

• ELK Stack

• New Relic

• Server Density

Page 28: What is DevOps and How do I get started with it?

28

WhiteHedgeAssignment: Setup a CI/CD Pipeline

Create a Hello World project on Github

Use hosted Travis-CI as build server

With every git push:

Hello World build should be triggered in Travis-CI

Run unit tests

If they pass, save the build output to Nexus

Trigger a playlist in Ansible, which will deploy the build to a another machine

With every successful deployment, relay the feedback (send emails)

With a failure in any of the steps, send the feedback to the developer with the details of failure

Page 29: What is DevOps and How do I get started with it?

29

WhiteHedgeAre you ready to take a deep dive into DevOps?

Document your understanding till now

List down how you can better the CI/CD pipeline

List down what you think could also be automated in your assignment

Get set to take a deep dive into a topic that you wish to master

Page 30: What is DevOps and How do I get started with it?

WhiteHedge

QUESTIONS? Hesitate!

?

Page 31: What is DevOps and How do I get started with it?

WhiteHedge

31

FOLLOW US

GET IN TOUCH WITH US

Hesitate!

- SOCIAL NETWORKS / PHONE

http://www.whitehedge.com/devops.html

Mukta Aphale - [email protected]

Abhijit Joshi - [email protected]

Page 32: What is DevOps and How do I get started with it?

WhiteHedge