Does that Cloud Migration Make Sense?

Post

Most mature companies these days have some ongoing project labeled "Cloud Migration". It's a very marketable thing but is it the right thing for you?

The answer depends on the true reasons for the transition. Here are a few reasons your IT teams have probably brought up

  1. Scalability

  2. Uptime

  3. Manageability

  4. Security

Let's take these one-by-one and shed some truth on them

Cloud Solutions are Scalable

Imagine, you had a big room where you store all your client data as files. When you picked the room, it seemed impossible that it could ever fill up. Then, one day, there you are stacking folders in the very last inch of space.

As your business booms, you allocate a second room and eventually a third and now instead of looking in one room for a client's file, you're stuck trying to figure out what room the file is likely to be in. This is not a scalable data solution.

What if that first room could magically grow.

Cloud Storage is considered scalable because it can grow to serve your needs and you never have to worry about the complexities of how it does it. To you, it's one big file room that will always fit all your stuff.

Now, imagine that you have a situation where you need to look through all that data to make an important business decision. You leverage AI (Artificial Intelligence) to get perspective but AI requires loads of power to operate efficiently. You can go out an purchase a bunch of machines (servers) to accomplish the task and later be left with a bunch of expensive paperweights. Or, you can turn to the scalability features of Cloud Computing.

What if, your entire business was based on AI. Would Cloud Computing still be beneficial or would it be cheaper, in the long run, to buy those machines?

Cloud is a marketing term. All the technology that makes Cloud things possible, is readily available to you.

When it comes to scalability and Cloud Services, the only question you need to answer is, how long will we need it for?

If you live in a city where you rarely need a car, you probably shouldn't buy one. That day you decide to hit the road, you can always rent one. In my opinion, this is the only factor that weighs in on the question of scalability.

Owning a car you very rarely use can be extremely costly.

Renting a car that you use every day is extremely costly.

Cloud Solutions Guarantee Uptime

Uptime is how long your service runs, uninterrupted. Online service providers use terms to express their promise of this. These terms refer to the percentage of time the service should be up for, during a given year. The common reality is "Five and a Half Nines" (99.995%) which represents an average of 2.19 minutes of downtime (interruption) in a month (or 26.30 minutes in a year).

The truth is that despite all the promises that providers make, interruptions happen. All 3 of the largest Cloud Platforms have gone down in the past and will go down in the future.

If your business has been impacted by down-time, you already know the cost. Yes, up-time is important but, should you run to Cloud solutions to solve your problem or is the problem simply that you need to find a more reliable hosting provider?

A well designed hosting solution that mirrors your services across two or more competing providers will decrease your chances of down-time more than migrating all your services to a single Cloud provider.

Cloud Solutions are More Manageable

To answer this one, we need to get our hands a bit dirty and dive into some technical stuff.

When the internet was first born, life was difficult. As technology progressed, doing cool things became simpler. Specifically, the complexity of IT infrastructure (machines, wires, bits, bytes, etc) become much simpler. Cloud Services leverage this simplifying technology to get your services up and running faster and make your tech life more manageable.

Have we finally found a key factor to tip the scales in favor of Cloud Services?

Not necessarily. If your IT infrastructure is difficult to manage today, you may just end up transferring that difficulty to a new platform. If you "migrate", your services from your current infrastructure to a Cloud solution without putting in some serious work to update them, you will simply migrate your problem from point A to point B.

Why are your services difficult to manage?

True Cloud management and scalability benefits require that your services be built with modern technologies. Failing to upgrade your services means, very little will change.

Now, if you upgrade your services and migrate to the Cloud, was it the Cloud what made you more manageable? Or, your upgrades?

If you use the same modern tech as Cloud Services, you will benefit from the same manageability. Thus, this benefit alone, does not grant Cloud Service a win.

Cloud Services are More Secure

Everyone is secure until they are not. I say this because if your IT team uses security as a reason to move to the Cloud then something probably has already gone horribly wrong. Will a Cloud provider be your savior?

Security is a never ending battle and though the battlegrounds change, the battle continues.

Online security is quite simply a question of whether your soldiers are smarter than the attacking force.

Clearly AWS, GCP and Azure all hire the best soldiers so their defense is formidable and if you are leasing SaaS products, than the entirety of your safety is in their hands. But, simply hosting your services with Cloud providers doesn't mean you're safe. In-fact, most attackers don't wage war on your infrastructure. They wage war on your services. Simply put, a large part of your defenses remain in the hands of your own soldiers.

Are Cloud Services more secure? Generally, when you're using SaaS (Software as a Service), yes, because the SaaS provider includes security as part of the package (regardless of whether they use Cloud or not). But, when it comes to your proprietary tech, a large aspect of security remains in your hands.

Admittedly, it is beneficial to have a portion of your security managed. You just have to ask yourself if the premium for this is worth it and the answer depends on the strength of the technical resources you choose to employ.

Should You Migrate to Cloud?

There is no generic answer to this question. All I can do here is arm you with insight so you're ready to join the debate.

Here are a few common statements pushing for Cloud migration and solid questions to follow-up with.


Our infrastructure is old and costly to maintain and it's slowing us down

Are the applications that sit on top of our infrastructure detached from the infrastructure itself – are they using modern technologies and practices such as Containerization, and Kubernetes? What would be involved (cost/time) in the upgrade of our current systems?


We’re running out of resources

Are we correctly utilizing what we have? Let's evaluate our inventory of applications and their benefits and identify the cost of adding more resources?


Our services crashed due to overwhelming spike in demand

If this is the new norm, we need to reassess our inventory (See "We're running out of resources"). But, if it is a spike, we need to know how often it’ll happen so we can determine if its worth upgrading our hardware or sending the extra traffic to a Cloud service. Sending only peak traffic to the Cloud is a great option for many scenarios.


We’re using a fraction of our infrastructure and it's wasteful

How often do we come close to using the majority of our resources? Can we consolidate and reduce without loss or impact? (Then, reference the statement above)


Our website had a security breach

How would Cloud service security have prevented this? What is the cost of implementing that mitigation on our current systems?


Our hosting provider keeps going down

What better hosting providers are out there? Is our uptime important enough to mirror our services across two providers instead of one? If so, are we confident that putting all our eggs in one Cloud basket will adequately mitigate future downtime?


Its costly to manage all these applications

Is this application our business (what we do) or is it a tool we use to conduct our business? Unless we have a significant advantage to managing these tools, let someone else handle it so we can focus our efforts on growing our business itself.

Alternatives To Cloud

Cloud virtualizes the infrastructure layer of technological services.

Simply put, Cloud abstracts a portion of your technical complexity and this is not a small thing.

A collection of modern technologies make Cloud possible. But, can you do the same thing yourself? The answer is, yes.

This might be a bit too technical but here it is ~

If you are using containerization technology, release automation, virtualized infrastructure with auto-scaling (such as VMWare). And, if your applications are designed to benefit from Cloud platform capabilities, you already have everything you need to be your own "Cloud".

You have access to the technologies that make Cloud possible and in many cases, they are free and Open Source. A great example of this is OpenStack


Cloud is a marketing term created to sell existing technologies to companies who did not have the budget or need to manage them themselves.

When you go with AWS, GCP or Azure, you are employing their experts instead of yours. This is a great offer for many businesses but you need to determine if it's a great one for yours. At least, now you know you have choices.