B.Tech. III Year I Sem. L T P C 3 0 0 3 Pre-Requisites: 1. Software Engineering 2. Software Project Management Course Objectives:  Understand the skill sets and high-functioning teams involved in Agile, DevOps and related methods to reach a continuous delivery capability.  Implement automated system update and DevOps lifecycle. Course Outcomes:  Understand the various components of DevOps environment.  Identify Software development models and architectures of DevOps  Use different project management and integration tools.  Select an appropriate testing tool and deployment model for project.  Build integrated systems for pipelines, slaves, servers.  Design and Apply various testing tools. UNIT-I Introduction to DevOps: Introduction, Agile development model, DevOps and ITIL. DevOps process and Continuous Delivery, Release management, Scrum, Kanban, delivery pipeline, identifying bottlenecks. UNIT-II Software development models and DevOps: DevOps Lifecycle for Business Agility, DevOps, and Continuous Testing. DevOps influence on Architecture: Introducing software architecture, The monolithic scenario, Architecture rules of thumb, The separation of concerns, Handling database migrations, Micro services and the data tier, DevOps,architecture, and resilience. UNIT-III Introduction to project management: The need for source code control, the history of source code management, Roles and code, source code management system and migrations, shared authentication, Hosted Git servers, Different Git server implementations, Docker intermission, Gerrit, The pull request model, GitLab. UNIT-IV Integrating the system: Build systems, Jenkins build server, Managing build dependencies, Jenkins plugins, and file system layout, The host server, Build slaves, Software on the host, Triggers, Job chaining and build pipelines, Build servers and infrastructure as code, Building by dependency order, Build phases, Alternative build servers