Experfy
No Result
View All Result
  • Home
  • Future of Work
  • AI & Machine Learning
  • Big Data & Cloud
  • IoT & Automation
  • Software
  • ConsumerTech
  • HealthTech
  • FinTech
  • Home
  • Future of Work
  • AI & Machine Learning
  • Big Data & Cloud
  • IoT & Automation
  • Software
  • ConsumerTech
  • HealthTech
  • FinTech
No Result
View All Result
Experfy Insights
No Result
View All Result
Home Big Data & Cloud

Nine Pillars of Containers Best Practices

Marc Hornbeek by Marc Hornbeek
July 24, 2019
in Big Data & Cloud
4 min read
0
Nine Pillars of Containers Best Practices
Share on FacebookShare on Twitter

While it is true you can easily “containerize” nearly any software quite quickly, this alone will not realize the benefits of an effective container deployment. Those who are serious about containers will do well to learn from others. This blog enumerates nine pillars of best practices for containers.

Nine Pillars Of Containers Best Practices

Container Best Practices

Leaders explain why containers are valuable to the business. Containers increase speed and agility for deploying an application when implemented effectively. Containers aren’t tied to software on physical machines, providing a solution for application-portability.

  • Ensure documentation and training cover the nine pillars of container best practices described in this article.
  • Maintain visibility into deployed containers to validate performance and ensure lessons learned are put into action.

Culture in organizations that work well with containers reflect the value of containers. These organizations strive for consistency and repeatability, delivering predictable reliable services and products at any scale.

  • Developers own the containers that are used to run their apps.
  • Groups own their portion of the environment and exports it as a service.
  • Containers are contracted deliverables between development and operations.

Application Design: Building containers that scale require application designers to master the best practices for building and running containers.

  • Applications follow the 12factor.net model.
  • Applications are as small and follow the single responsibility principal.
  • Content is limited to what is needed at runtime.
  • Build patterns include only dependencies needed for builds.
  • Container files have the least number of layers for readability.
  • Caching efficiency is increased by ordering things from least to most often changed.

Continuous Integration (CI) within organizations that have multiple teams working concurrently on a project and different code bases is challenging. During the integration stage it is critical to assess the application and understand the impact of code changes. Considering dependencies, it is important to know how containers affect integration, testing and acceptance stages prior to deployment to production.

  • CI pipeline uses the same container platform and concepts as the applications.
  • Container images are built from one source code version.
  • Images have tags following a standard.
  • Automated pipelines move containers between environments.
  • Layer 7 routing is used for cluster ingress, and application routing.

Continuous Testing (CT) with containers has significant advantages when best practices are followed. Containers allow the job of orchestrating many test configuration variations to be migrated from infrastructure teams to developers. Developers specify what their application needs in a Dockerfile during the testing phase, and their continuous deployment tool builds and runs the container.

  • Statically test container contents before building the container.
  • Place in a container everything a service or application needs for testing.
  • Test using the same container definition that is deployed.
  • Test the container before pushing it to a shared environment

Continuous Monitoring with containers considers the ephemeral nature of containers and proliferation of objects, services and metrics to track. Instead of tracking the health of individual containers, track clusters of containers and applications using monitoring agents.

  • Agents are installed on host servers, which push commonly formatted monitoring log data to a centralized monitoring application.
  • Monitor applications instead of just infrastructure.

Continuous Security with containers, contrary to popular myth, improves security compared to non-container deployments provided that best practices are followed.

  • Do not run containers as root user.
  • Deploy containers with signed images.
  • Patch vulnerabilities by deploying new container versions.
  • Encrypt traffic between containers.
  • Do not store credentials in containers.
  • Update base operating systems regularly.
  • Ensure containers access only needed resources.

Containerized Infrastructure environments sit between the host server (whether it’s virtual or bare-metal) and the application. This offers advantages compared to legacy or traditional Infrastructure: Containerized applications start faster because you don’t have to boot an entire server. Containerized deployments are “denser” because containers don’t require you to virtualize a complete operating system. Containerized applications are more scalable because of the ease of spinning up new containers.

  • Containers are decoupled from infrastructure.
  • Container deployments declare resources needed (storage, compute, memory, network).
  • Place specialized hardware containers in their own cluster.
  • Use smaller clusters to reduce complexity between teams.

Continuous Delivery/Deployment: Services comprised of containers available from the registry can be deployed after each commit, allowing new feature deliveries to users quickly. To minimize risk during deployment, the following best practices are important:

  • Do not modify containers between pipeline stages.
  • Use an orchestration system (E.g. Kubernetes or Docker Swarm)
  • Do not interact directly with the orchestration system.
  • Use Green/Blue deployments ensure no downtime during a deployment.

Summing Up

In this article, we listed nine pillars of best practices for containers. While is it clear that containers offer immense value for software deployment, adhering to best practices is essential to realize their value.


This article was co-authored by Eric Glasser, Principal Consultant at Trace3, in the Cloud Solutions Group, specialist for DevOps and containers.

Tags: Data Science
Previous Post

Blockchain In The Chemical Industry

Next Post

Five Policies To Deal With The Loss Of Jobs To Automation (UBI Is Not One Of Them)

Marc Hornbeek

Marc Hornbeek

Marc Hornbeek, known as “DevOps_the_Gray” and industry events speaker, is a DevOps Consultant at  Trace3. A seasoned DevOps consultant, adviser, educator, mentor, and author, he has performed assessments for over 60 organizations. Awarded IEEE Outstanding Engineer, 2016, Western USA, he is a Senior IEEE member for 42 years. He is the author of the  Continuous Delivery Architect certificate course and DevOps Test Engineering certificate course for DevOpsInstitute.com and many publications.

Next Post
Jobs To Automation

Five Policies To Deal With The Loss Of Jobs To Automation (UBI Is Not One Of Them)

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

POPULAR POST

  • A Comparison of Tableau and Power BI, the Two Top Leaders in the BI Market

    A Comparison of Tableau and Power BI, the Two Top Leaders in the BI Market

    11910 shares
    Share 4769 Tweet 2975
  • Insights to Agile Methodologies for Software Development

    3022 shares
    Share 1209 Tweet 756
  • Why You Should Forget Loops and Embrace Vectorization for Data Science

    2686 shares
    Share 1074 Tweet 672
  • Greedy Algorithm And Dynamic Programming

    2064 shares
    Share 826 Tweet 516
  • Cloudera vs Hortonworks vs MapR: Comparing Hadoop Distributions

    2057 shares
    Share 822 Tweet 514
Experfy Insights

Experfy Insights provides cutting-edge perspectives on Big Data and analytics. Our unique ability to focus on business problems enables us to provide insights that are highly relevant to each industry.

Join Us At

About Us

Contact Us


1700 West Park Drive, Suite 190
Westborough, MA 01581

Email: [email protected]

Toll Free: (844) EXPERFY or
(844) 397-3739

© 2020, Experfy Inc. All rights reserved.

No Result
View All Result
  • Home
  • Future of Work
  • AI & Machine Learning
  • Big Data & Cloud
  • IoT & Automation
  • Software
  • ConsumerTech
  • HealthTech
  • FinTech

© 2020, Experfy Inc. All rights reserved.