It will take some more time, although I think it is almost there, to get Containers to the level of maturity systems require in production. The benefit of containers, with the easy distribution and scaling makes it a technology which is here to stay for a while.

With the new kid, Serverless computing, on the block container will see workloads shrink. Serverless with its optimized run capabilities will take lots of work from Containers. They are easier to deploy, don’t require a host and have scalability in the box.

Serverless mature enough to run production loads. From an operation perspective, there are some challenges, some holes in the tool support or in the cloud platform capabilities.

Serverless often referred as “NoOps” isn’t completely right. With the ease of deployment and the enormous amount of services monitoring is a challenging job. Not monitoring on operating system or network level but on business process level. Updating or adding a service can impact the business flow, knowing the health of your business process is something you now have to build your own.

AWS and Azure are putting a lot of effort in the Serverless capabilities of their cloud platforms. Two companies that can move fast. So, it is to expect that serverless will reach a level of maturity soon. Interesting announcements where made at the last AWS invent, like https://aws.amazon.com/step-functions/

Serverless will take workload from containers, but won’t completely vaporize it. Serverless is mainly an integration capability of the cloud platform, "gluing" together disparate systems, and systems don’t single exists of glue, there needs to be something that needs to be glued, something which can live in a container or in ... something else