Azure Strategy and Implementation Guide
上QQ阅读APP看书,第一时间看更新

Strategizing for app modernization with Azure

Finding the right reasons for moving workloads to the cloud or deploying new workloads directly in the cloud is a vital part of the success of your migration projects. When you look at it through your system administrator's or developer's technical glasses, you will most probably find several good reasons for migrating. Systems can be deployed faster, operations and management become easier, and the cloud gives you scale, high availability, and cost efficiency. But maybe your upper management has a different opinion about it, as they just approved an extension of your physical datacenter. Or, maybe the industry you are in has several compliance regulations to follow, making the public cloud a challenging platform to approve.

Why move to Azure?

Let's try and be as open as possible about moving to the cloud, examining both the benefits and the risks. Know that these are mainly based on experience gained from working as an Azure cloud architect and trainer for several years. Also, keep in mind that what is a benefit for one organization might be a concern for another.

Cloud benefits

There are several common business challenges that make a move to the cloud worthwhile. Some typical scenarios where the cloud is beneficial are listed here:

  • You are asked to reduce operational costs.
  • Your applications are facing traffic increases and your in-house systems cannot scale to meet the demand.
  • Your business requires faster deployments of systems and applications, in different regions in the world, to serve your customers.
  • You have security regulations to follow that are hard to implement in your on-premises datacenters or are expensive.
  • Your storage capacity is growing exponentially and it is hard to catch up, both technically and cost-wise.
  • Your systems are becoming outdated, running no-longer-supported legacy operating systems and applications.
  • The well-known CAPEX to OPEX (capital expenditure and operational expenditure): your company wants to shift to a consumption-based, pay-per-use model.
  • You are a start-up, not having the financial means or certainty to deploy and maintain your own datacenter(s).

Potential challenges of cloud migration

While you might recognize several of the aforementioned examples in your own organization, thus giving you some good motivation to explore migration to the cloud, know that cloud migrations also come with potential challenges. While these are less and less seen as blocking factors, it is worthwhile to mention some of them:

  • Your business is in a specific sector and you are not allowed to store data in the public cloud because of sensitivity or other compliance regulations.
  • Your workloads suffer from latency when the datacenter is not close to where your users are.
  • Some of your workloads are legacy; they cannot run in a cloud environment.
  • You just made a huge investment in your own datacenter.
  • You don't want vendor lock-in, and a multi-cloud strategy seems to have too much overhead.

Mapping business justifications and outcomes

If the preceding cloud benefits and potential challenges that come with cloud migrations have already got you thinking about cloud strategies, let's quickly run through a few other topics that you should keep in mind.

The cloud is not the cheapest solution for everybody

Switching or migrating from your own datacenter to the public cloud is a cost-effective solution, but that doesn't mean it is cheaper for everyone. Business analytics calculations might run faster because of cloud scale, which brings in business benefits, but the running costs might be as expensive (or even more expensive) than the costs associated with buying and running a similar workload on-premises. But it would take much longer before that infrastructure would be able to produce similar results.

To get a good view on the consumption costs of Azure resources, always start from the Azure Pricing page: https://azure.microsoft.com/en-us/pricing/.

No public cloud guarantees 100% high availability

This is one of my favorite conference topics to present on. Obviously, a public cloud platform is built with high availability in mind, but you need to be aware that there will not be availability 100% of the time. Looking at IaaS, you as the customer need to architect your high availability by using Azure Availability Sets or Availability Zones, for example. Moving to PaaS could be a solution for this, as it makes it more Microsoft's responsibility to make sure that your app services, data solutions, and so on are running on top of a high-availability platform. The good news is that Azure services have an overall service level agreement (SLA) of 99.9% for most services, with some services such as Azure SQL Database having a 99.99% SLA capability, or a 99.999% for Azure Cosmos DB.

All information related to Azure SLAs can be found at this link: https://azure.microsoft.com/en-us/support/legal/sla/summary/.

The lift and shift migration of virtual machines may not always give the best benefits

While a lift and shift migration of virtual machines to Azure is certainly a good step toward cloud migration, it is not always the most efficient one, from both a technical and also cost perspective. Maybe your systems are getting older, running legacy applications that might not run "better" in a cloud virtual machine. Or, maybe your on-premises systems were not correctly sized for the service they offer. Migrating such a workload to the cloud without changing the system characteristics might result in a huge cost increase for your Azure consumption.

Resources that can help in identifying your Azure Return on Investment (ROI) and Total Cost of Ownership (TCO) can be found here: https://bit.ly/2R4wGc6.

Containers are not always the best solution for cloud migration

We talked about containers a bit in the introduction. Containers are amazing, they truly are! Yet, they are not always the best platform to migrate your applications to, and they certainly shouldn't be the only driver for your cloud migration. Embrace containers as part of your overall cloud strategy, but don't see them as the endgame of your migration to the cloud.

For additional information on running containers on Azure and what services are available, have a look at this link: https://bit.ly/2QFTf8h.

What you learned in this section

You need to be aware of what the cloud can and cannot do for your organization. Decide whether any of the preceding maxims are true for your organization and your specific reasoning for moving to a public cloud scenario.

As you are reading this book, I am sure that you are interested in learning more about the technical side of deploying and running your business applications in Azure. That is exactly what this book is all about.

Any deployment or migration starts with knowing what you have before you are able to know where you are going. This phase is known as the assessment phase, so it makes sense for us to spend time on this phase in the next section.