Adapting DevOps Culture for Software Developement and Distribution
ShahidAslam30
19 views
13 slides
Jun 21, 2024
Slide 1 of 13
1
2
3
4
5
6
7
8
9
10
11
12
13
About This Presentation
Adapting DevOps Culture
Size: 1.16 MB
Language: en
Added: Jun 21, 2024
Slides: 13 pages
Slide Content
One of the effective A pproach of Developing & Distributing Software with my limited Knowledge ! Disclaimer : The current approach is highly effective and exemplary, drawing from my experience working with other teams at AKU and in comparison, to my interactions with various other IT companies.
Embracing DevOps Culture Something very hard to do for an organization but Not for HIS Team.
Lets Break Few Miths About DevOps - DevOps is not Developers and Operations working together. - DevOps is not a sep a rate team. - DevOps is not just a tool. - DevOps is not just about automation. - DevOps is not Azure DevOps, google Cloud tools or Azure DevOps Microsoft certification. - Operations (Ops) is not just server teams work like in AKU its not just a Infrastructure team task.
What is DevOps Devops is set of philosophies and practices that allows the developers and managers of a team to communicate with each other efficiently and produce better quality software using set of rules and tools.
So What is the Advantage of DevOps - It allows to delivers software changes and customer feedback in rapid and continous manner i.e shorten the software development life cycle. - Lower failure rate of new release and shorten lead time to fixes. - It is Being Agile in Software Developement and Operations and stop working in silos. - In DevOps every one will be resopnisble for development, testing and deployment. - It will Increase the speed of your deployments and allows you to deploy automated tested product anytime on UAT or any time on Production if required. - Improve the stability of your software.
How it is done in DevOps
1. Agile Development - Requirement and solutions should be evolve through a collborative effort by all team members and customers. - Tasks should be divided into sprints each one plan for maximum 2 weeks then the feedback should be gathered and next sprint should be planned again for 2 weeks with feedback. - E mbracing code sharing and components based programming so you do not have to create a wheel every time you start a new project. - Use Pair Programming for effective development and learning of new resources.
2. Automated / Continuous Testing Follow Test Driven Development: which means you write test case first and then you write the code to make the test pass. Ex: Developer can say it will take time in development. Writing Test cases will always help in future that the existing code works, including new people joining the team. Writing Test case will cost time at start but saves hours later in debugging, testing and deployment. Writing Test case will eventually help in creating piplelines and automating the testing.
What is CI Server or CI Tool or CICD Pipeline - A CI (Continuous Integration) tool or CI server is a software application or platform that automates the process of integrating code changes from multiple contributors into a shared codebase and frequently testing those changes to identify issues early in the development cycle. - These tool s can work with almost any software development platform or language For Example both mobile apps and web apps can take advantage of it. - Examples of CI Server or Tools are Jenkins, GitLab, Azure DevOps Services (formerly Visual Studio Team Services) and Google Cloud Build.
3. Continuous Integration - For a new feature development developers Write and Commit Code Changes in new branch specially created for that feature in TFS or Git. - CI system detects a new commit, it initiates the CI process which automatically builds the application from the latest code changes. it also runs a suite of automated tests, which may include unit tests, integration tests, and other types of tests that validate the functionality. - After successful CI process, the code changes are usually made available for code review . - Code review performed and based on its feedback the original developer makes necessary changes and improvements to their code and committed back to the version control system, creating new commits. The CI process re-triggers to ensure that the latest changes still pass all automated tests. - Once code review feedback has been tested. Depending on the branching strategy the changes can be merged into the main branch and deployed to a staging environment for further testing.
4. Continuous Delivery - Continuous Deployment (CD) systems are tools and practices that automate the process of deploying code changes to production or staging environments after they have passed automated tests. - You can also configure whether you want to deploy to production or not. - You can also configure to deploy them to production but hide them behind feature flags or toggles. - Furthermore, it can also Help in doing AB Test of the feature if needed.