Code Analysis Finds Kubernetes Approaching Level of Maturity

An analysis of the code committed to Kubernetes suggests the 4-year-old open source container orchestration platform has reached a level of stability as the rate at which commits are being made starts to slow.

Conducted by source{d}, a provider of a code analysis tools based on machine learning algorithms, the analysis of commits since last March to the more than 2 million lines of code that make up Kubernetes finds most of the development activity surrounding Kubernetes has been focused on testing, cluster federation, machine learning, high performance computing (HPC) workloads and the ingress controller for load balancer from Amazon Web Services (AWS).

The most widely employed programming language used to develop Kubernetes features is Go, followed by Python, YAML and Markdown. The analysis shows that other languages such as Gradle and Lua have been dropped, while others such as Assembly, SQL and Java are being relied on again. The number of application programming interface (API) endpoints exported in the Kubernetes codebase now stands at 16,000, the analysis determined.

Francesc Campoy, vice president of product and developer relations at source{d}, says the ability to employ machine learning algorithms to analyze code basis soon will drive the emergence of a new category of software intelligence software. Similar in concept to a business intelligence (BI) application, IT organizations will be able to visually inspect almost any aspect of a development project’s status to, for example, identify the economic impact flawed code that enabled a cybersecurity attack might have had on the business, he notes, adding the goal should not be to punish individual developers for being behind schedule, but rather to identify and share best practices faster.

Tools such as source{d} Engine can also play a critical role in increasing confidence in application development projects, especially when they span an open source community made up of thousands of developers working for hundreds of different entities. There always will be concerns about the maturity of open source projects such as Kubernetes that are on the brink of being more widely deployed within enterprise production IT environments. Tools that provide more visibility into the overall development process should, over the long term, serve to increase confidence in core code base of any number of projects, especially when they start to span millions of lines of code.

It remains to be seen just how big a category software intelligence might become. Machine learning algorithms make it possible to cost-effectively analyze millions of lines of code. The analysis of Kubernetes conducted by source{d} involved:

  • The release schedule over the past three years.
  • The number of files/lines of code over time.
  • The number of public APIs over time.
  • The number of commits per month.
  • The top repositories and number of commits.
  • Contributors by number of commits.
  • Organizations by number of commits.
  • The number of languages over time.
  • The number of lines of code for programming languages.
  • The popularity of languages over time.

Naturally, none of these metrics will tell anyone how good the code being analyzed really it. But as indicators of reliability, those metrics do serve to provide a barometer of activity surrounding a project that could prove invaluable.

Mike Vizard

Mike Vizard is a seasoned IT journalist with over 25 years of experience. He also contributed to IT Business Edge, Channel Insider, Baseline and a variety of other IT titles. Previously, Vizard was the editorial director for Ziff-Davis Enterprise as well as Editor-in-Chief for CRN and InfoWorld.

Mike Vizard has 1620 posts and counting. See all posts by Mike Vizard