Todays Cloud out of the box services, Is it as good as advertised? Quick Intro into the context A question that gets asked too frequently during migration plans from on prem to cloud or perhaps from the usual cloud infra to full managed serverless.It’s quite unlikely one would disagree that cloud infrastructure is far more resilient to manage than on-prem, i mean yes, of-course, who wants to run to datacenters to have a bunch of worn out disks replaced, rebuild storage arrays, or even expand it, when you can have it all done on a WebUI or better yet via API (full programmatic)! Indeed, which then begs the question, how much cloud is relatively good and to what extent should it go? This is where things tend to get a bit complex and little more intriguing.Let’s take a step back to basics, notably cloud computing always has had a markedly trade-off starting at the tiniest scale, and significantly growing up along the cloud market infrastructure scale.Furthermore, since cloud computing took off many years back, certainly the buying powers weren’t being as much persuaded as they are today, thus getting one out of their traditional On-Prem computing routines and onto cloud hostings was not exactly a straight sail; and for this very reason cloud players had to play the game a bit differently particularly stepping up their ways adding more to it to sweeten the pot, to which then became the main core focus of their business.Another key point here is looking at Todays cloud services powering thousands if not millions of sites and applications around the world which has a significantly strong influence on how we typically think of Infrastructure, and not only does it stop there, but also goes few steps further, on to offering out of the box (pre-defined) services that get you up and running in a matter of minutes and with the least experience required. Awesome!! ... But everything comes at a cost too, doesn't it! Indeed, without minimal doubt, thus what must be remembered is Too much use of something, brings forth a curse, one that inflicts a full sense of dependency! In lights of how things have changed comparatively along the history of cloud computing and how the general public reacts to it since then and until now, introduces a new question … What dependency threshold is likely to throw a business into the ruins? First thing to remember is how we started this discussion expressly talking about trade-offs, for starters life is founded on trade-offs. However as usual that sweet spot of balancing off the good of both worlds is of essence. Although hardly anyone would disagree with the latter, cloud business on the other hand would, not only because of the fact that it doesn’t tip that balance in their favor, but also because it impacts the way their business grows! The Trade-off Strategy Typically for a cloud business to become booming successful it has to continuously strive for conquering your life, essentially creating a form of full dependency to your needs which comes in the form of (pre-defined solutions), or a single element you cannot do without; taking over every aspect of your business, and just about every part of it.In the long run you realize you’re too far down the rabbit hole, eventually becoming a submissive business character to virtually any decision they make and any action or step they take. You’re basically rat-trapped!As a result, the efforts needed to restructure/rebuild your infrastructure outside these services become overwhelmingly tough as well as a money haemorrhaging process at large scale. It’s unrealistic to deny the very fact that you’ve been literally technically owned!….. and there goes the core of their business model! Skills Trade-Off Having said that, another form of trade-off that comes into play is “The SKILLS TRADE-OFF” which not only ties you up to a single proprietary solution but also wraps a rope around your neck placing your entire business at risk and right at the mercy of their hands, which not to mention, gives it a high weight on the trade-off severity scale.Because majority of start-up business lack the skillsets needed to build enterprise-grade infrastructure and turn straight to leveraging proprietary – out of the box – solutions, the challenges faced on the longer run become even more extreme and are directly proportional to the submissive dependency on such services.To emphasize such solutions like RDS, ECS, ECR, Lambda, Elastic Cache, API gateway .. etc, also compel their users to do things in their very own proprietary way, with the excellent chance of failure if you were tasked to replace these services with their real backends like RDS with a MySQL cluster, or Elastic Cache with Redis cluster cluster ..etc, also not to mention the higher costs incurred as a result of the use of such services. Death Of Portability Given all previous points, a larger form of trade-off comes in as “death of portability” – a type which transforms your infrastructure into a crippled, dependent one that cannot stand without the use of such proprietary services.Death of portability is a well-known threat that arises from the full dependency on cloud provided out-of-the-box proprietary solutions, yet what makes it even more disastrous is the vast differences in majority of services between the biggest players like AWS and GCP despite Terraform efforts to create a form of unity model that attempts to handle them both in a similar fashion. if AWS screws me over, i can always go to GCP, right!? Okay, so the narrative here is not just about finding another crutch to limp on, rather getting yourself squarely confined within a Monopoly business boarders where you have to hold one pen or the other, at which point your infrastructure becomes incapable of running anywhere else, and constantly in need of such services like a crutch to the limping.Furthermore, leveraging other cloud providers that do not provide out-of-box solutions becomes relatively a tough challenge, as a result when things go blue on both sides, you’d be left with no option, but shutdown your business, pack up your things and back to square one.It comes at no surprise, that the more portability your IaC possesses the better your chances of survival are, in efforts to avoid being confined between just two cloud options. What could possibly go wrong!? As can be seen, part of the dogma and perhaps the most concerning elements in today technology is that you do not own any of it, you own nothing, equally, consider other possibilities that could bring your business to the ruins such as:Policy changes (Ex: Whatsapp bought by Facebook .. End User agreements have changed .. you’re now officially a product or like with AWS collecting and sharing data, GCP bans Crypto mining unless you’re a paying customer with certain $XXX in payment values)Price Spikes: (You have zero control over it .. either pay or out you go)Datacenters going down: (strong storms, volcanoes, natural disasters)Deprecating or otherwise Replacing existing tech (Yes, You’ll be given a grace period to migrate and adopt new changes across your infra, or there might be imposed penalties/consequences, or lack of benefits)Banning: I’ve worked with companies in the past that got banned regardless of how regulated they were, the material they had on AWS was simply not to the liking of AWS policies.The need for more processing power, one that correspondingly would cost an arm and a leg to have on cloud as opposed to getting own hardware and cutting down on unnecessary costsLimitations: You are officially limited by what they offer, you cannot get out of that box, and you have to do it their way, you’re no longer in control, and gradually but surely turning into just another follower, you comply and live by what they offer yet you pay whatever price tags they put on their services, identically is the case with Facebook, you’re being told how much in control you are! Be as it may with your privacy or otherwise, truth is, you’re nothing but a (lab rat, a guinea pig if you like), interactions are collected and recorded then analyzed, you are being classified based on your responses and that’s how Ads appear to be more naturally personalized) .. and the list goes on and onIn conclusion: Too much dependency on cloud managed services transforms the ownership title deed as a de-facto to them, you no longer own it, they do, and not only that but also own you and your business altogether!Take a moment to think, such is often overlooked! Finally .. A Quick word ofAdvice Although cloud infra is without a minimal doubt a necessity for majority of businesses, keeping a distance from becoming fully dependent on it, specifically pre-defined solutions is potentially the best way to go, avoid getting entangled in their invisible ropes and boxes, going as CLOUD AGNOSTIC as you possibly can becomes a business life saver when times call for it.There are limitless ways to achieving this, like leveraging Ansible playbooks, or Chef recipes, salt, puppet in addition to, building your workloads on Kubernetes, that way, you achieve a decent amount of portability with the freedom to re-build your infrastructure in mins anywhere and on any cloud, or even on-prem for that matter.Finally, this article is my own sole opinion based on extensive historical experiences over the course of the recent 10 years working with many different clients, which factors in the variation of mindsets, and is only meant to be an opinion, or perhaps an eye opener (depends on how you look at it ∇ ). Everyone is welcome to praise themselves and their bright ideas after all ! 😉