DevOps, the combination of Development and Operations, is a new way of thinking in the software engineering domain that is recently receiving much attention. Recent works has shown how DevOps can help improve software quality and the software development design cycle. This session will explore DevOps's practices and its key elements and go more into depth about the effects of DevOps and how it actually works to enhance better results.
We will then look at the different main phases of DevOps and how we should choose specific tools to incorporate them in our cycle. The different phases and the functionalities we will be looking at are the following: Collaboration – deciding which tools everyone can agree on and share across multiple platforms for complete integration, Planning – being able to share ideas, brainstorm, comment, and work towards a common goal, Build -includes the development of software along with coding against any virtual or disposable duplicates to speed up production and get more accomplished, Continuous integration – obtaining constant and immediate feedback through the process of merging code, Deploy– deploying predictable, reliable, and frequent applications to keep production running smoothly and risks low through automation, Operate – application and server performance monitoring that records and watches data around the clock to ensure it’s working correctly,Continuous feedback – user comments, support tickets, Tweets, NPS data, churn surveys, bug reports, and other feedback collected to determine if what’s being built is working.
As there is no secret method for choosing the proper DevOps tools, we are going to try to address about how one may want to be implementing them across a variety of operational and development teams to find the right one for their needs. Some example tools we will take a deep dive about how they might effectively address DevOps functionalities would be: Docker, Dependabot, GitHub, Gradle, CodeScene for Development; Heroku, AWS CodePipeline for Continuous Integration; Jenkins for Deployment; Selenium for Testing; MetaBase, Google Analytics, New Relic for Continuous Feedback and Asana, Pivotal Tracker for Issues Tracking.
In a non-DevOps environment, there is often tension between releasing new features and stability. The development team is measured on the updates they deliver to users while the operations team is measured on the health of the system. This session will address how by using DevOps methodologies and proposed tools we can fill in that gap to achieve better streamlined and desired results.
Ahnaf is originally from Dhaka Bangladesh and is finishing up his Bachelors in Computer Science from UMN: Morris.
This will add your name to the list of interested participants. It will help us gauge interest for scheduling purposes.