Enjoy a replay of The DEVOPS Conference sessions conveniently through the DevOps Sauna podcast. 10 predictions for Cloud Native in 2021. Cloud Native is one of the fastest growing open source projects ever and continues to accelerate, with Flexera reporting that 57% of organizations plan to increase their cloud usage even more due to Covid-19. Cheryl Hung presents the latest edition of the CNCF Tech Radar showing what end-users really think about and recommend in Cloud Native, as well as predicting technology and ecosystem trends we might see in 2021.
Next up, we will have Cheryl Hung, the VP ecosystem at the Cloud Native Computing Foundation leading us, and we will learn how convincing ideas of what the future of cloud computing look like. Over to you, Cheryl.
Hi everyone. This is Cheryl. It's great to be here today, and likewise, I'm very interested to hear what your predictions for Cloud Native, for DevOps, for software engineering would be. I thought it might be fun to share it, since we're still in the first half of 2021. So just to introduce myself first of all, my name's Cheryl, you can find me at Twitter @oicheryl. I started out as an engineer at Google building backend software for Google Maps and building and running and launching it. So you can kind of say that I've been using Cloud Native or using containers since 2010. So I've been thinking in this way for about 10 years.
And the first time that I went to a cube con event, that's where I heard about CNCF, and I took this photo on the left at that conference from the keynote, and I want you to look at the top right-hand corner of this photo, because you can see the logos of the CNCF projects at that time. There was Kubernetes, Prometheus. I think it's OpenTracing and a couple of others. There were seven projects. This was in 2017 in Berlin. So at the time you could say CNCF was still pretty small, Kubernetes was still a little bit unknown, and Cloud Native even was not very, very widely known.
Fast-forward to now, to 2021, and this is what the CNCF projects looks like now on the right-hand side. This is 76 open source projects within Cloud Native. Kubernetes is still by far the biggest and most well-known one, but there are dozens of others spanning networking, storage, chaos engineering, loads and loads of different areas, and it's been incredibly exciting for me to see that progression from my own start as a software engineer, deploying software using containers and running it at scale, and bringing this approach out to the rest of the industry.
At CNCF now I'm extremely lucky to be able to lead and work with the CNCF end-user community. So these are companies, both really, really large global companies, to really, really small, fast, innovative startups that are actively using and deploying Cloud Native today. And because I get to talk to a lot of people within a lot of different companies, I get a very interesting viewpoint across what this community really thinks about Cloud Native and what's coming next and what they really recommend to others. And that's what I wanted to share with you today.
The CNCF end-user community is actually broken down into smaller groups, so there were some groups which go horizontally. So for example, what's the best developer experience that you should provide from your platform team to your application developers. We have a user group around service mesh where we just discuss what is the correct time and place to use service mesh. And we have a couple of specific groups for different industries, for example telecoms, financial services, and then research and scientific computing. So I really do get a very broad range of viewpoints across, and different kinds of deployments across Cloud Native. And the thing that I hear very frequently is what's coming next. What should we be looking at for after this year?
So let me set the stage a little bit again and describe where we're at today. Kubernetes, cloud, container experience, it's all still really, really hard to find. The number of jobs and roles out there which are specifically for container and Cloud Native technologies continues to grow massively over the last few years. And on the left you can see this headline saying Kubernetes job searches grew over 2000% over four years. On the right-hand side, this is the latest open source jobs report from the Linux Foundation. And this is actually a very good read, very interesting read if you're interested in open source hiring. They reported that 69% of the hiring managers that they talk to are seeking cloud and container expertise.
So Cloud Native is still accelerating. We are nowhere near done. And just like everything else COVID-19 has accelerated digital transformation and Cloud Native trends. In this report from Flexera, which they ran, I believe, end of last year, end of 2020, they found that 60% of the respondents said that their cloud usage actually increased over what was planned due to the effects of COVID-19, of coronavirus. That probably includes some of you, so I would imagine... I'd love to hear it in the chat if your cloud usage went up or went down compared to what you expected it to be.
We also run an annual survey ourself within CNCF, and in 2020, 83% of the respondents were running Kubernetes in production, and the trend is even more obvious when you look at those who are running containers in production. So from left to right on the graph, you can see left was the very first report we ran in March of 2016, and then going across that from 2017, 2018, 2019, and then 2020. So in 2016, 23% said that they run containers in production. By 2020, it was 92%.
And again, this pace of innovation is really seen through the open source projects themselves. So today over 118,000 people have contributed towards some of the CNCF projects, and they collectively made 5.7 million contributions. And by that we mean a pull request, a commit, or an issue or comment on one of the GitHub repositories that is hosted by CNCF. And that doesn't even include the number of people who write about it, who talk about it, who share their experiences and share their feedback about it.
But the flip side of this is that it's very, very, very difficult. It's getting more and more challenging to deploy Cloud Native because all the easy stuff has been solved already. In the 2020 CNCF survey, complexity was the joint number one challenge that was reported from the respondents. Joint with the cultural changes with the development team. And I have something to show you now which I think will really illustrate this point, that Cloud Native deployments are getting more complex. They're getting bigger, they're pushing to more and more unusual locations, and therefore the expectations are higher. So we're going to watch a short video together.
Speaker from video (08:13):
The DOD enterprise DevSecOps initiative is a joint team with the DOD CIO, OSD, the Air Force, and DISA. So we're really trying to streamline the process and what it takes to take a program to DevSecOps using Kubernetes and OCI compliant containers. So giving us the ability to move faster and be able to continuously push software and updates software, particularly when it comes to AI and machine learning and cyber offense and defense is critical. For us, of course, security is a must. That's why we call it DevSecOps. The sec is not just doing some static dynamic analysis on your code. That's a given. We're going to the country's monitoring side of the house, with zero trust baked in, with a behavioral detection model, really pushing the envelope when it comes to security and merging the best practices on the cyber side with the DevSecOps community.
Speaker from video (09:12):
We went to the team and said can you put Kubernetes and Istio on the jet? And we didn't want to change the hardware of the jet. That's legacy hardware. No cheating. That had to be able to boot from scratch in 2 minutes with the microservices and the Istio stack running. And what was incredible is the team was able to bring Go, Java, Python, and modern programming languages using microservice architecture as well. So we had Go running on the jet, which is a big difference from Ada. So we were able to do that in 45 days. This is pretty incredible because once you can deploy fast and iterate and learn fast and fail fast, but don't fail twice for the same reason. I think the key aspect there is that it's compounding the time savings and it's very tough to have a fake precise number, but we're thinking at least 100 years was saved across the 37 programs already. If Kubernetes is good enough for the DOD and our weapon systems, it's certainly good enough for your business.
Okay, cool. I hope you enjoyed that. So that was the US Air Force talking about how they deploy Kubernetes and Istio onto their fighter jets, which a few years ago would have been unimaginable, it would have been completely insane. But this is the kind of example now of how Kubernetes is pushing further and further, and it's not just about running a typical e-commerce or web store, typical web apps anymore. So if we're going to try and look beyond all of this confusion, acceleration, all the things that are happening within Cloud Native, let's take a look at what is coming next.
So these are Cheryl's 10 predictions for Cloud Native in 2021. I put them as mine specifically because these are my biases, this is what I've seen within CNCF. I do have a bit of a unique viewpoint because I talk with so many practitioners of Cloud Native, and I talk with so many different CNCF projects, but it is definitely my bias. So I would love to hear what you think and whether you agree with them or whether you disagree, or whether you think some of these completely off the charts, whether you think it's already happened. And I've divided them into 3 sections loosely.
So the first is tech. So these are generally things to do with tooling, programming languages, frameworks. DevOps, which I've taken anything to do with people, processes across teams. And then ecosystem, which are things that are generally across different organizations and trends in wider business. OK, so here we go. The first trend, which is the first technology trend is more VAST. I'm a C++ developer by background. I've been interested in VAST for quite a while as a better, more modern, safer version of C++. And it's still kind of up and coming, I would say. There's a lot of excitement around it, but it's not very widespread at the moment, but we're starting to see an increase in the number of projects that are written in VAST.
So on the left-hand side, you can see VAST in the top right-hand corner, ish. If you look down a little bit, you should be able to see VAST. This is from the RedMonk 2020 programming language rankings, and it's just a ranking of the different projects across GitHub and the usage of different programming languages. But Rust has come a long way in the last couple of years, and similarly in the numbers on the right-hand side, Go is still the most popular language for writing Cloud Native CNCF project in, but VAST is up and coming, and I think it will continue to increase in the coming years.
Second trend is cross-cloud becoming more real. So cloud I think is... Using a single cloud is relatively straightforward, I would say. Even using hybrid cloud is pretty common. I see a lot of different companies and organizations now who run part of their workloads on-prem, and then they burst to public cloud. Multi-cloud is still extremely difficult, and I have not seen many great deployments about this yet. And part of the difficulty of that is the storage and the data, because moving stateless applications around is relatively easy, but moving data and moving analytics is extremely difficult across cloud. I think this will be getting better, but I've put this trend as cross-cloud becoming more real, because as I said, I haven't seen too many yet that have actually successfully done this, but I'm hopeful.
And one of those modes is Kubernetes for the Edge. I apologize that my slide appears to be a little bit broken here. What is should read across the top is 0 to 25 kilometers, and then the middle is 25 to 100, and then the right-hand side should be 100 to 1,000 kilometers. Basically, things on the left are closer to the user, things like devices, IoT devices, phones, and then things on the right are traditional cloud data centers. This is really in relation to telcos, telecoms companies, and they are moving away from OpenStack towards Kubernetes and Cloud Native.
And there's excellent reasons for this because containers are actually an excellent way to deploy software to the Edge, to devices, because once you have your image in a repository, you can pull it down onto a couple of devices, test it, and then you can have thousands of devices pull down that container and pull down that image and just assume that it will work. And Kubernetes is excellent for this kind of scheduling and managing across many different heterogeneous devices and heterogeneous environments. But Edge has some challenges and I've listed five of these across the bottom.
One is that you have reduced control over what kinds of devices or what your users are doing with those devices compared to maintaining your own data centers. Your resources are very constrained. You're limited in memory, typically, in bandwidth. And that's the third one as well, limited connectivity. So you can't rely on being able to run large applications the way that you would in a large server. You're subject to delays and disconnections because the network is not stable. And then your devices might be risky. You have to put a lot more effort into the security behind your devices in order to ensure that they're not being used for something that you don't expect.
So all of these are challenges that are happening, but at the same time, the benefits of running software closer to the user are very great. You get better experience from them, a better user experience from them. So this is something that has been slowly brewing for a couple of years, but this year seems to have picked up as a trend. We're now switching to the DevOps, and again, I'm taking this loosely to talk about anything that implies organizational process and organizational change. So the first one that I see is GitOps is growing significantly.
GitOps is a methodology that was really pioneered through Weaveworks, where the point is that you declare your entire system within Git. So every single change that you make is always done via a Git pull request that is merged into a repository, and then that repository is monitored by typically Kubernetes or some other software agent that will apply those changes. And that means you get a perfect audit log through your entire infrastructure, and it's easy for you to roll back in case there are any problems. I would love to hear, again, from you, whether you're already using GitOps or not. We also recently launched a working group within CNCF called the GitOps working group where you can learn more about this if you are interested.
Number six is chaos engineering practices. So a little bit like vaccines, where with vaccines you inject a little bit of harm into your system and it makes the overall system more resilient. We take the same approach with chaos engineering. So you take a little bit of harm, let's say on the left-hand side, 50% of your requests now fail, or on the right-hand side, 50% of your requests, you now add a ten second delay to it. And from that, you just monitor what's the behavior of the services. And that's the way that you can find out the weaknesses in your system and whether or not you have to be able to deal with this situation.
We have a couple of projects within CNCF. Chaos Mesh is one of those. I think this is actually very sensible way to handle infrastructure problems, and I'm a little bit surprised that it's not already more widespread, and I would personally love to see this one happen. In this case it's using a surface mesh to handle it, but as I said, there are other projects that are specifically designed for chaos engineering.
Trend number 7 is the rise of FinOps or financial operations. So as we talked about before, the COVID-19 caused an increase in the amount of cloud being used, so a lot of organizations have responded to this by trying to optimize the existing use of cloud and find cost savings. You can see in this report on the left-hand side, that was the number one initiative for 2020 was optimizing and finding cost savings within cloud. And then if you count 1, 2, 3, 4, 5, 6 down, you see better financial reporting on cloud costs.
I've had a lot of conversations now with a lot of companies, and they're very concerned about cloud because it's a little bit untransparent how it's being used. And within the Linux Foundation, we have a sister foundation called FinOps Foundation, and this is really a group of practitioners who are trying to find the best practices and tooling to really understand and optimize where cloud is being used and how to reduce that from an organization's point of view. So again, I would check out FinOps if this is something that you are either facing or you want to look at in the future.
Okay, number 8, and we're now onto the ecosystem. So these are things that are generally broader across organizations and across the industry. My number 8 trend is a pluggable developer and operator experience. And in particular, one CNCF project, which is called Backstage. Backstage was previously written and donated by Spotify, and it is the dashboard that Spotify users in order to view what kind of services are up and running, what incidents there are, what security issues there are, and to manage costs. And the reason this is exciting is because when they open sourced this, it was extremely pluggable.
So any kind of service could write a plugin that would extend this dashboard. And there's been kind of a gold rush almost of organizations, of projects rushing to build their services into Backstage. And on the flip side of that, a lot of companies are starting to use it. So this is something that I think has really changed what the experience will look like for developers and operators, and will continue to change it. So if you're interested in looking at this, you can go to backstage.io to check it out.
Service mesh consolidation. So I found this graph on the left-hand side from Monzo. Monzo is a startup challenger bank also a member of the CNCF end-user community. And every dot in this graph is an application that Monzo runs, and every line between it is an interaction between these different services. So as you can tell, as the number of applications gets bigger and bigger, the number of connections or possible connections between services gets harder and harder to manage. The whole point of a service mesh is to try and tame this complexity and make it easier to run and deal with unreliable networks, among other challenges.
We've seen within service mesh a handful have done pretty well, Linkerd and Istio. A couple of others. The list on the right-hand side is from the CNCF landscape. But we're starting to find, just as Kubernetes three, four years ago, there were a lot of different orchestrators. There was HashiCorp Nomad and a few different options, and it was actually beneficial for the number of options to reduce to Kubernetes. It was better for vendors. It was better for end-users. And we think this might actually happen for service mesh as well in the coming year, two years. There'll be fewer options and more users using a single one of these options.
And number 10, the last trend that I have for you, end-user-driven open source. We've already talked about how Spotify donated Backstage as an open source project, but other projects that have come directly from end-users are Envoy from Lyft, Yeager from Uber, Argo from Intuit, Prometheus was SoundCloud originally, I believe. And we're starting to see this trend happen more and more, that end users are not just passive consumers of this technology now. They're solving their own problems and then sharing those with the open source community and becoming leaders within open source.
Within CNCF, we call this trend and user-driven open source, and we're trying to expose some more insights directly from end-users through something called the CNCF Technology Radar. This is a quarterly report where we survey the end-user community, and we ask them for a specific topic, what do you actively use right now, what are you looking at for the future, what things do you not use anymore? And then we produce reports on these once a quarter and share those insights out to the wider community with the hope that this gives people an idea about what others are doing, and for maintainers of these open source projects, what the landscape looks like for consumers of the technology.
So that was a pretty long list of things. I know I've gone quite broad. I haven't gone very deep into most of them. But let's just take a quick look at 10 again. So thesis is Cloud Native deployments are getting more and more complex. The use cases are more specialized. The demands are higher, the expectations are higher, and you need to stay on top of what is coming next. And these are the predictions that I've seen across tech, across DevOps, and across ecosystem. Within tech, more and more Cloud Native projects are being written in Rust, not just Go. Cross-cloud is becoming more and more real. It's becoming a possibility in the ways that it was very difficult to a couple of years ago. WebAssembly and eBPF are going to be a springboard, so their going to bring Cloud Native and Kubernetes to new kinds of environments.
Telcos are really focused on Kubernetes on the Edge and pushing the kinds of environments to smaller, more constrained devices, and that is going to require some differences and changes to Kubernetes for that. Within DevOps, within processes and people, GitOps is getting wider adoption, and we think it's actually going to grow a lot over the upcoming years. Chaos engineering is still relatively new, but there are a few small companies that are really starting to push this and think that there can be a lot of value in injecting a little bit of harm into your system to make the overall system more resilient. And the rise of FinOps. because cloud has grown a lot, now companies are looking at how to measure and optimize the amount of money that they're spending on cloud.
And then ecosystem trends. We're seeing pluggable development pathway to experience. So not just assuming everything's going to be run through CLIs, but now dashboards where different open source projects can plug into it and provide a great experience for the people who are going to be using their services. Service mesh consolidation. So fewer projects, but more usage within those projects. And then end-user-driven open source. The end-users are taking charge of their own problems and donating and becoming leaders in open source.
There are two that CNCF, in particular, is pushing, and I'd like to just share a couple of resources for these two, Kubernetes on the Edge and then end-user-driven open source. One this is the radar that we already talked about. Please go to radar.cncf.io and read some of our past reports on this. So the one that we just launched in February, we asked people what do they use for secrets management? November 2020 was on database storage, September 2020 was observability, and in June was continuous delivery. But if you're interested in looking at any of these topics and finding out what the CNCF end-user community thinks about them, then please go to radar.cncf.io. If you're actually from a company within the CNCF end-user community, you can also find out exactly which companies are using what and what they individually think of them. But in these reports, we're just publishing the anonymized results.
Then if you are working in a telco or you're interested in running Kubernetes on the Edge, then we have two working groups. One is CNF, or Cloud Native Networking Functions Working Group, and the other is the Kubernetes IoT Edge Working Group, and both of these groups are companies and vendors coming together to understand the challenges of running Cloud Native in telco, and then figuring out what that means for the industry and how to move the technology forward to support those needs. And we're also running a survey at the moment, which you can complete at surveymonkey.com/r/cncfk8sedge, Kubernetes Edge, and we're asking people what their experiences are of running Kubernetes on the Edge. And then I have one final video to show you, which is just for fun.
Voice from video (31:22):
It started in about end of 2016, early 2017, when I realized that we had a problem with QuickBooks Online in that it took developers 3 or 4 days to set up a new build of QuickBooks Online coming into the codebase. So I started playing around with Docker and containers and Docker Compose as a way to bring that time down to only about an hour. In late 2017 at KubeCon I met a small company called Applatix in the vendor showcase, and we wound up acquiring that company and it took our expertise in Cloud Native technologies from 0 to 60 overnight. The impact has been tremendous in 3 ways. On our normally deployed public cloud properties, it's been about three nines of availability is what we can really get out of it. And what we see on the Kubernetes deployed clusters is it goes up to three nines and a five, which is, from an availability perspective is twice the availability that we had previously.
Voice from video (32:31):
We've seen a huge decrease in our meantime of recovery, down from 45 minutes typically, to under 5 minutes, whether we can roll forward or roll back releases in that amount of time. The third thing that we've seen it is in what we would call deployment cycle time. So this is the time that the engineers, from when they commit their code into Git to when a customer actually sees their code, and we can take that down to under 30 minutes and it makes the developer super excited that they just checked something in and a customer gets to use it and they get the feedback. We have this thing called Global Engineering Days that we run, where we cancel all meetings and make that week about engineers, and it's a choose your own adventure theme. And the adventure that most of the developers have chosen in the past two engineering days is onboarding their services, whether the new services or existing services onto Kubernetes.
Cool. So I wanted to show you this for two reasons. One is to bring it back to the reality and show that yeah, even a large company like Intuit is getting a huge ton of value from Cloud Native and how excited engineers are about it. And then the second reason I wanted to show you is because of those clips from KubeCon. I know we're all missing real in-person conferences, very, very much, but I wanted to invite you to the virtual KubeCon, which is coming up May 4th to the 7th, and you can go to kubecon.io to go check it out and register for tickets.
Obviously, we're not going to be able to have 8,000 people in the keynote room or hundreds of companies getting together in the sponsor showcase, but I hope that you will be able to come along anyway and enjoy it and meet some of the community while we're there. And that is it for me. Thank you so much. I think we are pretty much out of time, so I apologize, but if you have any questions, please reach out to me @oicheryl on Twitter. You can also find these slides on my blog at oicheryl.com. Thank you so much and enjoy the rest of the conference.
And thank you for the presentation and so much interesting stuff. No need to apologize for running late. I only have one more on a general level question and then a specific question, which I didn't really... I couldn't get to the bottom of the latter one, but let me just put it out there and then you can see what's the best way to answer that. My first question is about the FinOps. I was looking at the data on the slide. What do you think is going to be the technological representation of FinOps, whereas... Or is if they're going to be a technological representation or is it going to more focus on a conceptual level of FinOps? So that's question number 1, and then question number 2, I think it's related to Edge regarding the control plane connectivity, and here I only have to access a messenger to relay you the conversation on the chat, and then maybe hear you'll comment on that.
Okay, let's go with the first one, so FinOps. I think that with FinOps, we are probably about the same stage that DevOps was in 2011, 2012, where it was about a series of practices and practitioners getting together to share the best practices. But it took a little while for those to get encoded into a technological solution like Kubernetes which could enforce some of those. So I think that at this stage, it is a concept and it's a set of best practices, but I think we'll see more and more projects come out which enable a technological solution on top of that. For example, we have Kubecost, which is a pretty small CNCF project, but again, I think this is something to look out for. And then the second question was about control plane connectivity for Edge?
So what was the question?
Well there was more of a contemplation around that, so maybe that's something that if you have an opportunity to stay around for a few more minutes in the chat, and then there were a few people who were having a... Not heated, but an active conversation around that. So maybe it's a good option for the chat. Anything on your side?
I would love to take a look.
Can I jump in and ask, because you've worked at the bleeding edge of technology with all of these new great projects, how do you as a foundation plan for your future and what do you see as a prediction for CNCF in the upcoming years, aside from maybe organizing big events again one day?
That would be lovely, right? Yeah, we think that the trend that we're seeing is Kubernetes and Cloud Native is moving into these more specialized, more complex areas, and that means that there's going to be more innovation and more open source projects that rise up to support those kinds of use cases. So as an organization, I don't think that we're done with Cloud Native. I don't think this is the stopping point. I think we've still got good number of years left to grow. I do think the low-hanging fruit is done. We have a lot of... Pretty much any vendor within this Cloud Native space is part of CNCF already. So for us, it's about specializing into more use cases and also that trend of end-user-driven open source, whereas previously it was mostly vendors driving things, but end users outnumber vendors by hundreds. So if end users can take a really active part in this, then we'll be able to see more open source projects which are really solving the problems people really face day to day.
Beautiful. Thank you so much, Cheryl.
Cloud Native Computing Foundation, CNCF
Watch all recordings from The DEVOPS Conference 2021 on the event page: