What 2020 will bring for software development
The Chief Executive Officer at Docker, Scott Johnston, has some predictions about what 2020 will bring for software development. Three big development trends will likely surface. Gain the upper hand and learn how to go container-first before 2022, when it is expected that more than 75% of global organizations will run containerized apps.
The rising popularity of microservices-based applications is driven by the agility and velocity benefits realized by software development teams. But these benefits are not for free (“free as in beer”); orders of magnitude more application services changing more frequently and independently creates complex surface areas that risk quickly descending into chaos. What’s a development team to do? In 2020, three development trends will surface as development teams gain the upper hand on this complexity.
Go container-first (and -second and -third)
The democratization of containers in 2013 fueled their rapid adoption by developers as the fundamental unit of software development. In fact, Gartner predicts that more than 75% of global organizations will be running containerized applications by 2022, in comparison to fewer than 30% in 2019 (Gartner). The appeal of containers to developers stems from their clear separation of concerns between development (“inside the container”) and operations (“outside the container”), their automate-ability, and their portability – they can run anywhere, agnostic to the underlying Linux distribution and infrastructure. As a result, container-first approaches allow a clear path to the cloud for all applications – COTS, custom, brownfield, and modern microservices. In 2020 we’ll see more organizations adopt container-first strategies to simplify complexity by standardizing the unit of work across their development teams.
Automate or die
With container-first standardizing the unit of work for app development, pipeline automation is the next step for taming complexity. Modern development requires multiple tools, including IDEs, version control systems, continuous integration (CI) services, vulnerability scanning, and container registries. So as to enable developers to focus on their apps – not the tooling – and iterate quickly on changes, automation of their delivery pipeline incorporating their tools is imperative. In 2020, expect more and more organizations to embrace automation as the foundation for successful adoption of microservices-based apps.
Reuse > Reinvent
While the software developer population is poised to grow 21% from 2018 to 2028 – a rapid rate in comparison to the average role (Bureau of Labor Statistics), demand still outstrips supply. To address this growing demand for apps, developers will increasingly look to reuse existing code instead of reinventing the wheel. For example, we are seeing two million searches a day for application container images on Docker Hub, leading to six billion pulls a month. Such signals suggest the desire of developers to avoid having to start with a blank piece of paper each time. And with the container serving as the basic unit of work for microservices-based apps, it’s becoming increasingly easier for development teams to discover and reuse these units in their apps vs rewriting them themselves. In 2020, look for an increasing percentage of microservices to be existing versus newly-written code.