what is devops and how do i get started with it?
TRANSCRIPT
WhiteHedge
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
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
What is DevOps ?
5
WhiteHedge
COMMUNICATION
COLLABORATION
INTEGRATION
Let us find it on Web
A Simplified Answer
to What is DevOps ?
WhiteHedge
CarA Product.
Customer
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.
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
=>
10
WhiteHedge
is like the
Robot
which helps you
build
Better Software
11
WhiteHedge
Where to Start with DevOps ?
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!
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
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
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!
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!
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
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!
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
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
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
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
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
24
WhiteHedgeConfiguration Management
Following are the 3 most popular CM tools. Study 2 of them well.
Ansible
Puppet OR Chef
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.
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.
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
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
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
WhiteHedge
QUESTIONS? Hesitate!
?
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]
WhiteHedge