The COVID-19 pandemic and resulting economic downturn have most likely accelerated a shift to cloud for some companies because cloud provides the agility and scalability that can help companies weather this and bounce back from this situation.
It is an evidence that Azure continue to grow in response to the current pandemics situation where enterprises require to transform their services and move to the cloud.
In this sense, Microsoft said revenue in its “Intelligent Cloud” segment rose 23% to $14.6 billion, with 50% growth in Azure. Analysts had expected a 41.4% growth in Azure, according to consensus data from Visible Alpha.
However some companies might hesitate, due to the “perceived” complexity of moving to the cloud, because moving from traditional operations to cloud based require not only digital transformation, but most of all to take into account the human and organizational aspects.
So if you are a company planning to move into the cloud, I would like to share some information for you to take a more informed approach and understand better the Microsoft Ecosystem
Overview of Azure Ecosystem
For beginners Azure might be a bit daunting to tackle head on. However, services are named in a simple way related to how they are used.
I’ve created the above graph with examples of services and their respective function in the Azure Platform to help you have a global architecture oriented view of Azure Cloud Services (it is not exhaustive, you can visit the excellent site https://azurecharts.com/ to get a view that includes more services)
- Take for example, you want to make a lift and shift migration of your infrastructure? You can use either Virtual Machines or Virtual Machines Scale sets + Azure Migrate.
- You want to integrate your cloud instance to on premise? Use VPN/Gateway or ExpressRoute.
- You want to take advantage of PaaS and avoid the headaches of having to manage virtual machines? Use App Service.
- You want to manage a managed kubernetes cluster and deploy microservices in an agile manner? Azure Kubernetes Services+ Azure DevOps + ACR
- What about hosting Azure Services in your DataCenter? Use Azure Stack
As you might have noticed, it is quite simple to understand what’s the purpose of each service.
However you should take into account, that Microsoft offers you more than just Azure, you have a whole Microsoft that is well integrated that you can take advantage of.
- You want to build software in an agile manner? Visual Studio Code + Azure DevOps
- You want to build applications using low code without the need to hire an army of developers and integrate it with existing on premise or cloud services? PowerApps + Azure + Power Automate
- You want to help your DevOps teams to collaborate better and go above and beyond? Azure Pipelines + Teams + Sharepoint.
- How about create a Virtual Agent (Chatbot) that will help you manage your infrastructure? Graph Api + Teams + Power Virtual Agents.
What you can achieve using this ecosystem is up to your imagination (and budget of course!)
Move to the cloud
So you might say, “You got me convinced, but where do I begin?” In order to begin your “Cloud Journey” you can use the Cloud Adoption Framework (https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/).
The Cloud Adoption Framework is a collection of documentation, implementation guidance, best practices, and tools that are proven guidance from Microsoft designed to accelerate your cloud adoption journey.
In the cloud adoption framework you have 4 main phases that I’m going to briefly explain.
In this phase you should understand your motivations, it is not enough to decide to go the cloud because if is cool or the board of directors have decided to do so.
Instead, you need to clearly understand why you want to move, for example you have business critical reasons to do, you might want to pursue innovation. With that motivation in mind you can then define your business outcomes, or what you expect from your move to the cloud, you want to become more agile? optimize costs? what about improving reach or availability of your services?
With the right motivation and business outcomes you can build your business case, in order to help you align all the stakeholders, because when you are moving to the cloud you should not only involve technology actors but others such as security, finance, operations, etc.
In the plan stage you have stakeholders aligned and then you require to plan How and Who is going to do it.
You can start by using a tool such as Azure Migrate to make an inventory of your digital state.
Once you got the inventory of your digital state, you can priorise them according to the business value and decide how to migrate them, using the Five R’s of cloud rationalization.
In 2011 Gartner outlined the 5 different strategic R’s for application migration to the cloud: Rehost, Refactor, Revise, Rebuild and Replace. As time has passed, IT professionals seem to stick to slightly different R’s, for instance Retire, Replace, Retain/wrap/expand, Rehost and Re-envision.
We will stick with Rehost, Refactor, Rearchitect, Rebuild and Replace.
Once you have defined how to move your application to the cloud you need to map skills and responsibilities. In this sense, accountability is very important in this transformation, if there is no people responsible and accountable of your cloud transformation then it is not going to be done.
In this step is important to understand that there might be some organizational changes to be done, because going to the cloud require different skillsets so you might have to make changes in order to make your teams better collaborate, so for example you can start by creating a Team using any flavor of agile you want, that is cross-functional and has all the required skills in order to make the move to the cloud a success.
The subject about organizational change and agile transformation is somewhat complex and out of scope of this article, but you should just understand for now that it is important to break the silos and make people work together.
This will also help you define how your going to do your cloud operations which have to evolve as well to be aligned to a more modern DevOps approach taking into account that nowadays tools such as Ansible and Terraform are becoming the standard to deploy infrastructure using code in order to avoid configuration drift.
After you have defined the workloads to move to the cloud,it is moment to formalize the plan, which you can do using a Backlog with tools such as Azure DevOps, Github or Jira. The cloud Adoption Framework can help you to generate this backlog automatically using Azure DevOps, (take a look into the tools sections from the framework: https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/reference/tools-templates)d
It is important to understand that you should use an iterative approach, migrate a first service first and avoid to try to migrate your whole digital state at once, it will most likely faill.
Take a crawl, walk, run approach, do it little by little and improve at each iteration.
Once the plan and the team is ready, then it is moment to prepare your Landing Zone.
Azure landing zones are the output of a multisubscription Azure environment that accounts for scale, security, governance, networking, and identity. Azure landing zones enable application migrations and greenfield development at enterprise scale in Azure.
There are ARM templates and Terraform Modules that are ready to use in order to help you automate your landing zone deployment.
Don’t forget to as well define your naming convention and tag strategy, you will save a lot of headaches now if you define your tagging strategy using Azure Policies, taking into account the basic tags that are required to associate each workload to it’s owner and costcenter.
Once your subscription is ready, this is the moment to start migrating your workloads, you can migrate existing workload using Azure Migrate or you can transform your existing applications and deploy them to App Service for example.
In parallel to the phases of Plan, Ready and Adopt (and also after the migration) you should work on how to handle your Governance and Monitoring.
Risk management, Training, Monitoring, etc, are concerns that you have to keep taking into account durin and after migration.
I invite you to visit the official documentation in order to learn more about the cloud adoption framework:
If you’re blocked in your cloud adoption journey, Microsoft has dedicated resources to help you get unblocked.
Or you can work with a partner.
Importance of the Cloud has been an evidence during the time of Crisis such as Covid19, where employee can access any application and data while working from home, and contribute to business continuity.
The cloud has seen an outstanding growth that can be contributed to its rapid pace of adoption, taking precedence over traditional on premise hardware. It is easy to understand that the adoption of cloud services has seen a rise across all industry type and the size of business
Scalability and pay-as-you-go pricing models are the key benefit provided by cloud services to organizations for enhanced effectiveness through technology.
In order to adopt Azure with confidence and control it is recommended to use the Cloud Adoption Framework because it is based on best practices and successful customer and partner experiences, furthermore the framework is updated regularly.
If you have any questions, don’t hesitate to contact us.
Good luck in your cloud journey!