Containers and Microservices Are Hitting the Mainstream
NGINX is the heart of the modern web. The NGINX community includes some of the most forward-thinking minds in the application development and deployment world. More than half of the world’s busiest sites and applications run on NGINX – so we used our unique position in the marketplace to survey modern technology professionals about their thoughts and perceptions of both the current state and the future of application development and deployment.
The dominance of the web and the explosion of devices that connect us have fundamentally changed the state of application development and deployment. Our goal with the study was to learn from the knowledge and experiences of those who are working with these tools every day.
We heard from more than 1,800 IT professionals – including developers, application architects, system administrators, DevOps professionals, and CIO/CTOs. These professionals are distributed among organizations of all sizes and have varying levels of experience in the industry. Learn more about the survey methodology below.
HERE ARE A FEW OF OUR FINDINGS
Containers Are Hitting Primetime – Developers Are Leading The Charge
Technology teams today must be agile – able to turn on a dime whenever the business demands them to. These demands are increasingly ad hoc in response to market factors, bursts in traffic, or unexpected growth, which means that deploying applications across static, inflexible infrastructure is out. Containers, like the popular Docker software, provide an efficient means of delivering applications.
While it’s no secret that containers are all the rage among developers, it seems organizations have been more resistant to implementing this new technology – that is, until now. With a growing number of open source options, developers are taking charge and are gaining more decision-making power in organizations, with 74% of respondents saying developers are among those responsible for choosing the organization’s application development and delivery tools.
Due to this, 2/3 of organizations are either investigating containers, using them in development, or using them in production.
One in five of those surveyed are already using containers in production, with 1/3 of those running more than 80% of those workloads on containers. Perhaps more tellingly, half of those running containers are using them for mission-critical applications, meaning more organizations are putting their full trust in container technology.
According to those running containers, rapid deployment is the most important benefit, followed closely by scalability, echoing the sentiment that speed and performance are the most important qualities for today’s applications.
Microservices Are Entering Mainstream
Many of the technologies, processes, and skills required for organizations to be successful continue to evolve, with increasing expectations from consumers for instantly available, highly personalized experiences. Even applications themselves are being disrupted, with the disaggregation of applications into microservices emerging as the new normal.
After bursting onto the scene a few years ago, microservices are continuing to increase in popularity. Today, nearly 70% of organizations are either using or investigating microservices, with nearly 1/3 currently using them in production.
Prevailing opinion would say that microservices are more common among smaller, nimble companies. We found that half of medium companies and 44% of small companies are already using microservices in development or production. Large companies? Not so much. The use of microservices is less common among large companies, where the wheels of change often move more slowly. 38% of large companies said they aren’t using microservices at all, and 26% are researching them, but have not yet begun to implement them. Only 36% of large organizations are using microservices in development or production.
In today’s always-on society, what sets a great organization apart from the rest – or, more urgently, what separates winners from losers – is the ability to innovate, adapt, and build extraordinary new products and experiences faster than the competition. Large organizations need to learn to adopt these new technologies or risk falling even further behind.
App Performance & Security Are Still Critical, With Organizations Struggling To Improve
Security, uptime, and performance ranked as more critical to organizations than innovation and adding new features. These same qualities were important to their customers, with performance and implementation of feedback ranked first and second highest.
However, most engineering organizations design their processes first and foremost around new feature development. A new suite of tools has emerged, like microservices and containers, making it easy to add new features and deploy updates rapidly, but many organizations are forgetting about some of the basics in the design and deployment process.
According to the survey, application performance is an issue for an overwhelming 76% of organizations, and 25% of respondents claim their applications are outright “slow.” So the majority of organizations recognize the gap, yet many organizations don’t dedicate time and resources to address the issue. In fact, 1/3 said their organizations address performance infrequently or not at all.
The most popular technique for improving security and protecting against data breaches is to install a web application firewall (WAF). Overall, 57% of organizations use a WAF. Among smaller companies WAF usage was even higher, up to 69%. Infrastructure anti-DDoS (at Layers 2 and 3) is gaining popularity in small and medium organizations as well, whereas a higher percentage of large companies are using anti-virus.
The Cloud Continues To Impress; AWS Remains Dominant
The cloud – public and private – is one of the most impressive new technologies to emerge in the past two years. Public cloud usage remains much more common than that of private clouds. When asked which private cloud their organizations use, half of respondents said they don't use private cloud. By comparison, when asked which public cloud they use, only 14% said they don’t use public cloud.
When asked what they believe is the best cloud service, half of respondents said Amazon Web Services (AWS), which is more than Google Cloud Platform, Microsoft Azure, and Rackspace combined. The popularity of AWS was even more pronounced for medium and large companies, where 3/4 of respondents said AWS was the best cloud service. AWS is also the most common in terms of implementation, with 41% of organizations who are using the public cloud using AWS.
When it comes to selecting a cloud service, organizations want a wide range of services and features. Most importantly, they want a product that is easy to use and scalable, at an accessible price point.
Developers Name Their Most Loved And Hated Technologies
In the past two years the most popular application development tools are those that are easy to use, fast, and scalable. Respondents named Node.js and Docker specifically, with Docker being especially popular among medium-sized and large companies.
On the other end of the spectrum, tools that have been most disappointing to respondents are those that they characterize as bloated, slow to evolve, and complex – if they evolve at all. Respondents named Windows/Microsoft and Java as the most disappointing technologies overall.
In addition to containers and microservices, other technologies gaining popularity include:
Continuous integration and continuous development (CI/CD): The majority of respondents say they are either using both CI and CD, or are using CI, and either investigating or planning to use CD.
Orchestration and automation tools: Custom scripts remain the most popular overall. Configuration management and CI/CD were also popular.
Application availability techniques: Self-managed distributed systems are popular overall. CDN, global load balancing, and managed services in the public cloud follow closely behind. Global load balancing is the most popular for large companies, while CDN and public cloud services are popular for fast-moving companies.
Daily Software Release Is Now The Goal, But Most Organizations Aren’t Ready
To keep up with increasing consumer expectations, 70% of organizations are releasing new code at least once a week, with 28% releasing it multiple times per day. Continuous integration and continuous delivery are becoming development best practices. Code is tested and deployed into increasingly production-like environments, limiting deployment issues and software bugs because changes are being reviewed on an ongoing basis. To put these best practices into action, organizations need automated processes and a collaborative working environment among stakeholders in the development cycle.
Today, 27% of respondents have a mature process using both CI and CD. Of the remaining respondents, 34% are using CI, and half of those have plans to do CD in the future.
Many respondents indicated they would like to implement CI and CD, but the necessary level of collaboration or understanding is not yet widespread in their organizations. For example, one respondent put it this way:
“Sounds great but still trying to figure out how to do it well,” said the respondent. “This involves dealing with stakeholders who may not understand that an iteration may not equal the finished product.”
The Biggest Challenges Holding Back Your Developers
Organizations are facing many deployment challenges – some that have been around as long as software development itself, and some that are arising due to new technology platforms and the more stringent demands of the digital age.
The survey found that success in application development and delivery is driven heavily by tools and processes that make collaboration and communication easy across teams. But when asked what is not working well, IT professionals noted issues in several different areas. Some of the most critical include:
The constant trade-off between quality of code and expected speed of delivery
Slow release of code because of organizational barriers, risk of outages, and slow internal processes
Multiple and increasingly complex environments to which code must be deployed
Lack of automation tools and processes
Lack of central management, accountability, and collaboration tools
Use of multiple development tools – from legacy technologies to the next new thing – without firm commitment to any one tool
Thank you to all the community leaders who participated in the survey to make this report possible. The future of the modern web will be defined by the people working every day with the tools and technologies to drive innovation. The NGINX community is made up of professionals on the forefront of the technology industry, and what they’ve shared has given us a glimpse into where the industry stands today, and what the future holds. Some of what we found we expected. Other findings surprised us. Overall, we’ve gained an interesting perspective into an important moment within an ever-evolving industry.