Containers and Application Development
We wanted to know how containerization has changed the way that applications are deployed. Here's what the experts say.
Join the DZone community and get the full member experience.Join For Free
To understand the current and future state of containers, we gathered insights from 33 IT executives who are actively using containers. We asked, "How has the orchestration and deployment of containers changed application development?"
Here's what they told us:
- Containers have improved the speed with which you can spin up containers, which results in better tests and greater access to tests and reporting. It's a lot faster, better, and easier. You don't have to wait for IT to spin up a VM.
- Containers provide greater portability and developer control. In reality, it depends on the user if they are more traditional in trying to migrate, having the deployment factor – image-based deployment faster, easier, less hectic like an automation framework. Containers enable you to load at the factory rather than at the dock. Whether you are new school or old school, there is a convenience of automating at the factory rather than the dock which is beneficial. You can get 1,000 containers up in seconds versus 1,000 servers in three days. You don’t have to play the resource game, and you can separate the developer use case from the production use case.
- Containers facilitate agility, speed, and autoscaling. Container density per host is up resulting in greater cost efficiencies. Ephemeral-ness is simple to run a stateless application in containers; however, the need to maintain state has slowed adoption. People are starting to figure that out and see more stateful applications running on containers.
- There has been an evolution of the CI/CD pipeline to automate and accelerate code for development and production throughout the entire enterprise. Applications can scale much more easily. Updates and upgrades are easier. Containers have changed the go-to-market strategy by emphasizing infrastructure needs up front and delivering on the promise of being easy to scale. Customers can move tools to the cloud.
- The ability to easily fire containers with different software stacks of different versions has enabled developers to deliver a quality application in less time. Containers allow developers to scale applications artificially to test stability and robustness before releasing to customers.
- No environmental restrictions make scaling easier as parameters change dynamically. The location-agnostic, geographically distributed nature of containers gives developers freedom. Starting an application in one location, bringing it down, and restarting in another location is easier. Containers have become the framework of choice.
- The key component containers have helped resolve is getting the environment isolated. This helps streamline normal perils that go along with environmental differences. Organizations with good processes are building containers off the same base image.
- Servers, containers, service-oriented architectures, so many domain services are separated easily to access a certain specification. You're able to see the changes they actually make in the environment. Between container-based technology and microservices, you can break down into too many pieces that lead to the complexity of integration. Just because you have the capability to do something doesn’t mean you should do it.
- Prior to containers if you did not have a portable unit like a container you had to build the packaging and deployment harness of that application with a configuration management tool for every application. The result is too much friction and too many attack vectors. By standardizing tooling around the deployment and management of containers, you get one-time set up of development and deploy with agility eliminating the configuration management tax for every single service.
- Containers enable a new way of continuous integration and continuous deployment. Immutable container images, which are configured from the outside, are moving through the DevOps pipelines into production.
Here’s who we spoke to:
- Tim Curless, Solutions Principal, AHEAD
- Gadi Naor, CTO and Co-founder, Alcide
- Carmine Rimi, Product Manager, Canonical
- Sanjay Challa, Director of Product Management, Datical
- OJ Ngo, CTO, DH2i
- Shiv Ramji, V.P. Product, DigitalOcean
- Antony Edwards, COO, Eggplant
- Anders Wallgren, CTO, Electric Cloud
- Armon Dadgar, Founder and CTO, HashiCorp
- Gaurav Yadav, Founding Engineer Product Manager, Hedvig
- Ben Bromhead, Chief Technology Officer, Instaclustr
- Jim Scott, Director, Enterprise Architecture, MapR
- Vesna Soraic, Senior Product Marketing Manager, ITOM, Micro Focus
- Fei Huang, CEO, NeuVector
- Ryan Duguid, Chief Evangelist, Nintex
- Ariff Kassam, VP of Products and Joe Leslie, Senior Product Manager, NuoDB
- Bich Le, Chief Architect, Platform9
- Anand Shah, Software Development Manager, Provenir
- Sheng Liang, Co-founder and CEO, and Shannon Williams, Co-founder, Rancher Labs
- Scott McCarty, Principal Product Manager - Containers, Red Hat
- Dave Blakey, CEO, Snapt
- Keith Kuchler, V.P. Engineering, SolarWinds
- Edmond Cullen, Practice Principal Architect, SPR
- Ali Golshan, CTO, StackRox
- Karthik Ramasamy, Co-Founder, Streamlio
- Loris Degioanni, CTO, Sysdig
- Todd Morneau, Director of Product Management, Threat Stack
- Rob Lalonde, VP and GM of Cloud, Univa
- Vincent Lussenburg, Director of DevOps Strategy; Andreas Prins, Vice President of Product Development; and Vincent Partington, Vice President Cloud Native Technology, XebiaLabs
Opinions expressed by DZone contributors are their own.