Skip to content

Instantly share code, notes, and snippets.

@varunpalekar
Last active July 10, 2019 09:11
Show Gist options
  • Save varunpalekar/7035f7ae13ae88083799ef9c195aa6a1 to your computer and use it in GitHub Desktop.
Save varunpalekar/7035f7ae13ae88083799ef9c195aa6a1 to your computer and use it in GitHub Desktop.
DevOps points for starting

Part 1

  1. Virtualbox with vagrant
    1. Creating a ubuntu 16.04 machine
    2. Setting up private ethernet by ubuntu network manager (not vagrant)
    3. Tune virtualbox by vagrant file (increase ram and CPU count)
  2. Process lookout
  3. Memory Lookout
  4. Deploy application
  5. Swap file system and swappiness
  6. LVM
  7. Create a service file which start a springboot application
  8. Deployment of Springboot application
  9. Process supervisor
  10. Reverse proxy server

Part 2

  1. VCS (git and svn)

  2. Git Workflow

    1. Git Configurations
    2. Creating Git Repository
    3. Stacking Unfinished Changes
    4. Move, Rename & Delete Operations
    5. Tags
  3. Ansible

    1. Installing specific version of Ansible

      1. Ansible Inventory
      2. Understand YAML https://gettaurus.org/docs/YAMLTutorial/
      3. Understand jinja2 template engine http://jinja.pocoo.org/
      4. Ansible Playbooks
    2. Run some ansible playbook on multiple servers

      1. Ansible Module (Learn about general ansible modules)
      2. Ansible variables (Learn where and how we define and use, also priority and override policy of them)
      3. Conditions
      4. Loops
    3. Ansible Roles exercise:

      Deploy one tomcat application having a database (mysql) as backend. Also create slave of mysql database. All using Ansible

  4. Jenkins

    1. Continuous Integration
      1. Installing Jenkins
      2. Setting up Jenkins
      3. Create a job to build and deploy project on machine
      4. Create a job to build and deploy project by using ansible
  5. Docker https://training.play-with-docker.com/

Part 3

  1. Rsyslog

    1. Basics of rsyslog
      1. Install rsyslog

      2. Exercise:

        deploy java application on Two VMs

        1. Create a new VM with rsyslog server

        2. Push logs all Java application to centralize Rsyslog in file format as:

          Save the error logs to app/error.log

          Save INFO logs to app/info.log

          Send email to a mail address on error logs of application

  2. ELK stack

    1. Setup a ELK stack
      1. deploy java application on Two VMs
      2. Push logs all Java application to ELK stack which able to see in Kibana
      3. Add Elastic Application monitoring tool for Java Application
  3. Prometheus and grafana

    1. Setup Prometheus and grafana server
    2. Deploy java application on two VMs
    3. Push JVM metrics to prometheus
    4. Push VMs standard metrics to prometheus
    5. Use jmx exporter to push metrics to prometheus
    6. Create Dashboard in Grafana for all
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment