This is part 1 of a series of blogs on DevOps/DevTest with Microsoft's cloud solution called Azure. This first blog outlines why you should think about trying to adopt a DevOps approach along with a Cloud computing strategy in order to help you achieve more IT agility.
You need to rethink the way you address your IT challenges you are facing today. Typical improvement strategies, such as "more control" and "more standardization", are not sufficients anymore. A new model is required. If you are a member of IT looking to make a difference or just somebody who is interested about increasing IT agility within your organization then keep on reading.
IT agility with DevOps
As a founder of InCycle and leader of our Canadian Application Lifecycle Management (ALM) practice, I have a pretty busy schedule. Yet, fortunately for me, I'm lucky enough to spent a good portion of my time coaching organizations around agility and ALM good practices. Many of the customers, prospects, even other coaches, I have interacted with lately still think about "agile" as being a "Development" thing only. In reality, the philosophie behind "agile" is really applicable, and you should apply it, to the entire organization. If you want to bring more value to your customers, you need to optimize the entire value chain. In fact, if you optimize only development, you'll bring issues and add pressure to the other parties of that chain, one being your Operations team. You need to think IT as a whole, which includes both your Developments and Operations teams. To succeed, you need to rethink the way you collaborate, communicate and work together. This principle is what we call "DevOps".
Figure 1 - DevOps - Development and Operation working together
Think about it. If you just improve the Development but the Operations team is not aligned then the "new" value created will not make it to your users. This is value that will not be consumable thus deferred or even lost. For example, let's say a Development team now delivers new releases of theirs application every two weeks or even as soon as one feature is ready, as compared with once every quarter. There is a good change the Operations team will struggle to keep pace without some adjustment to their own process and not all releases will make it up to production. This why DevOps is so important for your organization.
IT agility with Cloud computing
I've been involved within the technology industry for the last two decades. I've seen many trends, some fading but some resulting in drastic changes in the way we develop, operate, and benefits from software applications. Think for a minute about the important changes some of them, such as the web, the virtualization of servers, and the always connected and powerfull mobile devices, had on our daily life. I personally think such a disrupting trend is there and it's called Cloud computing. Cloud computing brings us stuff most teams only dream about. This includes things such as, quick and easy provisioning and management of: development, test, and even production environments. All of this with a level of scalability, availability, fault tolerance and cost not possible with today's most advanced data centers.
You think, your organization is not ready for such a drastic change? Well, depending on your context, you might be right. But, keep in mind that you do not have to go all in. You can choose the right level of components that what you want to control/manage and the one you want to delegate to the cloud platform/services such as what is offered by Microsoft Azure and you can do this on an app by app basis.
Figure 2 - Different degrees of transfers of the management of application infrastructure with cloud computing on Azure
Excited about the possibilities above? I am. But, it's not all, Cloud computing also brings you more than just outsourcing of the management of components of your applications. It also bring the possibility of new scenarios, that without it, were not possibles or just simply cost-prohibitives. Here are some exemples:
All of this with a more cost effective "pay as you use" model. In other words, Cloud computing enable your IT teams to refocus their efforts on the right place, on the value-added activities, with more flexibility and at a reduced cost.
When you think about it, you have the choice. Do you prefer spending time of your valuable IT ressources on:
I choose and recommend the latter :).
IT agility with DevOps and Cloud computing – Better together!
Both DevOps and Cloud computing are interconnected, to follow one principle is easier with the other and vice versa. It is also easier with the right toolset. Cloud computing with Microsoft Azure and the development and test activities with Visual Studio 2013 can be all powerfull. However, if you can't take advantage of them because of an inflexible internal approval process, or because you don't understand how, then you won't use it or won't be as effective doing it. This is why both principles go better together. It's like the nice Porsche 911, all this power and handling capabilities, won't bring you much benefits, if the nice twisty road track has a stop sign every 500 meters or if you don't have the necessary skills to drive it. You want both Dev and Ops teams to work well together, collaborating with each others in order to enable IT agility.
Figure 3 - Both principles together bring IT agility
I see the value behind DevOps and Cloud computing, but why now?
If you are experiencing some of the typical pressures in IT such as:
Just don't try your best with the current model, change something because it won't be enough… Do want to deliver more quality applications and services in shorter amount of time? Do you want to do it with less stress? Start implementing some of the DevOps related practices and start taking advantage of Azure today. By the way, in case you didn't know, if you have a Visual Studio MSDN licence you get from 50-150$ free of charge of monthly usage on Azure.
Ok, I'm interested in learning more about DevOps and Azure… Where do I go next?
If you are interested to learn more or want to start now, here are some next steps:
I hope this was helpful to you. I'm guessing by now you've realized I'm excited about the possibilities around DevOps and Azure. I really think these principle will make your IT lives better in the near future (they already are for me!). I welcome your questions and feedback and if you want to share your own experience feel free to do so.
This blog was the first part of a series of blogs on DevOps with Microsoft Azure. If you want to learn more on how to get started on the principle discussed in this blog, look out for part 2 – More IT agility with DevOps and Cloud computing practices.