1
WhiteHedge
Ice Breaker with DevOps
WhiteHedge
2
WhiteHedgeWhiteHedge
2
- HELLO
Shorten the path between Innovation and Value
WhiteHedge is an agile Product Development company with deep experience in the
Cloud Automation, DevOps and Big Data Analytics.
Experience of building 50+ successful products across the globe in various industries
and the knowledge of latest trends and technologies, make us stand out as the best
and the coolest software product development company.
INTRODUCTION
3
WhiteHedgeWhiteHedge
3
- AN OVERVIEW
 Global Presence
Agile + Flexible
Thorough + Quick Learner
Competitive + Comprehensive
Honest + Transparent
Young + Mature
Innovative + Creative
 More about us …
What definesus?
California
New Jersey Rotterdam
Pune
EnvisionProducts|
Convertintobusinesses
100+employees|50+live
productsworld-wide
Thebest oftheTalentand
Infrastructure
Started2003| FocusedAgile
ProductDevelopment
Selffunded| Wellfunded|
Profitable
INTRODUCTION
4
WhiteHedge

Whatis DevOps ?
5
WhiteHedge
COMMUNICATION
COLLABORATION
INTEGRATION
Let us find it on Web
6
WhiteHedge

A Simplified Answer to
Whatis DevOps ?
7
WhiteHedgeWhiteHedge
Car
A 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
“Machines” used for
manufacturingin automotive
industry
=>
“DevOps” in Software 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
WhiteHedgeMake a Start to Realize …
§ 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 !
§ Follow the mantra: “Any task should be done only once!”
§ 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
WhiteHedgeSTEP4:UnderstandFundamentals!
§ 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
WhiteHedgeVersionControl
§ Source Code Version Control
• Github is the most popular
§ Keep in mind that “Version Control” can also be applied to infrastructure,
configuration and databases, but this can be studied in depth in later stages
of your Learning & Implementing DevOps!
§ Few popular tools
19
WhiteHedgeContinuousIntegration
§ 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
WhiteHedgeAutomatedCodeReviewandAnalysis
§ Don't go by the dull title. This is quite interesting when implemented.
It keeps the developer’s code on track and reduces code quality issues!
§ 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
WhiteHedgeBuildTools
§ 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
WhiteHedgeArtifactManagementRepository
§ Artifacts are generated as a result of the builds. They can also be called as
“application” or “executables”
§ Artifacts are also those libraries needed by the build (called “dependencies”)
§ 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
WhiteHedgeCIServer
§ 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
WhiteHedgeConfigurationManagement
§ This literally translates to “Infrastructure Automation”
§ Following are the 3 most popular CM tools. Study 2 of them well.
§ Ansible
§ Puppet OR Chef
25
WhiteHedgeContinuousDelivery
§ 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
WhiteHedgeReleaseManagement
§ 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:SetupaCI/CDPipeline
§ 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
WhiteHedgeAreyoureadytotakeadeepdiveintoDevOps?
§ 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
§ And don’t hesitate to contact us for further details.
30
WhiteHedge
QUESTIONS?
Go Ahead, Don’t Hesitate!
?
31
WhiteHedgeWhiteHedge
31
FOLLOW US
GET IN TOUCH WITH US
Go Ahead, Don’t Hesitate!
    
- SOCIAL NETWORKS / PHONE
http://www.whitehedge.com/devops.html
MuktaAphale
Abhijit Joshi - Ajoshi@WhiteHedge.com

Icebreaker with DevOps

  • 1.
  • 2.
    2 WhiteHedgeWhiteHedge 2 - HELLO Shorten thepath between Innovation and Value WhiteHedge is an agile Product Development company with deep experience in the Cloud Automation, DevOps and Big Data Analytics. Experience of building 50+ successful products across the globe in various industries and the knowledge of latest trends and technologies, make us stand out as the best and the coolest software product development company. INTRODUCTION
  • 3.
    3 WhiteHedgeWhiteHedge 3 - AN OVERVIEW Global Presence Agile + Flexible Thorough + Quick Learner Competitive + Comprehensive Honest + Transparent Young + Mature Innovative + Creative  More about us … What definesus? California New Jersey Rotterdam Pune EnvisionProducts| Convertintobusinesses 100+employees|50+live productsworld-wide Thebest oftheTalentand Infrastructure Started2003| FocusedAgile ProductDevelopment Selffunded| Wellfunded| Profitable INTRODUCTION
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
    8 WhiteHedgeManufacturing a Car Manufacturinga 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.
    9 WhiteHedgeLets draw ananalogy 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 “Machines” used for manufacturingin automotive industry => “DevOps” in Software industry
  • 10.
    10 WhiteHedge is like the Robot whichhelps you build Better Software
  • 11.
  • 12.
    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.
    13 WhiteHedgeMake a Startto Realize … § 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.
    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.
    15 WhiteHedgeNew Culture § DevOpsbrings 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.
    16 WhiteHedgeSTEP 3 :Dehumanize ! § Follow the mantra: “Any task should be done only once!” § 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.
    17 WhiteHedgeSTEP4:UnderstandFundamentals! § DevOps ishere 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.
    18 WhiteHedgeVersionControl § Source CodeVersion Control • Github is the most popular § Keep in mind that “Version Control” can also be applied to infrastructure, configuration and databases, but this can be studied in depth in later stages of your Learning & Implementing DevOps! § Few popular tools
  • 19.
    19 WhiteHedgeContinuousIntegration § CI enablesearly 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.
    20 WhiteHedgeAutomatedCodeReviewandAnalysis § Don't goby the dull title. This is quite interesting when implemented. It keeps the developer’s code on track and reduces code quality issues! § 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.
    21 WhiteHedgeBuildTools § Build toolsconvert 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.
    22 WhiteHedgeArtifactManagementRepository § Artifacts aregenerated as a result of the builds. They can also be called as “application” or “executables” § Artifacts are also those libraries needed by the build (called “dependencies”) § 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.
    23 WhiteHedgeCIServer § Continuous Integrationserver 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.
    24 WhiteHedgeConfigurationManagement § This literallytranslates to “Infrastructure Automation” § Following are the 3 most popular CM tools. Study 2 of them well. § Ansible § Puppet OR Chef
  • 25.
    25 WhiteHedgeContinuousDelivery § CD isa 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.
    26 WhiteHedgeReleaseManagement § With theconcepts 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.
    27 WhiteHedgeMonitoring § Application andSystem 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.
    28 WhiteHedgeAssignment:SetupaCI/CDPipeline § Create aHello 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.
    29 WhiteHedgeAreyoureadytotakeadeepdiveintoDevOps? § Document yourunderstanding 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 § And don’t hesitate to contact us for further details.
  • 30.
  • 31.
    31 WhiteHedgeWhiteHedge 31 FOLLOW US GET INTOUCH WITH US Go Ahead, Don’t Hesitate!      - SOCIAL NETWORKS / PHONE http://www.whitehedge.com/devops.html MuktaAphale Abhijit Joshi - Ajoshi@WhiteHedge.com