The cloud provider complexity paradox
It is amazing what you can do with cloud providers, you get nearly unlimited computing power for fractions the cost, it is only the imagination that sets the limit in 2019. All cloud providers are competing to give the best products which only benefits the users.
However, the money...
All the cloud providers fully know the potential now, everyone is racing to capture the biggest share of the market. Google said at Cloud Next that 80% of compute workloads are not in the cloud yet, and with Amazon being a 7.2 billion dollar revenue last year that number will then be able to grow to five times bigger. Google announced at Cloud Next that they were on an 8 billion dollar revenue run rate.
And on top of that being 5 times bigger, the cloud providers can earn even more money with providing tools to help with machine learning, something that requires a lot of power and is out of reach for most companies so they haven't even considered it today, something they will in the future!
The complexity is growing!
With all the money flowing, cloud companies are fighting to create the best, most advanced, most compelling, cheapest, most accommodating platform that can suit everyone needs, from the single, but potentially the next big thing, developer to Fortune 500 companies.
Google Cloud has more than 150+ products and AWS has more than 160+ product offerings, that is a lot of different things! And all them can and have to be controlled from a single dashboard, or that is what customers expect.
And this is just the start, we are constantly demanding more features from cloud providers, no longer is companies that uses Google Cloud or AWS, just using raw computing power. That is a clear sign since DigitalOcean who else prided themselves on being a simple straight-forward hosting provider now also offers hosted databases and even hosted Kubernetes clusters.
The reason is that using virtual machines and configuring everything yourself is a hard job and once you have to scale up, it becomes an infinite harder problem, something we now try to solve with Kubernetes. The companies that use smart products and not just "dump" virtual machines are moving much quicker and everyone is getting there eye up for that.
But wauv the beginners have a tough job..
I organize workshops and in general help people as much as I can become better developers, but it becomes harder and harder for me to recommend people how to get started with all this! It has gone the other way in terms of ease of use and complexity, cloud providers have become more difficult to use!
Google Cloud and AWS knows that that is why Google tries to keep its developer-focused brand Firebase going and AWS going with their simpler product Lightsail. It was no doubt simpler in the old days of cloud providers where the only thing you had was virtual machines. These days I think that is dangerous, nobody should be manually creating VM's anymore.
So I don't recommend beginners to sign up for AWS or Google Cloud, most people will break their neck trying to get started. Not only to get started but to find their in again after their first visit. Most people conclude that it is too complex after their first time.
How do I know? More people would be using it based on how much I have talked about it to everyone.
What about Platforms as a Service like Heroku?
There exist other companies like Heroku that focus a lot on making it easy for developers, where simplicity is main and center. I used Heroku in the past, it was great. But I can't recommend it, only for a very small percentage.
I would only recommend it for a small startup that is not broke (because it can be expensive), who does not do a lot of intensive computing (because there are better platforms for that), who don't have any complex infrastructure already (you can't control the network) and are okay with not being able to have full control over their platform (you can't change how Heroku work).
What a weirdly specific group I have in mind.
What can I recommend?
All these problems you don't have with a public cloud provider, but you have to know how to navigate the jungle! But if you know and dare that, you will find unlimited potential! Knowing how to capture the power of the cloud is invalueable!
Or do use Heroku or similar, I don't know for sure.., but remember to not settle, push those platforms and know when you experience a barrier that maybe that is the right time to switch to an all buffet!
Infinite scaling is still a unimaginable benefits
It is easy to forget the first time you truly got the realization that the cloud is limitless for the average person and company. You tend to forget as with many things when you think about it often, but it is unnatural that such a thing is infinite exist, most things in life is not like that!
All the places I have ever worked at has always been bound by something finite before moving to the cloud. There has always been something, and people always had that in the back of their head. That is why they don't get at first the benefit of public clouds.