Devops Requirement

Devops Requirement

Development + Operations = DevOps

  • DevOps = Quickly delivering high quality code.
  • After solution in deployed on server, there's always need of Including new features, new updates, fixing bugs. So this needs to be available to user fast. We keep track of codes in form of multiple Version (Versioning). We use 3 dot method like: 1.2.4 , which stands for (manjor changes, minor changes, bug fixes) in that order.
  • DevOps is making continuous delivery process fast.
  • Continuous Delivery Process:
    • Idea
    • Implement
    • Test
    • Build Package
    • Deploy
    • Monitor in Production

Road blocks devops eliminate:

    • communication gap and time consuming process b/w developers & operations.
    • Manual process of deloying code on prod, keeping track of change of permisson granted/denied on server, reverting the old version of working code incase of error.
  • As developer : need to wrtie code & maintain version
    • Git
  • As operations: deploy on server
    • Linux Basic
    • CLI commands / Shell commands
    • Linux file system
    • Server management (how to ssh onto server)
    • Basic of network & security:
      • Firewall, proxy server
      • Load Balancer
      • HTTP/HTTPS (port working idea)
      • IP/DNS/Name Resolution
  • Run solution using container on a server
    • Docker

Automated CI/CD process

    • CI - Automated process of updating code changes into git repository. CODE+BUID

    • CD- Automated process of testing, deploying and montoring on server.
      • Release + Monitor/Operate
Containers used on servers to deploy app

Container Orchestration tools: (docker, kubernetes)

    • Our app needs to run on a container
        • if small apps (small containers) - docker / docker compose is used
        • if large apps (lot more containers; eg: microserives) - kubernetes is used. As we need powerful container orchestration tool.

Monitoring cluster of containers

we need to use monitoring tools to see if all containers are working and to know real time issues on individual containers.

Creating same infrastructure in dev, uat, prod manually 3 times is time consuming we can use tools terraform (provision infra )and ansible (config management) to do this automatically.

Learn one tool in each category: