DevOps best practices
https://techbeacon.com/7-steps-choosing-right-devops-tools
If you’re considering DevOps, you have many moving parts to consider. Core to this structure are automated provisioning, automated testing, and automated build and deployment. At the same time, you need to maintain continuous feedback, with information continuously moving back and forth, as well as making sure that you log pretty much everything.
Figure 1: DevOps has many moving parts, and you need to have best practices and technology in place for each step.
As to the best practices for choosing DevOps tools you can use to approach your DevOps implementation, these can be boiled down to seven steps.
Step 1: Understand the collaboration and shared tools strategy for the Dev, QA, and infrastructure automation teams
DevOps teams need to come up with a common tools strategy that lets them collaborate across development, testing, and deployment (see Figure 1). This does not mean that you should spend days arguing about tooling; it means you work on a common strategy that includes DevOps...
- Processes
- Communications and collaboration planning
- Continuous development tools
- Continuous integration tools
- Continuous testing tools
- Continuous deployment tools
- Continuous operations and CloudOps tools
Coming up with a common tools strategy does not drive tool selection — at least not at this point. It means picking a common share strategy that all can agree upon and that is reflective of your business objectives for DevOps.
The tool selection process often drives miscommunication within teams. A common DevOps tools strategy must adhere to a common set of objectives while providing seamless collaboration and integration between tools. The objective is to automate everything: Developers should be able to send new and changed software to deployment and operations without humans getting in the way of the processes.
Step 2: Use tools to capture every request
No ad hoc work or changes should occur outside of the DevOps process, and DevOps tooling should capture every request for new or changed software. This is different from logging the progress of software as it moves through the processes. DevOps provides the ability to automate the acceptance of change requests that come in either from the business or from other parts of the DevOps teams.
Examples include changing software to accommodate a new tax model for the business, or changing the software to accommodate a request to improve performance of the database access module.
Step 3: Use agile Kanban project management for automation and DevOps requests that can be dealt with in the tooling
Kanban is a framework used to implement agile development that matches the amount of work in progress to the team's capacity. It gives teams more flexible planning options, faster output, clear focus, and transparency throughout the development cycle.
Kanban tools provide the ability to see what you do today, or all the items in context with each other. Also, it limits the amount of work in progress, which helps balance flow-based approaches so that you don’t attempt to do too much at once. Finally, Kanban tools can enhance flow. In Kanban, when one work item is complete, the next highest item from the backlog gets pushed to development.
Step 4: Use tools to log metrics on both manual and automated processes
Select tools that can help you understand the productivity of your DevOps processes, both automated and manual, and to determine if they are working in your favor. You need to do two things with these tools. First, define which metrics are relevant to the DevOps processes, such as speed to deployment versus testing errors found. Second, define automated processes to correct issues without human involvement. An example would be dealing with software scaling problems automatically on cloud-based platforms.
Step 5: Implement test automation and test data provisioning tooling
Test automation is more than just automated testing; it’s the ability to take code and data and run standard testing routines to ensure the quality of the code, the data, and the overall solution. With DevOps, testing must be continuous. The ability to toss code and data into the process means you need to place the code into a sandbox, assign test data to the application, and run hundreds — or thousands — of tests that, when completed, will automatically promote the code down the DevOps process, or return it back to the developers for rework.
Step 6: Perform acceptance tests for each deployment tooling
Part of the testing process should define the acceptance tests that will be a part of each deployment, including levels of acceptance for the infrastructure, applications, data, and even the test suite that you’ll use. For the tool set selected, those charged with DevOps testing processes should to spend time defining the acceptance tests, and ensuring that the tests meet with the acceptance criteria selected.
These tests may be changed at any time by development or operations. And as applications evolve over time, you'll need to bake new requirements into the software, which in turn should be tested against these new requirements. For example, you might need to test changes to compliance issues associated with protecting certain types of data, or performance issues to ensure that the enterprise meets service-level agreements.
Step 7: Ensure continuous feedback between the teams to spot gaps, issues, and inefficiencies
Finally, you'll need feedback loops to automate communication between tests that spot issues, and tests that process needs to be supported by your chosen tool. The right tool must identify the issue using either manual or automated mechanisms, and tag the issue with the artifact so the developers or operators understand what occurred, why it occurred, and where it occurred.
The tool should also help to define a chain of communications with all automated and human players in the loop. This includes an approach to correct the problem in collaboration with everyone on the team, a consensus as to what type of resolution you should apply, and a list of any additional code or technology required. Then comes the push to production, where the tool should help you define tracking to report whether the resolution made it through automated testing, automated deployment, and automated operations.
Picking the tools
Here are the tools that are part of the DevOps mix and that relate to the best practices/steps listed above:
Figure 2: Tools for DevOps, by category
The number of tools from which you can choose for DevOps is both large and confusing, so break it down by focusing on categories and the functions you need.
Major DevOps tool categories
The major tool categories include:
- Version control: Tools that track software versions as they are released, whether manually or automatically. This means numbering versions, as well as tracking the configuration and any environmental dependencies that are present, such as the type, brand, and version of the database; the operating system details; and even the type of physical or virtual server that’s needed. This category is related to change management tools.
- Build and deploy: Tools that automate the building and deployment of software throughout the DevOps process, including continuous development and continuous integration.
- Functional and non-functional testing: Tools that provide automated testing, including best practices listed above. Testing tools should provide integrated unit, performance, and security testing services. The objective should be end-to-end automation.
- Provisioning and change management: Tools to provision the platforms needed for deployment of the software, as well as monitor and log any changes occurring to the configuration, the data, or the software. These tools ensure that you can get the system back to a stable state, no matter what occurs.
Interesting blog which attracted me more.Spend a worthful time.keep updating more. devops Online Training Hyderabad
ReplyDeleteone of the greatest advantages of distributed computing is the capacity to run their own particular code. devops tutorial for beginners pdf
ReplyDeleteI simply wanted to write down a quick word to say thanks to you for those wonderful tips and hints you are showing on this site.
ReplyDeleteDevops Training in Bangalore
best practical article with lot of information for Devops Training in Bangalore
ReplyDeleteGreat post! I am actually getting ready to across this information, It's very helpful for this blog.Also great with all of the valuable information you have Keep up the good work you are doing well.
ReplyDeletesap training in chennai
sap training in tambaram
azure training in chennai
azure training in tambaram
cyber security course in chennai
cyber security course in tambaram
ethical hacking course in chennai
ethical hacking course in tambaram
thank you for your work. all your information are quite useful and understandable. keep doing it.
ReplyDeleteangular js training in chennai
angular js training in annanagar
full stack training in chennai
full stack training in annanagar
php training in chennai
php training in annanagar
photoshop training in chennai
photoshop training in annanagar
Interesting blog which attracted me more.Spend a worthful time.keep updating more.
ReplyDeletehardware and networking training in chennai
hardware and networking training in omr
xamarin training in chennai
xamarin training in omr
ios training in chennai
ios training in omr
iot training in chennai
iot training in omr
Wonderful blog with great piece of information. Regards to your effort. Keep sharing more such blogs. Looking forward to learn more from you.
ReplyDeleteweb designing training in chennai
web designing training in porur
digital marketing training in chennai
digital marketing training in porur
rpa training in chennai
rpa training in porur
tally training in chennai
tally training in porur
Thank you for your articles that you have shared with us. Hopefully you can give the article a good benefit to us. DevOps Security Training
ReplyDeleteDevOps services are getting popular among various enterprises. You can trust our DevOps services without any doubt as we are known for the best web development services also along with DevOps.
ReplyDeleteThank You for this wonderful and much required information in this post.
ReplyDeleteDevOps services in USA
sql server dba training
ReplyDeleteangular js training
python training
data science training
teradata training
selenium trainings
nice informative post. Thanks you for sharing.
ReplyDeleteDevOps can change the software delivery chain, services, job roles, IT tools, best practices. Contact Sovereign Software for DevOps Development services.
DevOps Development
Wao! Nice. You sharing such a great information. This article is very useful for us. Keep it up. Also visit my website for collecting more information. We are the top Devops services company in the USA.
ReplyDeleteNice and good article. It is very useful for me to learn and understand easily. Thanks for sharing
ReplyDeleteDevops Training Online
Devops Online Course
There are many blogs I have read But when I read Your Blogs I found such useful information, and fresh content with such amazing editing everything is superb in your blog, Thank you so much for sharing this useful and informative information with us. For more details visit us- https://www.sterlingtechnolabs.com/
ReplyDeleteNice Information
ReplyDeleteServices for Business DevOps in the USA | FYI Solutions
Nice info
ReplyDeleteGet Devops Services for your company In USA | TechTriad
Nice Blog very Informative. Leading Azure Consulting For Cloud Excellence | FYI Solutions
ReplyDelete