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?

41%38%21%I’m involved to some extentI’ve only heard about itIt’s one of my key responsibilities

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

43%45%12%It’s one of my key responsibilitiesI’m involved to some extentI’ve only heard about it

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

How familiar are you with Docker?

24%26%24% 4%16% 7%I'm not very familiarI know what Docker is, but haven’t used it a lotI've used Docker to run a container beforeI’ve contributed to DockerfilesI’ve written new DockerfilesI have a deep understanding of 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.

5%14%22% 5%31%22%I'm not very familiarI know what Docker is, but haven’t used it a lotI've used Docker to run a container beforeI’ve contributed to DockerfilesI’ve written new DockerfilesI have a deep understanding of Docker

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?

54%21% 5%15% 5%I'm not very familiarI’ve run containers using Docker ComposeI’ve contributed to Docker Compose YAML filesI’ve written new Docker Compose YAML filesI have a deep understanding of 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%).

23%21% 7%31%18%I'm not very familiarI’ve run containers using Docker ComposeI’ve contributed to Docker Compose YAML filesI’ve written new Docker Compose YAML filesI have a deep understanding of Docker Compose

What configuration management tools do you / your organization use?

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

38%22% 7% 7% 4% 9%32%AnsibleCustom solutionChefPuppetSaltOtherNone

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?

DockerVagrantPackerOtherNoneDocker61%Vagrant7%Packer3%Other2%None35%

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.

21%21%17%15% 6% 2% 1% 4%37%I use configuration management toolsTerraformCustom solutionAWS CloudFormationAWS CDKOpenStack HeatPulumiOtherNone

How do you use containers?

This question was shown to respondents who use Docker.

67%I run multiple applicationcontainers
49%I run my application in onecontainer and use backingservices
37%I run dockerized utilities
2%Other

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

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

37%14%10% 7% 1% 1% 3%44%KubernetesAmazon ECS / FargateDocker SwarmAmazon EKSHashicorp NomadMesos or DC / OSOtherNone

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.

20%16%25% 8%17%14%I'm not very familiarI’ve run some Kubernetes configuration through a CI toolI’ve run some pods in KubernetesI’ve contributed to Kubernetes configurationsI’ve created new Kubernetes configurationsI have a deep understanding of 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?

Docker ComposeDocker runOutside containersMinikubeOtherDocker Compose58%Docker run44%Outside containers17%Minikube7%Other3%

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?

58%44%17% 7% 3%Docker ComposeDocker runOutside containersMinikubeOther

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?

37%19%12%11%10% 9% 7% 6% 4% 1% 8%I don't keep artifactsDocker HubAmazon S3I don’t knownpmNexusJFrog ArtifactoryCustom toolNuGetBintrayOther

Hosting

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

53%51%46% 1%Cloud ServicePrivate ServersLocallyOther
53%51%46% 1%Cloud ServicePrivate ServersLocallyOther

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

Row
Column
Value
-
Just me2–1011–5051–500501–1,0001,001–5,000More than 5,000Not sure
63%47%46%40%42%37%33%49%Locally
51%55%60%56%52%51%49%47%Cloud Service
34%43%46%56%60%66%68%61%Private Servers
00.68
Just me
2–10
11–50
51–500
501–1,000
1,001–5,000
More than 5,000
Not sure
Row
Column
Value
-
LocallyCloud ServicePrivate Servers
00.68

Which cloud services do you use?

64%25%22%15%12%10% 2% 2% 1% 1% 1% 1% 8% 2%Amazon Web ServicesGoogle Cloud PlatformMicrosoft AzureDigitalOceanAlibaba CloudHerokuOVHHuawei CloudRedHat OpenShiftRackspaceCloud FoundryIBM SoftLayerOtherNone
71%25%24%18%11% 8% 3% 2% 1% 1% 1% 0% 0% 7% 1%Amazon Web ServicesGoogle Cloud PlatformMicrosoft AzureDigitalOceanAlibaba Cloud (Aliyun)HerokuOVHRedHat OpenShiftCloud FoundryHuawei CloudRackspaceIBM SoftLayerYandex CloudOtherNone

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

The usage of cloud services depending on company size

Row
Column
Value
-
Just me2–1011–5051–500501–1,0001,001–5,000More than 5,000
30%46%52%58%55%54%48%Amazon Web Services
21%15%7%4%2%2%2%DigitalOcean
14%10%13%9%11%13%10%Google Cloud Platform
10%5%3%2%2%1%2%Heroku
7%9%10%9%15%16%24%Microsoft Azure
2%5%10%13%9%9%6%Alibaba Cloud
17%10%6%5%6%6%7%Other
00.58
Just me
2–10
11–50
51–500
501–1,000
1,001–5,000
More than 5,000
Row
Column
Value
-
Amazon Web ServicesDigitalOceanGoogle Cloud PlatformHerokuMicrosoft AzureAlibaba CloudOther
00.58

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?

87%35%34% 1% 1%LocallyOn remote serversIn containers on my machineI'm not sureOther
83%54%49% 0% 1%LocallyIn containers on my machineOn remote serversI'm not sureOther

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.

55%54%33% 1%On remote serversInstalled locallyIn containers on my machineOther
62%51%47% 2%On remote serversIn containers on my machineInstalled locallyOther

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

11% 7%12%37%12% 4% 5%12%We don’t have such backing services123-56-1011-20>20I don’t know

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

Row
Column
Value
-
JavaScriptJavaPythonPHPSQLTypeScriptC#C++GoKotlin
11%10%13%6%10%8%16%22%6%10%We don’t have such backing services
8%8%7%8%7%6%7%10%4%7%1
13%13%11%13%14%11%15%14%12%9%2
40%33%34%46%40%39%34%21%37%31%3-5
10%10%13%14%12%14%14%7%18%14%6-10
3%4%5%3%4%6%2%2%5%6%11-20
3%6%5%3%6%4%4%4%8%6%>20
11%13%12%7%9%12%9%20%9%19%I don’t know
00.46
JavaScript
Java
Python
PHP
SQL
TypeScript
C#
C++
Go
Kotlin
Row
Column
Value
-
We don’t have such backing services123-56-1011-20>20I don’t know
00.46

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.

9%12%28%13% 6%11%22%123-56-1011-20>20I don’t know

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?

64%24%15% 9% 2%I don't use cloud services during developmentI develop applications with source code stored in the cloudI debug applications running in the cloudI don't build applications locally, I am using a remote machine in the cloudOther

I use cloud services because:

52%40%29%23%17% 6%Data that I'm working with is stored in the cloudIt is hard to reproduce the application environment for local developmentInformation security reasonsMy local machine is not powerful enough for builds / developmentSpecific hardware is installed on the remote machineOther

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.