Cloud Migration Blueprint

Cloud Migration Blueprint

Cloud computing (aka someone else’s systems and infrastructure ;-) can provide benefits and cost savings if utilized appropriately.?However, if you’re not careful, use of a cloud can become overly intricate and lead to skyrocketing charges.?Regardless of the provider(s) you select, there are a number of migration paths from which to choose based on your goals.

No alt text provided for this image

You can lift-and-shift relatively quickly and cope with charges and tech debt afterwards, which is great for cloud providers.?In practical terms however, it’s a cumbersome process that carries technical debt to the cloud, and once there systems are not well suited to capitalize on that ecosystem. There are variations of this approach that minimize required changes, and one might be suitable if you don't have great diversity across systems.

Another suggestion is to rebuild VMs and re-platform as you go to reduce technical debt. You upgrade the software in addition to hardware, which is a step in the right direction, but note that you’re essentially implementing IaaS or infrastructure as a service, similar to the lift-and-shift approach, which is often more expensive than running VMs on-premises.

A third option is to containerize apps and deploy to an orchestration system, ideally Kubernetes. This too, is a step in the right direction that may work well for smaller apps, particularly if you re-platform (i.e. update software in the process), however larger apps require more resources and undermine orchestration. You then require larger VMs, which are vastly more expensive than small ones in the cloud; that's a common pitfall, unless there are other savings involved to offset those costs, such as the closing of a data center.

If you have the time or personnel, you can modernize apps.?This is the optimal way to utilize the cloud as it can provide great costs savings and integration, though often no small task since you're rewriting apps.?Leverage serverless and native services, choose NoSQL over RDBMS, adopt a serverless offering for any RDBMS required, and use containers in an optimal way when serverless falls short. The latter involves modern architecture such as microservices, or distributed computing, and API design for example.

Finally, depending upon your application, you may have the opportunity to adopt a SaaS solution, or software as a service.?More often than not, SaaS will be more cost effective than IaaS, but of course it depends on the vendor, assuming such a solution meets your needs.

In the end you may leverage a variety of these approaches since one size rarely fits all, and in the process, you might even find it more cost effective to leave some apps on-premises.?In any case, as you evaluate options, be sure to consider what applications can be retired or consolidated to reduce your footprint and associated costs.

One final note is that the groundwork needed to move to the cloud is extensive, assuming you’re not hosting a simple, modern app for public consumption, because you’re building a private data center from the ground up, which requires architectural planning, networking, security, infrastructure, and integration. The cloud can be quite advantageous for a variety of reasons, but do your research to chart a successful course and control the spend.

要查看或添加评论,请登录

Paul Reilly的更多文章

  • Azure AI / ML & OpenAI

    Azure AI / ML & OpenAI

    Microsoft and OpenAI have been partners for a few years, and in January of 2023 the OpenAI service, and related models,…

    1 条评论
  • Kubernetes Orchestration Primer

    Kubernetes Orchestration Primer

    Kubernetes, or K8s, is a robust, opensource platform for the orchestration of containers at scale. The word itself…

  • Docker Survival Guide

    Docker Survival Guide

    Various compute platforms exist, like physical and virtual machines, serverless functions and services, and IaaS / PaaS…

    1 条评论
  • AI R/Evolution & Reference

    AI R/Evolution & Reference

    AI is essentially a tool in its current state, namely Narrow AI, and it lacks any real understanding or awareness. It…

  • Containers as Key Technology

    Containers as Key Technology

    A container is a runtime version of an image that includes a streamlined Operating System, an application platform, and…

    4 条评论

社区洞察

其他会员也浏览了