Security, process engineering, and 12-factor application methodology are just three things suggested.
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, "What do developers need to keep in mind when working on containers?"
Here's what they told us:
- Don't always look for what is faster and easier. Visual basic was cool when I was in college, but it died out. Now everyone is doing NodeJS development which is more complex. With open source making things so prolific, be careful with hype and fashion versus actual technical tradeoffs and understanding engineering. Bring process engineering best practice – refine processes. Start to understand the cost of the process engineering. Strike a balance between right tools and freedom but make choices based on process engineering rather than fashion statements.
- Look for examples. Traditionally for a particular programing language, there is always a “HelloWorld” tutorial. Look for a “HelloWorld” tutorial for K8s, Docker, and Docker Swarm. Learn how to organize an application to optimize for containers and orchestration guidelines like the 12-Factor application methodology. The more the application conforms to the guidelines, the easier it will run on the orchestration framework.
- Understanding that containers are immutable is important, and the fact that the entire architecture needs to be twelve-factor. It’s not just "lift and shift" your applications and you’re done. Developers need to understand the increased complexity of configurations containers introduce.
- Have intermediary milestones. There is danger in reading about an elaborate thing with an intense multi-node system in one fell swoop. It’s doesn’t happen like that. Understand what it does and does not do. Pause and fully understand before you take the next step. Learn about how the system behaves and performs. Understand what happens with container and pod management at a larger scale so you can anticipate what is going to happen.
- Think about real-time and distributed logging and tracing to enable better debugging and monitoring in production environments.
- 70% of companies are fully on K8s, 25% are evaluating. Kubeless (FaaS) is a great way to get access to containers since tt simplifies K8s even further and hides everything in the background. The continued success of CI/CD pipelines keeps things going.
- 1) Read the documentation, test the performance, and then read the documentation again. 2) Break your container scheduler (K8s, Docker Swarm, etc.) and see what happens (e.g. turn off the etcd – do your pods still work? Do your load balancers still do their job? What happens with autoscaling?)
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.