Thanks to our friends at CloudPassage for sharing the following suggestions:
Containers are a great way to add agile delivery to an agile development process. They represent the next step in the evolution towards faster application development and delivery by increasing developer efficiency and offering easier and faster deployment.
The biggest advantages of container adoption center around enabling agile delivery and ease of delivering microservices. Adopters are quick to realize the benefits, as the average Docker user quintuples their container count within nine months.
There is a learning curve for enterprises who have never dabbled with container adoption before, particularly when it comes to delivering and securing a containerized application.
In order to maintain the most effective and efficient containers usage, be sure to periodically revisit your build processes and refactor for smaller containers with fewer layers. Keep an eye on resource utilization, especially around storage—according to a recent survey, persistent storage is the most common challenge for running containers.
If you’re unsure of the best use of containers, the ease of conversion means ephemeral workloads are usually a good target. Workloads requiring persist disk storage (like database servers, for instance) can require a little more effort to containerize.
When considering investing in containers, have clear expectations of the benefits you expect to gain before you broadly adopt containerization. There are tools and platforms that can help with aspects of automating the containerized environment, and it's good to understand what the ecosystem looks like before you implement it.
Involve your security team early on, because containerization can have the added benefit of enabling a more proactive approach to security through visibility into pre-production environments.
What are suggestions do you have for companies considering, or just getting started with containers?