Suitebriar Blog

Cloud Computing - you are doing it wrong!

Written by Ricardo de Andrade | Jun 13, 2024 7:20:46 PM

These days, the cloud is everywhere (96% of companies use public clouds), yet not everybody is doing it right. Recent statistics show that while cloud adoption is widespread, most companies are still on their cloud journey and have not fully realized its benefits [1]. It surprises me to see that many believe that just by moving their VMs and databases to the cloud they are doing it. That’s basically renting somebody else’s data center. Based on the statistics shared, only a minority of companies seem to believe they are satisfied with their cloud achievements.

Cloud computing requires a mindset shift and a level of maturity that few truly possess and can say are leveraging the real powers of cloud computing to the maximum. Both the Cloud Native Computing Foundation [2] and Google [3] (amongst many others) have created models to measure and track maturity levels. These models are a great tool to get an initial understanding of where you and your company are today, as well as a tool for measuring progress as you adopt more advanced processes and technologies.

To try to level set the understanding of cloud, the National Institute of Standards and Technology (NIST) defines it as:

“Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” [4]

VMs still require a lot of oversight, maintenance and are not fast to provision. They may only check a few boxes on the NIST definition. You are using containers, you say? Good. That’s better but you still have a cluster to manage and a lot of configuring to take care of, but it’s getting better already, and even more, if you define your infrastructure in specification files to be automatically deployed. It’s a step in the right direction.

According to one Gartner analyst,

“Organizations that are utilizing the cloud as a technology disruptor are harnessing its transformative potential to revolutionize non-cloud, data-center oriented computing styles and technologies. As businesses navigate through digital transformation journeys, movement to the cloud becomes a key decision point.” [5] 

In my view, fully leveraging the power of the cloud is delegating the infrastructure to the provider and focusing on your applications and user experience. Your business should revolve around how your customers interact with your company and not on the infrastructure that it takes to build a clunky experience because that’s all you can do when your teams are focused on the wiring and bits and not on the user experience. Google has this focus on users listed at the number 1 spot in their “10 things” list, something created in the early days of the company. [6]

Moving from on-premises to fully serverless, or IaaS to PaaS/SaaS, or whatever other names and acronyms you may want to use or you see floating around, requires a major thought process change that must be ingrained in your company, at all levels, from top to bottom. To be successful, IT teams need the support of executives, and executives need a team willing to embrace the necessary changes. 

Cloud-ready means automation, designing for scalability and high availability, self-healing systems, and an application with a user experience so awesome that your biggest problem should be keeping up with the user demand, and not, provisioning hardware and manually deploying software.

It means, leveraging managed services for compute, storage, databases, hosting, AI, you name it. There are options available to build something truly amazing with less overhead once you adopt the right mindset.

From the lowest layers, your systems should all have fully automated deployments, and code repositories for not only code but all the configs and specifications for your architecture. Borrowing a few concepts from the 12 Factors app [7], the components in your architecture should be loosely coupled, leveraging events and APIs as much as possible. You employ the latest in DevOps and SRE practices to make sure your systems, from the user’s perspective, are never down. Applications will crash and bugs will happen, it’s all a matter of time and whether you’ve built it in a way that can handle those inevitable moments. Monitoring and alerting help you to keep tabs on your systems and to be proactive when things start to derail. Deploying strategies in line with the Chaos Monkey [8] will help to improve your systems’ resiliency for when they crash for real and not as part of an exercise.

Basically, all this requires a culture shift and that should be reflected in your processes and the day to day way of doing things. It has to be part of your company’s values and strategy in order to succeed.

If you are still with me thus far, we are in the cloud. And as the saying goes, the only constant is change. Now, as an added opportunity (or complication) there’s AI. If digital transformation alone wasn’t hard enough, now there’s an even larger demand to access the data that you have been collecting in order to leverage it into AI systems. If you have been building it correctly, it should be just a matter of invoking the right API on your systems, and you are good to go. AI supported overnight.

While AI, and in particular now Generative AI (GenAI) is what’s being talked about everywhere, it is not a silver bullet for all use cases and all users. You will have to experiment and find out what works for your own users. Having your company, your culture, and your architecture ready for it and what’s to come next, will allow you this freedom to experiment, reiterate, and find what works for your use cases and most importantly, your users.

With today’s push for AI, you need to be able to adapt. And, once this is settled, the next wave of innovation will be here. Are you going to be ready? Can you move as fast as needed and adapt? Can your architecture evolve to accommodate what’s next?

Summarizing into my own list on “how to do cloud”, here’s what’s top of the mind (no particular order of importance as I see this as a set that should always be together):

  • Adopt a mindset of change and innovation
    Don’t be afraid to experiment, fail fast, or any other name you want to call here
  • Automation is your safety net
    If your experiments fail, rollback - no harm done and you learned
  • Focus on the user experience
    Prioritize what the user sees and how they interact with your company
  • Delegate the infrastructure to the cloud vendor
    The infrastructure should be managed by your cloud provider
  • Play it strategically
    Don’t fall for everything that’s in vogue now. Experiment and move on when needed.

At Suitebriar, our goal is to walk this path with you, leveraging our experience to accelerate your progress toward Cloud Computing nirvana. If you don’t know where you stand today, let’s work together and do a quick assessment to understand your starting point. We know how to get you to the destination.

 

[1] https://spacelift.io/blog/cloud-computing-statistics; https://www.accenture.com/content/dam/accenture/final/accenture-com/document/Accenture-Cloud-Outcomes-The-Race-to-Cloud.pdf

[2] https://maturitymodel.cncf.io

[3] https://digitalmaturitybenchmark.withgoogle.com/cloud

[4] https://nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-145.pdf

[5] https://www.gartner.com/en/newsroom/press-releases/2023-11-29-gartner-says-cloud-will-become-a-business-necessity-by-2028

[6] https://about.google/philosophy/

[7] 12factor.net

[8] https://netflix.github.io/chaosmonkey/