The Beginner’s Guide to Microsoft’s Cloud Adoption Framework
The Microsoft Cloud Adoption Framework (CAF) is essentially an all-encompassing guide which should primarily be used by Cloud Architects to help advise business stakeholders and other technical authorities within a business.
This guide will break down why you should use it, how you should use it and provide some extra tips on cloud adoption (based on my experience of public cloud adoption within the enterprise environment).
Why use the Cloud Adoption Framework?
It has been designed by Microsoft to help a business that is at any stage of their cloud adoption to accelerate the path to the cloud, whilst using governance and best practice to keep everything heading the right way. The framework is also not specific to Azure, which means it’s useful to any organisation adopting the cloud, whatever platform they have chosen!
How do you use the Cloud Adoption Framework?
It’s worth mentioning first off that the idea behind using the Cloud Adoption Framework (CAF) to adopt the cloud brings many benefits to the table when followed as guidance rather than an instruction manual. It’s designed to ask you all of the right questions, rather than give you the answers.
The CAF becomes actionable when combining it with the tools that Microsoft provide for planning, tracking, and making the transition happen.
There are four main steps that should be looked at before adoption and they are:
And once you’re on a public cloud platform, it’s important to use the following steps to keep costs down, security up and resources managed:
Extra tips on cloud adoption
Explaining each of the above steps individually would be a bit silly actually, considering Microsoft have done a great job of doing that in their 1,300 page guide. So instead I’m going to add in three of my lessons learned, from living and breathing the CAF since it launched.
1. Educate your staff
A very interesting part of the CAF talks heavily about people and how you get people excited about using the cloud, how you bring along your techies and remove your blockers. The reason this interests me to this level is that it seems that people tend to want to avoid cloud for at least one of these reasons:
- They don’t want to embrace the change.
- They have not been educated on the new platforms and fear it.
- They think it doesn’t fit the business.
I really think Microsoft have hit the nail on the head with their interest in people, because resistance and blockers from other technical staff or even from within the business can stop a cloud journey in its tracks and it’s very difficult to start it moving again.
What’s the solution? Education. Make sure that your techies are educated on these new technologies, show them the “art of the possible”, help them to get excited and give them the opportunity to contribute.
This doesn’t necessarily have to be classroom-based training and it can involve things like videos, podcasts and sandbox environments for testing. Make sure that people are allowed to dedicate some of their time each week to learning where they will not be disturbed. This will pay off in the long run by increasing productivity and reducing blockers.
2. Prioritise governance
The first point actually leads really nicely onto this. Governance is one of the most important things when adopting a cloud platform and involves:
- Defining a great governance and management strategy.
- Using budgets on subscriptions or sandbox resource groups.
- Using policies to define which VM series can be deployed.
- Working with your developers to define an application and environment strategy.
- Using a tagging policy so you get a clear view of your environments.
All of these things and many more are critical to continued cloud success.
I’d suggest that you review each of these policies every 3-6 months with a partner, but a quick review happens internally every 1-2 months. The cloud environment changes so quickly as do business requirements that policies will need to change, adapt and be suitable for everyone.
3. Automate everything!
You’d think that the best way to deploy an Azure environment would be to simply deploy the pieces, hook them together manually and write some top-notch documentation.
Although this is probably the quickest way to learn and is great for a sandbox environment being used to deploy new products; anything from a development or CI environment upwards should be automated and deployed with infrastructure automation tools and pipelines.
Why you ask? It’s mainly because of the development lifecycle of applications. We want the environments to be the same throughout so that when the deployments work their way through the environments, we see the same output and behaviours. It simply eliminates room for human error when you’re trying to run through a deployment wizard five times.
The other reason behind using automation is the sheer amount of time that it saves. Once you’ve got that code written out, tested and into a pipeline you’re able to deploy that same environment as many times as you need to by simply changing variables.
One final thought for you…
Cloud is great, the possibilities really are endless. Some of the solutions I have seen being designed and put together are incredible. Don’t let things go downhill by overspending or losing control of your environment. Keep it clean, keep it tidy, keep it useful – and you can do this by taking a structured approach to adoption using the Cloud Adoption Framework.
Looking for expert assistance with public cloud adoption? Whatever stage of the journey you’re at we’re here to help.
Lead Azure Architect
Ellis has worked in the IT industry for over nine years and has tried his hand at a bit of everything over that time, before settling on his specialism of public cloud and adoption within the enterprise environment.
Find out more about Ellis here.