Many companies claim to be using cloud technologies, but how many out there are really using the cloud to its full potential versus just having another way of storing their Virtual Machines (VMs)? In many instances, the VMs have only been moved from a server room to the data centre to the cloud, and that is just the first step.
What do we mean by 'beyond virtual machines'?
Cloud technology is much more than just having virtual machines hosted. It’s all about really utilising cloud technologies by embracing all the services that make your business agile, secure and scalable. This means taking advantage of technologies like serverless computing, hyper-scale databases, cloud functions, Infrastructure as Code, Machine Learning and Cloud Identity.
How does it work?
As an example of what is beyond virtual machines; It is possible and simple to consume a database service and pay only for the amount of time you use it or how much data you store. You hardly even have to think about the scaling of the size of your database, because in general, cloud providers can scale better and faster than traditionally possible.
Traditional way costs time and money
Let’s compare this to a traditional way of doing things. Your company would need a server or bunch of servers, including enterprise storage that might be deployed as physical servers or VMs (which would require a hypervisor). Also, you would need to install an operating system on the server(s), and a database solution on top of that. All this before even being able to consume the database services. Then, to add to the pain, you need to secure the environment, add monitoring tools (which most likely need additional servers) and make sure it’s redundant. All of this costs time and money. To scale and make redundant is difficult and requires more hardware, time and management.
In comparison, cloud providers database solutions are always up to date, secure, redundant and have monitoring options from the get-go.
Lift and shift: migrating your problems
The scenario painted above would be very similar if you simply moved VMs into the cloud and did nothing else. Companies that perform a lift and shift migration are ultimately migrating their problems with them. Sure, there are valid reasons for choosing lift and shift migrations and sometimes they are very good ones, like hardware failure, ageing hardware or redundancy issues. This doesn’t detract from the point that the management of operating systems, applications and infrastructure is time-consuming and often expensive.
How to achieve resilience
Let's take another example involving databases. In this example, I assume you already have VMs in the cloud but have deployed your own database solution on top of them. In order to make this redundant, you need additional VMs, which requires additional configuration, perhaps including another region. You now have many more resources at your disposal, because of the inherent scale cloud providers have.
However, achieving resilience is still additional work. It requires configuration, management and monitoring from the operating system to the database level to the networking level.
More time managing your business, less time managing infrastructure
Now, when you use Managed Services from a cloud provider like Google, you have multiple database options like MySQL, Postgres and MSSQL. All provided as ready to go solutions. Even Hyperscale Google built services with multi-regional capabilities are available at the click of a button, or a few strokes of your keyboard if you prefer to deploy using code. (You see what I did there?)
These are secure, resilient, up to date and have integrated monitoring tools for reporting, billing and dashboarding. The result is that your team spends more time developing applications and IP for your business and less time managing infrastructure.
Beyond VM’s: build, deploy and maintain infrastructure
Spinning up database instances is just baby steps for moving beyond virtual machines. Most major cloud providers have API-driven environments. Which means you can build code to deploy, manage and maintain infrastructure. Again, wasting less time on creating machines. No more mistakes from a staff member picking the wrong VM-type.
The way you manage your application code is the same way you manage your infrastructure code. So, if you use VMs in the cloud, are you using code to create them?
Time to improve
Serverless applications allow organisations to simply write code and run it in the cloud. No VMs, no network configuration, choose your language, upload your code and schedule it to run.
Applications are managed, maintained and, most of all, secure. No need to worry about updating library versions and monitoring the infrastructure your application runs on. Spend more time on the code, reduce the bugs and use the time on improvements.
Build a global scale solution
The reality is that, by using modern cloud applications, functions, pre-built APIs and scalability, it’s truly possible to build a global-scale solution which includes AI and Machine Learning without managing a single VM.
Talking about how companies can embrace cloud technologies in its full potential is a good start. In my next blog, I will discuss containers, so stay tuned for that.
26 Mar 2020
Looking after your wellbeing whilst working from home
25 Mar 2020
Hangouts Meet for Beginners
25 Mar 2020