The Real Reason everyone’s moving to the Public Cloud (The future of software development)
At first, I was a bit underwhelmed by the cloud. After all, wasn’t it just a fancy new hosting alternative to the likes of GoDaddy and Hostgator?
Sure — you were promised highly scalable (elastic) and resilient (redundant) infrastructure for your hosting. However, all of that was also available with your on-premises data hosting provider. So what again, was the big deal about this fancy hosting platform called the public cloud?
I was looking at it all wrong. If you approach the cloud as simply a place to host your applications (or data), you may miss the true reason the cloud is taking over the world of compute.
All future software development is headed to the cloud — whether it is packaged apps or custom, home-brewn apps.
- No more 6 figure enterprise licenses for on premises software installations. Everything from clustered databases, data warehouses to enterprise messaging systems, all exist as managed cloud services (licensing included). Need to perform analytics on your data? You are spoilt for choice — AWS’ Redshift, GCP’s BigTable and BigQuery, Azure’s Data Lake are just a few of your choices. Need an enterprise grade messaging solution? That allows push/pull subscriptions — can deliver guaranteed messages — and is fault tolerant? Azure Queuing Services, Google’s Pub Sub and AWS’s SQS are on the menu.
- No more develop and test locally on your desktop and deploy to your hosting provider (cloud or non cloud). Develop on the cloud (workspaces, virtual desktops), check in to cloud source repositories, launch cloud native tools (devops templates) to pull and compile your source, build the requisite infrastructure and deploy the code to the spanking new infrastructure. It’s a thing of beauty, and most of it is already templated. You just need to learn how to leverage cloud native devops — CloudFormation on AWS, Google’s Deployment Manager or Azure’s Powershell ARM templates.
- Built in Monitoring, Security and Auditing — If you’ve had the (un)enviable job of running a data center, you are familiar with the travails of 24 by 7 monitoring tools, audit tools as well as security products. Not only do these have to be constantly updated and evaluated, they can be impossible to troubleshoot without pulling in the original vendor. The public cloud does this so much better that it is almost too good to be true.
- You get 24 by 7 monitoring of all your infrastructure (typically for FREE). With Cloudwatch/Cloudtrail on AWS, StackDriver on GCP and Azure Monitor and AppInsights, you get all the information you would obtain through a local deployment in your data center.
- You get an audit trail of all access to every piece of infrastructure or to your owner account. This is easily provided by public clouds since they all conduct their own internal tasks using their own API — any invocation of their API is logged and audited.
- Security Scanning tools are easy to configure (AWS Guard Duty, Google Cloud’s Security Scanner), again for free (Google’s is free forever, AWS’s is free for 30 days only).
- There’s even automation around saving your billing costs. Whether you use AWS’s Trusted Advisor, Azure’s Advisor or GCP’s Cloud Platform Security, you get a comprehensive ‘advisor’ to control your billing costs.
Let’s Pretend Like We Understand Business Terms — CapEx, OpEx, TCO, Time To Market
When you eliminate 6 figure enterprise software licenses, capital expenditure automatically reduces. When your hardware is no longer ‘all in’, and you have the option to pay-as-you-go, your capital expenses are again, lowered. It is true that some of the Cap Ex has transferred to OpEx, but CapEx by itself is significantly reduced.
With reserved instances, volume discounts, spot instances (instances that incur no charge when you no longer need them), you have a dozen different ways to save with the public cloud.
All those tape backups that you did in your data center? With the exorbitant storage costs? Well — cloud storage (tape or block storage), comes at a fraction of the on-prem cost. How? Storage has always been the ‘showcase service’ of the public cloud. Whether you go with Azure Blob Storage, AWS’ S3 or GCP’s cloud storage, you are getting inexpensive (as in, cannot find anything cheaper on the planet), highly redundant, storage.
Low Time To Market
It took me all of 1 day to do a proof of concept involving the following dataflow:
Streaming data from a twitter feed to a messaging queue (using Twitter’s API) → picking it up from the queue and transforming it (using Cloud Dataflow) → Taking the transformed data and dumping it into storage (BigQuery) → Querying the stored data → Creating a dashboard to display the queried data.
All of one day!
With on prem tools, it would take me a week just to set up the messaging/queuing software. It would take another week to set up the data analytics platform…you get the picture.
Weeks are transformed to days, days to hours. This is not to say that the managed cloud services aren’t without their own set of challenges. Since they are ‘managed’, they are notoriously hard to troubleshoot or debug in a live fashion (A notable exception is google’s app engine that allows StackDriver based debugging).
Next Gen Software — Machine Learning and AI
It would be foolish to try and develop ML models locally or from scratch. Azure ML (and Google ML) provides a library of ‘ready to go’ models that will work better than anything you can design from scratch.
If your business suddenly requires your backend to support mobile devices, you already have the backend infrastructure ready to go with Azure Mobile Services or GCP’s firebase.
If your company acquires another company that uses Okta or Sailpoint or some other authentication provider, once again, as long as your apps are hosted on the public cloud, it is easy to federate the logins to these apps — and even accomplish single sign on.
The real reason everyone’s moving (or should consider moving) to the public cloud
You can see where I am going with the examples above. Should your business take a sharp left — and go into AI or ML, should it acquire a company with different platforms, should it look to offer it’s products via mobile apps — the public cloud is not just designed to take you there, it can get you there cheaper and faster than any other route.
If your business develops or utilizes software, there’s not going to be an option to the public cloud. Enterprise software (the SAP’s the Oracle ebusiness suites and the Dynamics )— will all disappear into water vapor. Most are already on their way out.
Summary (The Cloud is where it’s at !)
The next time someone asks you ‘What’s the big deal about the public cloud’? Your response should be ‘What’s the big deal about your data center?’
Can it even host a kubernetes cluster that is managed by a master node (EKS, GKE, AKS)? Can it provide an audit trail into every infrastructure event that ever occurs — whether it is attaching a new NIC card or adding a disk to a VM? Can you deploy an enterprise messaging system, a globally distributed database and a terabyte scale analytics data warehouse — all within the same day?
Well, the public cloud can!
All the time lowering your CapEx, OpEx and TTM (time to market)!