It goes without saying that what training you offer your technical talent is as important as how you train them and when. But in the fast-moving world of technology it can be tough to discern which trends to follow, and which to let pass you by. Making these kinds of decisions is critical, however, because in most organizations there are only so many training dollars to go around. They must be spent carefully and strategically.
David Linthicum, Chief Cloud Strategy Officer for Deloitte Consulting and author of “Cloud Computing and SOA Convergence In Your Enterprise: A Step-By-Step Guide,” spoke with DevelopIntelligence recently to discuss a trend learning leaders and technical talent should definitely pay attention to in the world of the cloud: serverless container orchestration.
What is the state of serverless container orchestration currently?
People are experimenting and crossing work streams between the serverless world, which is the stuff provided by major cloud providers to decouple developers, and dealing with infrastructure and the ability to leverage containers. As we move forward with both technologies, we’re realizing that containers are very powerful. We’re able to extract native platform differences from applications, and write serverless applications to support them.
How are organizations using it?
Organizations are experimenting right now as well. They’re dealing with Docker-based containers and container orchestration systems such as Kubernetes, and they’re dealing with serverless systems offered by the various cloud providers; they’re not necessarily combining the two.
They have DevOps shops and people who are dealing with new technology and trying to figure out where it’s going to fit within the enterprise. They’re doing some prototype applications using it, they’ve gotten some early versions of the systems out there and are waiting to see how it bears out in the market. Number one, does it work for us and provide value within the space? Number two, do they think the market’s going to pick it up? Someone’s got to fund it for the next 10 years since you’re walking down the aisle with a particular platform.
Will the market pick it up?
It’s a no brainer. Serverless is a good idea. Containers are a good idea; combining them both is a great idea. It takes normally a year, a year and a half before the technology is understood, and it gets to adoption cycles in some of the enterprises. I suspect most of the issues will be solved, just like they were with serverless orchestration and containers in general. Serverless computing had issues when it came out, the ecosystem grew around it, and everybody picked it up.
What other changes are forthcoming and why?
Adoption will accelerate in the next six months to an extreme level. The container stuff is of big interest to people in the space. It’s going to grow. I wouldn’t call it an explosion, but developers will leap onto it, and suddenly it will be systemic to a lot of things we do in DevOps. Going forward, it’s going to be a serverless world.
We’re going to have serverless databases; we see those popping up now, moving us from having to deal with infrastructure as we build these systems. Serverless containers are the same way. I don’t have to guestimate how many servers I’ll need, how much memory those servers need, what kind of processors and storage I need.
If we extract developers from doing that, we remove many of issues in over- or under-allocating resources, and the big thing I’ve found in my world, not putting the resources back. You provision them, forget to deprovision them, and suddenly you get a big bill at the end of the month. Serverless is about leveraging what I need for a particular task, and then returning resources back where I found them instantly after we’re done.
In the case of containers, we can create a container that may be distributed in nature, made up of many different applications or even many different containers that run within a container orchestration layer like Kubernetes. The benefit is it’s easier to deal with, easier to distribute; we can also move it from cloud to cloud without doing major ports. The portability is going to come along for the ride.
This is the next big trend. Eventually this will boil down to development stuff. There’s probably no world that’s faster moving than developer technology, and cloud-based stuff is accelerating everything right now. As we adopt it, like continuous integration in the DevOps world, it becomes part of the infrastructure.
It sounds like a sure thing.
I think so because of the trends I see with larger cloud providers leveraging serverless everything. If it’s easier, it’s not going to cost you more money, it will even cost you less money, and you can do things faster, it’s typically going to win. Container-based stuff, a better way to architect a system that forces you to think about a distributed computing paradigm, that’s a slam dunk. The downside would be you’re going to spend a few more dollars on development costs building a container-based application whether it’s serverless or not, but you have something that’s completely portable, and in the orchestration layer, completely scalable.
A lot of people are willing to make that upfront investment if the ROI will be substantial.
Yeah, pretty much everybody that I’m dealing with is of that opinion. It’s my recommendation. I’d rather see people leverage cloud native features and the right enabling technology versus just take a lift-and-shift approach where we throw the application code as quickly as we can and the data as quickly as we can on public cloud-based systems and hope for the best. That’s never a good strategy because you’re going to have to revisit those applications at some point in the future and fix them. Do it right the first time.
How should organizations train their technical talent to deal with this new technology?
The two things I recommend for people who want to move faster with technology, building their skills and knowledge and doing things in an experimental, hands on kind of way, is video training as well as bootcamp training. A weekend class on how to do serverless, another one on containers and another one on how to do continuous integration and security systems, things like that. Cram the information into your head as quickly as you can, and back it up with learning exercises and real use cases.
You’ve also got to use it right away. Part of bootcamp training is you use the technology as you learn. You have your laptop in front of you, and you’re logging onto a cloud account, building applications with everybody else in the room. You can ask expert trainers about issues and getting around certain things.
In essence, you get your first project experience under your belt without actually having a project. By the time you’re ready to go off and work you’re very fairly well seasoned in the technology and understand how to use it. It’s not just knowledge that you regurgitate during a test, which is an issue with certifications sometimes. Ultimately your ability in the developing world is your ability to build an application. Focus on that.
Understand that it’s a combination of two technologies. Therefore, everything you’ve learned in the world of serverless and in the world of container orchestration is still applicable. Understand how they’re being combined, how they’re being leveraged and the new features and functions around that. Don’t be afraid. Also, back up and learn some of the basics of serverless and containers if you don’t have the fundamentals, or you’ll be left behind.