Join David Linthicum for an in-depth discussion in this video The tools, part of Cloud Architecture: Advanced Concepts.
- So now let's talk about picking the DevOps tools, First this is just a general example, so your DevOps processes may vary a great deal, your tool sets may vary a great deal when how you go about doing DevOps may vary a great deal, and I think that's okay. You have to really kind of adjust the tool sets, the automation sets, things like that. The processes that you're going to leverage to adjust to the needs of the business, to adjust to the needs of the development environment, the operations environment, things like that. That's very important.
So within DevOps, we have automation tools. In other words, things that allow us to move code, and to move binaries from one point to another. So, continuous development. We have the ability to basically build a set of development tools, or have a set of tools that allow us to hit a button, and once we hit that button, then that code is continuously integrated, its brought together and configured using the platforms, the databases that we need to support that particular application. And from there we go into continuous testing, where we actually test the system. We can put in different testing scripts such as testing for performance, testing for security, other business functionality all sorts of things can go into continuous testing.
Then we go into continuous deployment where actually once it basically reaches the testing part, it's tested, it's staged, and it's deployed. It's deployed in a particular live platform that we're ready to run the application, the application should go into production. And then continuous operations, the ability to operate the system, constantly monitoring how it's going, is the code living to performance expectations?, do we need to change anything in the testing process?. All these sorts of questions are asked continuously in continuous operations.
And then there's a notion of continuous improvement, which is there on the right there, and the cool thing about that is we're always thinking about how we're going to improve the software, and as we think about things, we don't have to wait for the next release, we don't have to put this into a marketing document and send it to the product manager, we can go ahead and get it improved as a team, and basically as a team, make the changes in continuously improve the software. You have to go through a continuous testing, continuous deployment, continuous operations, but the idea is that as we find bugs, and as we find better ways of doing things, we can continuously deploy that software out onto the cloud base system, and it automatically is realized down to the end user, because it's a centralized cloud base system.
And that's very powerful, so we don't have to wait to make changes, we don't have to wait to make fixes, we don't have to wait to improve the software, we're enabled as developers, as designers, as operators of the systems, to make any changes we need as we need to make them. And that adds value to the business, that adds value to the user, and allows for agility, time the market. Huge number of advantages over the traditional ways of doing software development.
- Microservices and containers
- Complex, disturbed, serverless, and composite architectures
- DevOps integration
- High-performance solutions