January February is always a good starting point to reflect on what you think this year is going to happen.
Since the beginning of the internet we have seen some major milestones on different levels.
When I started in the ICT we had the first iteration: web1.0->web2.0
The old skool internet altavista, yahoo, simple html pages were replaced by asyncronous calls with the google gmail website as a good example. Wikipedia and facebook brought the more social aspects to life. Slowly we moved towards web 3.0 with small and adjustable applications that together are a service for flexibility and scalability.
Some say the 4.0 will be about 'facial recognition', but only the future will answer that.
For running services we can say the same thing happened.
In the good old days we would have multiple servers and manage them one by one. Than Cloud 1.0 happened. Why run it on your machines if other people can do all the maintenance for you, costs efficient and having proper reliability. But the application services themselves rarely changed. We only replaced the hardware for other hardware. And used other peoples databases instead of our owns. With Docker/Zones and Jails it slowly started to change. People added services in a container and became less depended.
We are now at the milestone 'Cloud 2.0'
Now we want to do more than store our data and run the apps in the cloud. With the cloud and machine learning-based analytics tools, enterprises now are in a better position to use data for their benefits, data lakes and data streams are now very popular. And why have a server when you can put your apps in a "container". 2.0 is about running serverless and only run your app when it is needed. making it also costs efficient and scalable.
Embrace the rise of the machines
In order to run all those services, we have to be less depended on humans. There are more and more services running at the same. Why not let a computer control those services. Bridge the gap with machine learning and automations. With Kubernetes we have already started to bring down the manual interaction. But why not also use machine learning for parsing logs and making machines scale of specific times when it's actually needed. "Be ahead of the stream".
A heterogeneous cloud integrates components by many different vendors into one single tool. Applications dont care anymore where they run. They are no more dependend on cloud specific services (like sns/sqs). We are seeing now more and more that services are moving from one cloud provider to another and back depending on costs. We need to make it as simple as possible to transition between those.
Governance as code
With the amount of services it becomes much more complex on making sure that the implementation follows your Architecture rules. Some find security more important, others are more focused on performance. It will be no longer possible to manually monitor and check the health of the infrastructe and applications according to the rules. An interesting topic about this is from Neal Ford: Evolutionary Architectures