Document Details

DeadCheapJasper8678

Uploaded by DeadCheapJasper8678

Nanyang Polytechnic

Tags

DevOps software development IT operations technology

Summary

This document is a presentation about DevOps Fundamentals, outlining its values, principles, and practices, as well as discussing agile and DevOps, their key differences, and the DevOps life cycle.

Full Transcript

Official (Closed) and Non-Sensitive DevOps Fundamentals 24S2 Official (Closed) and Non-Sensitive Learning Outcomes Define DevOps Values, Principles and its Business Benefits Distinguish key differences between Agile and DevOps List the Principles, B...

Official (Closed) and Non-Sensitive DevOps Fundamentals 24S2 Official (Closed) and Non-Sensitive Learning Outcomes Define DevOps Values, Principles and its Business Benefits Distinguish key differences between Agile and DevOps List the Principles, Business Benefits and Values of DevOps List practices and important tools in DevOps Life Cycle Describe Key Concepts of Continuous Integration and Continuous Delivery Official (Closed) and Non-Sensitive What is DevOps? Official (Closed) and Non-Sensitive Introduction What is DevOps - Definition DevOps is a methodology in the software development and IT industry. Used as a set of practices and tools, DevOps integrates and automates the work of software development (Dev) and IT operations (Ops) as a means for improving and shortening the systems development life cycle. Most often, DevOps is characterized by key principles: shared ownership, workflow automation, and rapid feedback. At its most successful, DevOps is a combination of specific practices, culture change, and tools. Official (Closed) and Non-Sensitive Introduction How others define DevOps? DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. --Wikipedia’s definition A compound of development (Dev) and operations (Ops), DevOps is the union of people, process, and technology to continually provide value to customers. --https://azure.microsoft.com/en-us/overview/what-is-devops DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support. --https://theagileadmin.com/what-is-devops/ Official (Closed) and Non-Sensitive Why DevOps? How big is the DevOps market and what is it How popular is DevOps as a software worth? development methodology? The global DevOps market size was over $7 billion DevOps/DevSecOps is the most common software in 2021 and is expected to grow at a CAGR development methodology globally, used by 47% of (compound annual growth rate) of over 20% from software development team in 2022 (compared to 2023 to 2032 to reach a value of over $70 billion. 35.9 in 2021). Official (Closed) and Non-Sensitive Principles of DevOps Official (Closed) and Non-Sensitive DevOps Business Benefits Time taken to create and deliver software is reduced Complexity of maintaining an application is reduced Improved collaboration between developers and operations team Continuous integration and delivery ensuring faster time to market Official (Closed) and Non-Sensitive Agile and DevOps Agile DevOps It is a business methodology that stresses The main objective is to better the collaboration, short, iterative planning and development communication, and processes between the cycles, to offer greater control, predictability, different roles in the software development and assistance to changing requirements period, to enhance and speed up software as projects develop. delivery. The Development teams achieve working An extension of Agile that includes systems functionality at the end of every sprint. and operations. Development Teams have to wait until a Helps to move the functionality into product release date by the Operations production without delays. Teams. Shorter time to market is not realised. Official (Closed) and Non-Sensitive Key Differences of DevOps and Agile Official (Closed) and Non-Sensitive Key Differences of DevOps and Agile The Agile Manifesto four core values Official (Closed) and Non-Sensitive Key Differences of DevOps and Agile The DevOps Three Ways Official (Closed) and Non-Sensitive DevOps Phases & Tools Official (Closed) and Non-Sensitive DevOps Phases According to DevOps practices, the workflow in software development and delivery is divided into 8 phases Official (Closed) and Non-Sensitive Official (Closed) and Non-Sensitive Official (Closed) and Non-Sensitive Official (Closed) and Non-Sensitive Official (Closed) and Non-Sensitive Official (Closed) and Non-Sensitive Official (Closed) and Non-Sensitive Official (Closed) and Non-Sensitive Official (Closed) and Non-Sensitive Summary of DevOps Automation Tools Official (Closed) and Non-Sensitive DevOps Tool Chain Code — Code development and review, source code management tools, code merging Build — Continuous integration tools, build status Test — Continuous testing tools that provide feedback on business risks Package — Artefact repository, application pre-deployment staging Release — Change management, release approvals, release automation Deploy — Infrastructure configuration and management, Infrastructure as Code tools Monitor — Applications performance monitoring, end–user experience Official (Closed) and Non-Sensitive DevOps Process Official (Closed) and Non-Sensitive How to Do DevOps (Practices) – 8 Steps Use Git- Integrate Build out a Consider Add Pick a based with work CI/CD Use feature adopting Write tests monitoring component Version tracking process to flags Scrum mechanism control tool deploy Official (Closed) and Non-Sensitive DevOps Framework: CALMS Official (Closed) and Non-Sensitive DevOps Pipeline What is DevOps pipeline? Components of DevOps pipeline Is a set of automated processes and tools that Continuous integration/ continuous delivery/ allows dev and ops professionals to work deployment (CI/CD) cohesively to build and deploy code to a Continuous feedback production environment. It includes build automation/continuous Continuous operations integration, automation testing, validation, and reporting. Continuous is a differentiated characteristic of a DevOps pipeline. This includes continuous integration, continuous delivery/deployment (CI/CD), continuous feedback, and continuous operations. Official (Closed) and Non-Sensitive Continuous Integration/ Continuous Delivery/ Continuous Deployment Continuous Continuous Continuous Delivery Integration Deployment Practice of Additional practice Extended to where automatically of deploying every every change goes building and unit change to a through full enough testing the entire production like automated testing application environment and that is deployed frequently, ideally performing automatically to on every source automated production. code check-in integration and acceptance testing. Official (Closed) and Non-Sensitive Continuous Integration/ Continuous Delivery/ Continuous Deployment Official (Closed) and Non-Sensitive Continuous Integration/ Continuous Delivery/ Continuous Deployment Official (Closed) and Non-Sensitive How to Make Continuous Integration Possible Developers integrate all their work into trunk (also known as mainline or master) on a regular basis (at least daily). A set of automated tests is run both before and after the merge to validate that no regressions are introduced. If these automated tests fail, the team stops what they are doing and someone fixes the problem immediately. Two main difficulties: a) It requires developers to break up large features and other changes into smaller, more incremental steps that can be integrated into trunk / master. b) Creating maintainable suites of automated unit tests is complex. Official (Closed) and Non-Sensitive Continuous Delivery Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way. Our goal is to make deployments—whether of a large-scale distributed system, a complex production environment, an embedded system, or an app—predictable, routine affairs that can be performed on demand. https://continuousdelivery.com/ Official (Closed) and Non-Sensitive Continuous Delivery Principles Continuous Delivery Foundations Build quality in Work in small batches Continuous Computers perform repetitive tasks, Delivery people solve problems Relentlessly pursue continuous improvement Version Continuous Continuous Control Integration Testing Everyone is responsible Official (Closed) and Non-Sensitive Continuous Testing 1. Unit Testing 2. Code hygiene 3. Integration testing 4. TDD, Behaviour Driven Development (BDD), Acceptance Test Driven Development (ATDD) 5. Infrastructure Testing 6. Performance Testing 7. Security Testing Official (Closed) and Non-Sensitive Summary DevOps Principles, Culture, Values and Business Benefits Agile Software Development and DevOps Practices of DevOps Continuous Integration/ Continuous Delivery DevOps Life Cycle and popular tools Official (Closed) and Non-Sensitive References DevOps Tutorial For Beginners: A Comprehensive Guide [Updated] (simplilearn.com) CALMS Framework | Atlassian Continuous Integration/ Continuous Delivery DevOps Life Cycle and popular tools

Use Quizgecko on...
Browser
Browser