These questions were only shown to respondents who had indicated “DevOps Engineer / Infrastructure Developer” as one of their job roles, and to 1/5 of all other respondents taking the survey, chosen randomly.

DevOps

Infrastructure development

To what degree are you personally involved in infrastructure development?

It is not surprising that DevOps engineers are more involved in infrastructure development than other developers.

The salaries of DevOps engineers are higher than those of developers in general.

How familiar are you with Docker?

The distribution of shares with respect to the main platforms for which Docker users develop matches the distribution among the general developer population: Web Backend (88%) and Frontend (65%). On the other hand, the shares for Server / Infrastructure (44% vs 26%) and Cloud (29% vs 17%) are vastly different from the shares for those categories among the general developer population.

Docker users are 3 times more likely to be found working as DevOps engineers or infrastructure developers, 2 times more to be architects, and 30% more likely to serve as team leads. They are also more likely to have a senior position.

How familiar are you with Docker Compose?

Developers who use Docker Compose prefer Linux (64% vs 47%) and macOS (58% vs 44%) more than developers do in general, and they also use Windows as their development environment at significantly lower rates than the overall developer population (44% vs 61%).

What configuration management tools do you / your organization use?

This question was shown to respondents who are involved in infrastructure development.

The market for configuration management tools has not changed. Ansible remains the most popular choice, while second place belongs to custom solutions.

It is interesting that a plurality of developers who are not involved in DevOps use custom solutions for configuration management relatively more often, while DevOps engineers tend to prefer listed solutions.

What server templating tools do you / your organization regularly use?

Interesting fact

DevOps engineers are more likely than other developers to use the Go and Shell scripting languages, while they are less likely to use C or C++.

Curiously, people involved in DevOps use TypeScript at higher rates and JavaScript at lower rates than the rest of the community.

What infrastructure provisioning tools do you / your organization use?

This question was shown to respondents who are involved in infrastructure development.

How do you use containers?

This question was shown to respondents who use Docker.

What container orchestration services do you use in production, if any?

This question was shown to respondents who are involved in infrastructure development.

Until this year, the popularity of Kubernetes had been growing rapidly. Based on our survey data, it was used by 16% of developers in 2018, 29% in 2019, and reached a staggering 40% in 2020. In 2021, however, the popularity of Kubernetes stopped increasing.

How familiar are you with Kubernetes?

This question was shown to respondents who use Kubernetes.

90% of developers who use Kubernetes have SSD discs, and they also typically have above average amounts of RAM on their computers.

How do you run your containerized application during development?

This question was shown to respondents who responded with one of the following answers to the question "How do you use containers?": "I run my application in one container and use backing services (e.g. database)" or "I run multiple application containers (e.g. microservices)".

It seems there are some regional preferences: Developers in China and India prefer Docker run, while Docker Compose is a little more popular in the US, Japan, and Europe.

How do you run your containerized application during development?

PHP developers prefer to use Docker Compose, while Python developers prefer Docker run over other containerized applications. None of the other languages had large differences with respect to their users’ preferences for containerized applications.

Where do you keep your artifacts, if you do?

Hosting

Where do you host your databases and / or services and / or applications that you or your company develop?

Hosting of databases and / or services and / or applications by company size

Which cloud services do you use?

Amazon Web Services is the leader in cloud solutions, and its popularity continues to grow.

The usage of cloud services depending on company size

Amazon Web Services is clearly used widely by DevOps engineers, as more than 70% work with it. Meanwhile, Google Cloud Platform and Heroku are slightly more popular among developers who are not involved in DevOps.

DevOps specialists are also more likely than developers in general to use several cloud services.

During development, where do you run and debug your code?

During development, where do you run your backing services?

Backing services are third-party applications your code connects to, e.g. a database, a queue broker, or a mail server.

How many separately running backing services (those you don’t develop, like MySQL, Redis, CloudFront) does your application have?

The median application being developed today consists of 3–5 components. Additionally, 3–5 backing services are typically used.

How many separately running backing services (those you don’t develop, like MySQL, Redis, CloudFront) does your application have?

By language

How many separately-running components does your application have, excluding backing services?

These are components that you develop or that are developed by others at your company.

Cloud services

36% of respondents use cloud services in their development workflow. Cloud services are most commonly used for working with data stored in the cloud and for the reproduction of the application environment for local development.

How do you use cloud services in your development workflow?

I use cloud services because:

Thank you for your time!

We hope you found our report useful. Share this report with your friends and colleagues.

Join JetBrains Tech Insights Lab

Take part in surveys and UX studies to make JetBrains products easier to use yet even more powerful. For participating in our research, you’ll also get the chance to earn rewards.

If you have any questions or suggestions, please contact us at surveys@jetbrains.com.