DevOps Lifecycle

Jun 4, 2024

DevOps Lifecycle

Introduction

  • Presenter: Arvin from edureka
  • Agenda:
    1. Why DevOps?
    2. What is DevOps?
    3. DevOps Lifecycle

Why DevOps?

Pre-DevOps Development Models

  • Waterfall Model:

    • Linear, top-down approach
    • Phases: Requirement Gathering, Design, Implementation, Verification, Deployment, Maintenance
    • Drawbacks:
      • Time-consuming, cannot proceed to next stage without completing previous
      • Not suitable for changing requirements
      • No working software until late stages
      • Not fit for large/object-oriented projects
  • Agile Model:

    • Iterative, broken into iterations (2-8 weeks)
    • Phases within each iteration: Planning, Design, Development, etc.
    • Continuous release and feedback incorporation
    • Drawbacks:
      • Development team sped up but operations team lagged
      • Conflicts between Development & Operations teams

What is DevOps?

  • Definition: Combines Development and Operations
  • Goals: Manage entire application lifecycle: development, testing, deployment, operations
  • Benefits:
    • Develop high-quality software quickly and reliably
    • Shorten system development lifecycle
    • Close alignment with business objectives

DevOps Lifecycle

  1. Continuous Development

    • Activities: Planning & Coding
    • Tools: git, SVN, Mercurial, CVS, JIRA
    • Build Tools: Ant, Maven, Gradle
    • Main Points: Vision decided in planning, code maintained using version control tools
  2. Continuous Integration

    • Activities: Integrate new code with existing code
    • Tools: Jenkins
    • Main Points: Fetch latest code from repository, produce build, deploy to test/production servers
  3. Continuous Testing

    • Activities: Test software for bugs
    • Tools: Selenium, TestNG, JUnit, Docker (for test environment simulation)
    • Main Points: Automated testing saves time; Jenkins triggers testing
  4. Continuous Deployment

    • Activities: Deploy code to production
    • Tools: Puppet, Chef, SaltStack, Ansible, Docker, Vagrant
    • Main Points: Maintain consistency, scale instances, avoid errors/failures
  5. Continuous Monitoring

    • Activities: Monitor application performance and user activity
    • Tools: Splunk, ELK Stack, Nagios, New Relic
    • Main Points: Monitor health of system, improve productivity/reliability, report issues to dev team

Summary

  • DevOps stages are continuous and iteratively improve product quality.
  • Importance of continuous loop until desired quality is achieved.
  • Q&A: Submit queries in comment box.

Closing

  • Reminder: Subscribe to edureka YouTube channel and hit the bell icon for updates.
  • Thank You & Happy Learning!