As the Kubernetes project nears 2 million lines of code (including all languages and generated files), the 4-year-old open source project is showing many signs of maturity, according to an analysis by source{d}, a company enabling Machine Learning for large-scale code analysis.
The velocity of commits for the core Kubernetes project seems to be slowing down as the community focus moves to infrastructure testing, cluster federation, Machine Learning, and HPC (High Performance Computing) workloads management. With just under 16,000 methods, the Kubernetes API also seems to be stabilizing despite its high level of complexity.
This analysis leverages source{d} Engine to retrieve and analyze all the Kubernetes git repositories through SQL queries to get insights into the project codebase history, as well as emerging trends.
“Kubernetes has clearly evolved from one of the most active open source projects of all time to a production-ready platform for the enterprise,” said Francesc Campoy, vice president of product and developer relations at source{d}. “These source{d} Engine queries have revealed useful insights into the relatively young Kubernetes project; imagine the possibilities for large companies which have very heterogeneous and old codebases.”
Here are some details on the findings of the analysis:
The analysis has shown that, While the number of lines of code continues to grow towards the 2 million mark, the commit velocity has been decreasing since March 2018, which implies that the project has reached a high level of maturity and stability. Most of the contributions are now directed to upgrades and tools for Kubernetes testing (infra-test) as well as the cluster federation, Machine Learning / HPC workloads and the AWS ALB Ingress controller Special Interest Groups.
Google is the main contributor to Kubernetes by number of commits. However, individuals (those with @gmail.com and @github.com emails) achieve a similar number. The exact number of organizations contributing is harder to measure, but the analysis shows that people from more than 600 different email domains have contributed, including major cloud providers such as Red Hat, Huawei and Microsoft.
At its outset in 2014, the Kubernetes project had 15 programming languages, a number that quickly increased to 35 by the beginning of 2017. Given that Kubernetes came from Google, it’s not surprising to see that Go is by far the dominant language followed by Python, YAML and Markdown. The analysis shows that other languages such as Gradle and Lua have been dropped while some others like Assembly, SQL and Java made a comeback.
The number of API endpoints exported in the Kubernetes codebase is stabilizing at 16,000 which confirms a level of both maturity and complexity. But the decrease between some releases (during 2017) might reveal a lack of backward compatibility.
Full copies of the report can be downloaded here. Companies interested in getting their own code base analyzed can request an analysis here.
Address:
3003 East Chestnut Expy
STE# 575
Springfield, Mo 65802
Phone: 1-844-277-3386
Fax:417-429-2935
E-Mail: contact@appdevelopermagazine.com