What’s Next for Systems Architecture?

One of the best ways to identify trends that can shape tomorrow’s technology is to examine the search terms and content consumed by those using online learning platforms

That’s why we have analysed the top search terms and topics that garnered the most usage on the O’Reilly online learning platform, indicating which technologies are seeing the biggest growth. The findings paint a picture of the technologies that are changing the way organisations plan, code, test, and deploy applications. This is a shift  we call the “Next Architecture”. So dive in and discover one of the defining issues that will shape infrastructure in the year ahead.

The signs of a Next Architecture

Digging into the data, we find four key aspects of the Next Architecture. Decomposition breaks up large, complex activities into small, loosely connected pieces. These activities can be turned into standalone services that can be developed independently and linked together to create a more complex application. Not that this is easy and without controversy in the software architecture community, with concerns about managing complexity and the desirability of decomposition. Clearly, it’s a topic of great interest and it’s driving usage and search trends we see on the platform. Microservices, the manifestation of decomposition, was the number 13 search term on our online learning platform in 2018.

The move towards decomposition helps explain the continued rise in cloud, which provides businesses with the flexibility to adjust, scale, and innovate their digital presence by enabling them  to spin up and manage services that support the need for dynamic, adaptable applications. AWS, Amazon’s suite of cloud-based tools, was the number four search term, and it had 28% growth in year-over-year usage on the O’Reilly online learning platform. Google Cloud (66% growth in usage over 2017) and Microsoft Azure (60% growth in usage) also increased. In addition, the topic “cloud migration” was up 40% in usage in 2018.

Containers, meanwhile, provide a lightweight way to achieve the modularity that can be leveraged with decomposition and cloud architectures. Placing an application or service in a container keeps all required components neatly packaged together for quick and portable deployment to nearly any hardware. Docker, the number seven search term in 2018, makes it easy to automate the deployment of the microservices that are created through decomposition.

Finally, the rise of microservices running on containers, which can number in the hundreds or thousands, requires orchestration tools such as Kubernetes to aid with fast and flexible deployment, as well as for efficient programming resources. Kubernetes was the number five search term in 2018, with search frequency jumping by almost 90% and rising 11 spots over 2017 – the fastest rise among any of the top search terms.

Blockchain maintains interest

Blockchain, which was one of the stars in our 2017 results, jumped seven spots to number 13 in our search terms, rising by more than a third over 2018, with Ethereum seeing a rise in interest of 66%. Platform subscribers were likely exploring blockchain to assess its potential, developing an awareness of where blockchain may fit into their strategic plans or evaluating it as an existential threat, mostly in the areas of payments, supply chain logistics, and provenance.

Python, Java, and JavaScript continue their dominance

In 2018 we saw Python, Java, and JavaScript maintain the strong positions they’ve gained on our online learning platform over the years.

The rise in Python’s popularity is explained, in part, by the increased interest in machine learning (ML). Many ML libraries, such as TensorFlow, are wrapped in Python libraries and promoted with Python interfaces. Ascendant ML tools also bolster interest in Python. For example, PyTorch, a library for computer vision and natural language processing, saw a 300% increase in year-over-year usage from a small base, and scikit-learn, another Python-based machine learning library, was up 39% in usage.

Many tools used in big data applications—notably the ones from the Apache Foundation, such as Spark and Kafka—feature Java interfaces. Thus, machine learning and big data may explain the popularity of both Python and Java. Java also remains a workhorse language for large-scale applications.

One more language appears in our top searches. Go, the number 11 search term, jumped three spots in the top search results, and content usage was up 14%. Go sits conveniently between high-level languages, interpreted languages like Python, and low-level, fast systems-compiled languages like C. It combines the syntactic ease of the high-level languages with compiler-driven performance, good concurrency support, an active and growing developer community, and the full support of Google.

Finally, the fastest usage growth we saw for any language between 2017 and 2018 was for Rust (up 44%). Rust, developed and fully supported by the Mozilla Foundation, is a systems language with near-C performance, safe, efficient memory management, native concurrency support, and a modern syntax. Developers are increasingly finding Rust a good fit when performance becomes a priority.

It will be fascinating to discover the extent to which these findings evolve as the year unfolds. At O’Reilly we’re deeply involved in the development of the Next Architecture, the maturation of blockchain, and changing patterns in programming languages, so we’ll be watching these areas to see how interest translates into real change in organisations.

About the Author

Roger Magoulas, VP of Radar at O’Reilly. Magoulas runs a team that is building an open source analysis infrastucture and provides analysis services, including technology trend analysis, to business decision-makers at O’Reilly and beyond. In previous incarnations, Magoulas designed and implemented data warehouse projects for organizations ranging from the San Francisco Opera to the Alberta Motor Club.