Today's software development shops have become a frenzy of activity, churning out releases at a faster pace than ever -- with a majority now delivering releases weekly or even faster. While such a pace would burn out everyone involved if conducted manually, we're not quite there yet with automating development, delivery and deployment cycles.
That's the word from a recent survey of 1,337 managers and practitioners conducted by the Cloud Native Computing Foundation, which also finds native cloud adoption -- with ancillary approaches such as containers, serverless and service mesh -- on the rise.
Those respondents with daily release cycles increased from 15% in 2018 to 27%, and weekly release cycles increased from 20% to 28%. Hybrid models in 2019 are up to 41% compared to 25% in 2018. This can be attributed to a rise in available CI/CD tools, the most popular being Jenkins (58%), followed by GitLab (34%), and CircleCI (13%). The survey's authors credit the rise of DevOps, CI/CD tools, and agile methodologies with this accelerated pace.
Surprisingly, however, there has not been an increase in full-on release automation. The survey found little change in the percentage of developers automating their releases, remaining in the 40% range for both 2018 and 2019. "Where we see a change is in those using a hybrid approach versus fully manual releases. Hybrid approaches, using a combination of manual and automated tools, up to 41% in 2019 compared to 25% last year," they state. "Doing releases manually has dropped to 14% from 27%."
Cloud computing in its current form has been around for some time now -- at least 14 years, since the launch of Amazon Web Services, and the actual coining of the term in 2006. So, it should come as no surprise that by now, there would be many, many cloud-native applications in production out there in enterprise land. More than half of the projects the CNCF survey authors looked at reached more than 50% cloud use in production, with many more projects experiencing fast growth. The use of cloud native projects in production continues to grow, with many projects reaching more than 50% use in production. This includes more than half of CNCF's graduated projects: Kubernetes (78%), Prometheus (72%), CoreDNS (69%), Fluentd (64%), and contianerd (53%). Additionally, all graduated projects saw an increase in use in production.
Containers have become even more ubiquitous, and serverless has caught on with wide swaths of the user base. Eighty-four percent use containers in production, up from 23% in CNCF's first survey in 2016. "Many new projects in serverless, service mesh, and storage are emerging as popular ways to manage or work in conjunction with containers," the study's authors report.
At least 41% of respondents are using serverless technologies. Of those who are using serverless, 80% use a hosted platform versus 20% who use installable software. Of those using a hosted platform, the top tool is AWS Lambda (53%).
Service mesh is also catching on as an approach. At least 18% of respondents are using a service mesh in production. 47% are evaluating the use of a service mesh in their organization. ZDNet's Scott Fulton provides a great definition of what this is: "an emerging architecture for dynamically linking to one another the chunks of server-side applications -- most notably, the microservices -- that collectively form an application. These can be the components that were intentionally composed as part of the same application, as well as those from different sources altogether that may benefit from sharing workloads with one another."
Moving to this smarter, more accelerated. more agile world is not without its challenges, of course. The survey finds "cultural challenges" with the development team remain the top challenge (43%). Security (40%) and complexity (38%) follow close behind. Lack of training, at 40% last year, saw a drop of 15% this year as more training options became available. Monitoring again closed out the top five (32%).