JFrog introduced Project Pyrsia, an open-source software community initiative that utilizes blockchain technology to secure software packages (A.K.A Binaries) from vulnerabilities and malicious code.
Every successful business knows it must prepare for technological upheavals in order to drive innovation and remain competitive. But staying on top of new technologies and trends — and forecasting those shifts — is not as easy task. New, flashy technologies appear on developers' radars constantly (and oftentimes, suddenly), heightening the difficulty of knowing what technological advancements will make a real business impact — not to mention, the challenge of turning that knowledge into real products that work reliably, consistently and fairly.
Each year, O'Reilly Media analyzes annual trends in technology usage to help the developer community stay abreast of emerging technology areas — whether it's learning about software architecture for the cloud, mastering new languages to support cryptocurrency or productizing artificial intelligence (AI). By evaluating the top search terms, targeted questions and content usage on our learning platform, we're able to share insights into the top trends influencing software development — insights that empower software developers, data scientists and other practitioners to begin the hard work of taking emerging technologies and deploying them as real-world solutions.
The results of this year's 2022 platform analysis reflect important trends in cybersecurity, cloud, programming languages and AI/machine learning. Let's dive further into each of these trends and how they're shaping software development.
Cybersecurity at the Front of the Class
A rash of significant cyberattacks over the past year fueled heightened developer interest in the tactics behind those attacks and the methods of defending against them. A wave of ransomware attacks, such as the high-profile attack on Colonial Pipeline, crippled important infrastructure, hospitals and many other businesses. Supply chain attacks, such as the well-known Kaseya attack, saw attackers place payload in software that was then distributed to thousands of clients through normal distribution channels.
This surge in attacks resulted in a large increase in content about specific topics within security. Usage of content about ransomware spiked by 270%, representing the largest increase, though security topics increased across the board, reflecting interest in defending against the range of emerging threats. Other areas that saw significant increases in usage include privacy (90% increase), threat modeling (58% increase) and identity (50% increase). The increase for content on identity is a particularly important sign. Identity management, which has become the focus of security in highly dispersed cloud environments, is central to zero trust security, in which components of a system are required to authenticate all attempts to access them. Understanding identity management is a big step toward putting zero trust security into practice, the goal of a vast majority of cybersecurity decision-makers.
The impact of cyber incidents also is evident in increased interest in governance (up 35%) and compliance (up 30%), which are central issues for managing security. This increase might indicate industry concern over the fallout from breaches and heightened interest from regulatory bodies (many of which are focused on protecting privacy). The Senate, for instance, recently passed a bill strengthening cyberattack reporting requirements. As organizations realize that they will be held accountable for managing data responsibly, we can expect that governance and compliance will continue to be a focus.
Developers Look to the Cloud
This year's analysis also reflected the continued growth of cloud services, revealing increased interest in Kubernetes (15%) and microservices (13%). As enterprises continue to invest heavily in Kubernetes and microservices, they're building cloud native applications that are designed from the start to take advantage of cloud services. Given that API gateways are an important tool for routing requests between clients and services, it makes sense that our analysis showed that interest in API gateways also grew 218%.
In this context, it's no accident that usage for containers climbed 137%. Containers are proving to be the best way to package applications and services so that they're platform independent, modular and easily manageable. While the transition to containers and using tools from the Kubernetes ecosystem to manage them is certainly challenging, it's important to remember that a few years ago, enterprise applications were monoliths running on a small number of servers and managed entirely by hand. Many businesses have now scaled an order of magnitude or so beyond that, with hundreds of services running on thousands of servers in the cloud. That kind of scale will never succeed if the organization is starting and stopping servers and services by hand. While we'll continue to monitor the transition, this is an important trend to take note of.
C++, Rust and Go Continuing to Grow Significantly
Usage of well-established programming languages tends to remain steady over time and show very slow changes year to year, so any changes serve as useful indicators for where developers should direct their attention. Take the interest in C++, which grew by 13% — a pretty notable leap. While this is in part due to the fact that it is the most-used language for game programming, C++ is also beginning to dominate the embedded systems used in the Internet of Things (IoT), a technology area of significant growth. We also suspect that C++ might also be more widely used to develop microservices.
In addition, the data showed that developers may be using newer languages like Go, which is up 23%, and Rust, which increased by 31%. The increased interest in Go and Rust continues a trend from last year, when Go was up 16% and Rust was up 94%, when content about the language was starting from near-zero. As the two languages become more established, we expect growth in both Rust and Go to continue. Rust reflects significantly new ways of thinking about memory management and concurrency. In addition to providing a clean and relatively simple model for concurrency, Go represents a turn from languages that have become increasingly complex with every new release.
Machine Learning Gets Specific
AI has certainly received a lot of press attention. Once a buzzword, AI has morphed into a technology that is has improved our daily lives. When it comes to this technology, machine learning is clearly dominating the space. Overall, usage of machine learning (ML) was up 35%. Breaking ML down to specific techniques, adversarial networks grew by 51%, reinforcement learning grew by 37% and neural networks increased by 13%. Interest in deep learning, however, fell by 14%, perhaps reflecting a shift in interest from general AI topics to specific ones.
The real work of technology isn't coming up with splashy demos; it's the hard work of taking these breakthroughs and integrating them into products, deploying services or defending IT infrastructures against attacks. Understanding these insights helps developers grasp the direction the industry is heading. By getting in front of the trends, we can then get to work on turning emerging technologies into real-world solutions.