Icebreaker with DevOps

of 31/31
1 WhiteHedge Ice Breaker with DevOps WhiteHedge
  • date post

    11-Jan-2017
  • Category

    Technology

  • view

    327
  • download

    0

Embed Size (px)

Transcript of Icebreaker with DevOps

  • 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 theCloud Automation, DevOps and Big Data Analytics.

    Experience of building 50+ successful products across the globe in various industriesand the knowledge of latest trends and technologies, make us stand out as the bestand 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 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

    InfrastructureStarted 2003 | Focused Agile

    Product Development

    Self funded | Well funded |

    Profitable

    INTRODUCTION

  • 4

    WhiteHedge

    What is DevOps ?

  • 5

    WhiteHedge

    COMMUNICATION

    COLLABORATION

    INTEGRATION

    Let us find it on Web

  • 6

    WhiteHedge

    A Simplified Answer to What is DevOps ?

  • 7

    WhiteHedgeWhiteHedge

    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

    Machines used for manufacturing in 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

    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

    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

    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 keeps the developers 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

    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

    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

    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

    This literally translates to Infrastructure Automation

    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

    And dont hesitate to contact us for further details.

  • 30

    WhiteHedge

    QUESTIONS? Go Ahead, Dont Hesitate!

    ?

  • 31

    WhiteHedgeWhiteHedge

    31

    FOLLOW US

    GET IN TOUCH WITH USGo Ahead, Dont Hesitate!

    - SOCIAL NETWORKS / PHONE

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

    Mukta Aphale

    Abhijit Joshi - [email protected]