Docker Survey Surfaces Complex Application Development Landscape
A survey of 885 application developers published today by Docker, Inc. finds 80% are using containers to build applications but only 36% are constructing them solely using microservices. In comparison, nearly half (48%) are working on hybrid monolithic/microservices applications, while 35% are working solely on monolithic applications.
A total of 29% said they were transitioning from monolithic to microservices, compared to 11% transitioning from microservices to monolithic applications, the survey also found.
Julia Wilson, a UX researcher for Docker, Inc. said the research suggests the lines between various architectures relied on to build applications are continuing to blur.
Among developers using containers, more than three-quarters (76%) said usage spans the entire software development lifecycle, compared to 65% and 61% that cited testing and production, respectively.
The most widely used tools among developers working with containers are Docker Compose (71%), Docker Engine (57%), Kubernetes (42%), and Kubernetes with Docker Desktop (35%).
Overall, the survey finds most developers are running Linux (53%), followed by macOS (50%) and Windows (46%). JavaScript is the most widely used programming language, followed by Python (45%), Node.js (36%), and Java (33%). The most popular data stores are PostgreSQL (45%), MySQL/MariaDB (38%), Redis (35%), and Amazon RDS (33%). The highest-rated tools are GitHub (73%), VSCode (71%), Jet (63%) and editors (62%).
The most widely used continuous integration/continuous delivery (CI/CD) platforms are GitHub Actions (62%), GitLab (56%) and ArgoCD (53%), while the most widely used provision tools are Terraform (60%), Google Cloud Platform (53%) and Ansible (53%). The most widely used monitoring tools are Prometheus (61%), Grafana (59%) and Elastic (53%).
The three development processes that garnered the most positive responses were ease of writing/editing code once the environment is ready (55%), continuous integration and debugging in development (tied at 53%), and ease of deploying changes (51%). The processes that earned the most negative responses were documentation for code bases and maintenance (32%) and debugging in production (29%). More than a quarter (28%) said they want better testing tools. When we asked where their team gets stuck in the development process, respondents cited planning (31%), estimation (24%), and designing (22%).
The most positively rated aspects of application development are feeling empowered to experiment and take risks (49%), collaboration among team members and other stakeholders (48%) and learning and improving as a team(46%). Areas of least efficiency that were top-selected were a balance of technical debt versus feature work (32%) and uninterrupted time for deep work (28%).
Nearly Half of Application Developers use ChatGPT
Nearly two-thirds (64%) also report using artificial intelligence (AI) for tasks such as code writing (33%), documentation (29%), research (28% and writing tests (23%), with 46% working on machine learning in some capacity. Nearly half (46%) are using ChatGPT, followed by GitHub Copilot (30%) and Gemini from Google (19%).
Overall, generative AI (40%) and AI assistants for software engineering (38%) are viewed as the most important trends in software development. However, while 65% view AI positively, 45% also noted it is overhyped. More than half (55%) said AI allows them to focus on more important tasks. Only 23% said AI was a threat to their jobs and 19% noted AI makes their jobs more difficult.
Conversely, only 14% of respondents identified shifting security to the left as an important industry trend. Just under a third (32%) rated security-related tasks as difficult/very difficult. Responsibility for security falls to developers (42%), followed by security engineers (36%), DevOps teams (35%), DevSecOps teams (28%), and platform engineers (25%). The most widely used security tools are SonarQube (24%), followed by AWS Security Hub (20%), Snyk (18%), JFrog (15%), and Docker Scout (14%). A quarter (25%) said they need better security tools.
Finally, 59% report contributing to an open-source software project. Of the 41% who did not contribute, a large majority (72%) expressed interest. More than half of respondents (57%) said their employer allowed them to contribute to an open-source software project.
Very few organizations are going to have the same approach to application development but the one clear thing is that as the pace of application development continues to accelerate in the age of AI, existing approaches to the software development lifecycle will need to evolve to meet increased demands for a faster pace of innovation.