Containers have had a growing use over the last year, in part because they provide applications with a lightweight, constrained environment that makes them easy to migrate, scale up and scale down across different hardware. They make it easier for developers to have a reliable environment for their software.
However one of the things that seems to be hindering containers right now is not the technology but its skill sets. In other words there’s people who are not probably aware of what containers can do and not able to take advantage of the season enterprises that want to get into it. They just don’t have the people around to do that. So, how do we build good container developers, good container architects?
How to build experts in containers
When you look at a Cluster Manager and the idea of Google’s infrastructure for everyone else, it’s really helpful to take a look at what Google’s operational model is. They have this segmentation of like Operating System ops, cluster ops and then application ops. The cluster ops layer feels like you know an area where there should be some more industry-wide emphasis on skill set specialization but the truth is there shouldn’t have to be a huge team managing thousand nodes of kubernetes cluster for example.
It can be a pretty small team. What ends up happening there is that the traditional DevOps skill sets move up to where they get to really stay close to the developers and focus on serve application-level concerns, monitoring and telemetry and how to do canaries and stuff like that.
There’s a lot of value-added but you really until you view that Cluster Manager layer, as you know for most traditional ops background like just assume that API is going to be there, it is going to be stable for you and you don’t have to worry about it too much.
The thing about the operation people in general is that things are always changing and are changing faster. I remember like five years ago were all trying to memorize all this cloud acronyms. Now it’s like starting again. Replication controllers, Pods and all of this kind of stuff.
15 years ago a developer was doing something very similar. There are new frameworks sometimes there is a new language community embraces. Operation people used to have a revolution every five years, now it’s like every 18 months.
Containers are being adopted so fast. From one point of view it’s like we need to make an effort to get people up to speed with these and train, and on the other hand it’s like just seems to become more and more the nature of this industry. At the moment there doesn’t seem to be any real slow down. Docker started existing essentially less than two years ago. Maybe moving fast is good but for sure one of the tradeoffs is you need to train people, they need to relearn things very often and it’s hard to find people that are skilled.
Incrementalism on the infrastructure side is one way forwards
One of the ways in which it might be possible to help operation’s people adopt to containers is by building bridges between systems that they are currently operating and the systems which the developers are demanding.
At the time being we are all talking industry about the future of containers replacing Virtual Machines and just rolling out completely commodity infrastructure and running container clusters on that. But that’s really scary to an ops person and enterprise because they have already got networking setup they like, they have got the storage setup they like, and so on. There is definitely a scope to integrate the tools in a way that makes sense to the enterprise ops person.
Enterprise owners report that they need to adopt cloud and basically they got that out into the enterprise and they got the developers over on the cloud system, and then they brought in containers on top of that and they brought in new data systems. They brought in lots of different things that keep layering on top of it. So we are changing so fast that enterprises are saturated with change, they just can’t seem to change anymore. Does this mean that
We have development challenges inside of enterprises?
Micro-kernels seem to be the next thing. It’s compelling to go and understand how micro-kernels work and compiling applications using it. This evolution of this disruptive technology where we are all hooked on it and it is accelerating and it’s disruptive and it creates new business models and new opportunities.
One of the problems that is just kind of blocking adoption today is the idea of composite applications which is a real problem facing enterprises. This means how you bundle up manifested references for series of source images and as a community to use kind of a decentralized get back to model to share best practices for modeling workloads that can actually run.