Container solutions are aplenty in the market. Go through the article to understand common container solutions in detail and also view a comparison to choose the one that fits your needs.
Docker Inc
Docker’s stated goals include - simplify and accelerate development
workflows. A containerization platform software provider initially released in 2013. Written in ‘Go’
programming language and positioned as a freemium SAAS (Software As A Service), uses Apache License 2.0 as
the source code license.
Features of Dockers
Integrated and automated container security policy
Runs trusted images. As one of the pioneers in containerization platforms, many plugins are available
helping enhance features. Additionally, with 6 million repositories on the Docker Hub, there are plenty
of docker images for developers to use
No Lock-in : Supports almost any type of application, OS, infrastructure, and orchestrator
Docker Desktop : Application installable on MacOS and Windows OS for building and deploying
containerized applications. Features include Docker Runtime, Developer Tools, Docker App and Kubernetes
Docker Hub : Repository of container images. The repository is supported by container community
developers, open source projects and independent software vendors (ISV) building and uploading their
code in containers. Developers can access public repositories for free or can choose paid plans for
private repositories
Docker Swarm : Docker’s container orchestration tool, using standard Docker API and networking. Allows
applications to be deployed as services (microservices) in a Swarm Cluster
Red Hat-IBM OpenShift
OpenShift is a family of containerization software developed by Red Hat (bought by IBM in 2019). Its
flagship product is the OpenShift Container Platform—an on-premises platform as a service built around
Docker containers orchestrated and managed by Kubernetes on a foundation of Red Hat
Enterprise Linux. Red Hat® OpenShift® is a hybrid cloud, enterprise Kubernetes application platform.
Features of Red Hat-IBM OpenShift
OpenShift supports multiple Application Development Lifecycle stage environments (such as Dev, QA,
Pre-Prod, and Prod), allowing organizations adopt and implement the OpenShift platform
RedHat API for Docker allows applications created on OpenShift to run anywhere that supports
Docker-formatted containers
OpenShift includes pre-created quick start application templates that allows to build application,
languages, frameworks and databases – Java, Node.js , NET, Ruby, Python, PHP and others
Red Hat-IBM OpenShift Containerization Platform Products
(Self-Managed)
Red Hat OpenShift Container Platform : A Kubernetes platform designed for use on private
infrastructure. Facilitates build, deployment and administration of container-based applications
across cloud and on-premises infrastructure
(Hosted Service)
Red Hat OpenShift Dedicated : Private Red Hat OpenShift clusters hosted on Amazon Web
Services and Google Cloud, delivered as a hosted service and supported by Red Hat
Red Hat Microsoft Azure : Red Hat OpenShift clusters hosted on Microsoft Azure, delivered
as a hosted service jointly engineered, operated, and supported by Red Hat and Microsoft
Red Hat IBM : Managed service of OpenShift on IBM’s public cloud, delivered as a hosted
service and supported by IBM
Additional Services by Red Hat OpenShift
Red Hat OpenShift Container Storage : Software-defined storage integrated with and
optimized for Red Hat OpenShift Container Platform. The container-native storage can be provisioned
and de-provisioned on demand as an integral part of the OpenShift administrator console
Red Hat Quay : A container and application registry providing secure storage, distribution,
and deployment of containers on any infrastructure. It is available as a standalone component or in
conjunction with OpenShift. Red Hat Quay.io is a hosted version of Red Hat Quay
Red Hat Fuse Online : A low-code integration platform as a service (iPaaS) to help
developers build faster integration solutions. Cloud-hosted toolchain and runtime, delivering an
integration solution right from a browser
Red Hat Marketplace Operated by IBM : Certified software for container-based environments
Red Hat Advanced Cluster Management for Kubernetes : A management solution designed to help
extend and scale Red Hat OpenShift. Created to manage hybrid cloud-native applications running in
container environments. Provides visibility, policy governance and control for organizations in
containerized environments. Works across the hybrid cloud -- from Red Hat OpenShift deployed
on-premises, on bare metal, and on major public cloud providers to native clusters from Amazon Web
Services, Google Cloud Platform, IBM Cloud and Microsoft Azure
D2IQ - Mesosphere
Mesosphere DCOS (Data Center Operating System) is an open-source, distributed operating system built with
Apache Mesos. It was developed and announced in April 2016. Mesosphere’s DCOS differentiated by providing
dedicated container scheduling. Designed to help businesses to automate, deploy apps and scale. The
platform targets businesses looking to streamline the production of hyperscale data centers. In 2019
Mesosphere changed its name to D2IQ, the stated goal was to focus on Kubernetes and cloud native
solutions.
Features of D2IQ (Mesosphere DCOS)
Supports deployment of data center services such as Apache Hadoop, Spark, Kafka, YARN, and Kubernetes
Integrates current resources and emerging technologies to increase process efficiency of data and
container services
D2IQ-Mesosphere DCOS helps user to achieve automation and scalability
The GUI support eases use and management. Components like Velocity, Marathon-Load Balancer and
Infinity facilitate development and operations
Velocity launched as a developer agility and CI/CD platform for the DCOS, leveraging open source
tools like Jenkins to make it possible for development teams to go from source code to production
with ease and speed
Marathon and Marathon load balancer (Marathon-LB) work together to provide a meta-framework for
scheduling, container orchestration, and load balancing as part of the Mesosphere DC/OS platform.
Mesosphere DC/OS Platform : The platform facilitates IT organizations to deploy cloud native
technologies as-a-service while maintaining centralized governance. In conjunction with D2iQ Kubernetes
Platform it offers interoperability testing across multiple services and support to ensure an
enterprise-grade experience. Allows architects to adopt open source and cloud native technologies within
their private data centers, resulting in scalable architectures incorporating a wide variety of
technology services. Includes built-in service automation to simplify the deployment of technologies
such as Kubernetes, Kafka, Jupyter, and TensorFlow.
D2iQ Kubernetes Platform : Provides an enterprise grade technology and come bundled with
training, services and support to assist with deployments of cloud native applications to production at
scale. Technology solutions accompanying the platform include:
D2iQ Kommander: Enables governance and lifecycle management of disparate Kubernetes
clusters from a single management interface for viewing multi-cluster health, managing distributed
operations, and leveraging operational insights
D2iQ Konvoy: Provides a comprehensive, enterprise grade Kubernetes distribution with the
add-ons needed for production selected, integrated, and tested for quicker implementation
D2iQ Kudo: Provides a framework for developing Kubernetes Operators, that encode the
operational runbooks for managing complex and stateful applications. Kudo allows Kubernetes
Operators use a declarative approach, addressing the full lifecycle of a service. D2iQ maintains a
core set of high value KUDO operators designed for building data rich applications using
technologies like Spark, Kafka, and Cassandra. KUDO for Kubeflow is targeted at simplifying the
adoption of machine learning workloads on Kubernetes
D2iQ Conductor: Provides on-demand access to hands-on cloud native training
AWS ECS/EKS
In 2006, Amazon Web Services (AWS) began offering IT infrastructure services to businesses in the form of
web services, commonly known as cloud computing. Amazon Web Services (AWS) is a cloud platform, offering
over several fully featured services. AWS offers container orchestration options through Amazon’s
Elastic Container Service (ECS) and Elastic
Kubernetes Service (EKS).
AWS ECS comes in two instances:
ECS powered by EC2: Traditional ECS - powered by Amazon EC2 compute (Electronic Compute Cloud)
- was launched in 2015 to easily run Docker containers on the cloud. ECS/EC2 facilitates control over
the installation, configuration, and management of the compute environment
ECS powered by Fargate: Fargate was released in 2017 as a mechanism to run containers without
having to manage the underlying EC2 compute. ECS Fargate offers serverless compute for containers
AWS added Elastic Kubernetes Service (EKS) in 2018 in response to the growing customer use of Kubernetes
on AWS.
Features of AWS ECS/EKS
Have ‘Nodes’ which are practically EC2 instances where the containers run
Have a layer of abstraction for containers. Kubernetes refers to this as ‘Deployments’ while ECS
refers to it as ‘ECS service’
Have a holistic abstraction called a Cluster which is a combination of all working components
Use a load balancer to receive traffic into the containers
Simplified interface, flexible and extensive platform
AWS Containerization Platform Products
AWS ECR – Amazon Elastic Container Registry : Facilitates store, encrypt, and manage container
images. A fully-managed Docker container registry allowing developers to store, manage, and deploy
Docker container images. Integrated with AWS Identity and Access Management (IAM) provides
resource-level control of each repository
AWS ECS – Amazon Elastic Container Service : Run containerized applications or build
microservices
AWS EKS – Amazon Elastic Kubernetes Service : Manage containers with Kubernetes
AWS Fargate : Run containers without managing servers. A serverless compute engine for
containers that works with both AWS-ECS and AWS-EKS. Fargate removes the need to provision and manage
servers, additionally security is improved through application isolation
AWS EC2 – Amazon Elastic Compute Cloud : Run containers with server-level control
AWS App2Container : Tool to containerize and migrate existing .NET and Java applications
AWS Copilot : Quickly launch and manage containerized applications. A CLI tool that enables
developers to build, release, and operate production ready containerized applications on Amazon ECS and
AWS Fargate
Microsoft Azure Container Service
Microsoft Azure Container Service (ACS) provided by Microsoft helps to simplify the management of Docker
clusters for running containerized applications. ACS supports 3 Orchestrators: DCOS with Marathon, Docker
Swarm, and Kubernetes. ACS facilitates container management at scale with a fully managed Kubernetes
container orchestration service that integrates with Azure Active Directory.
Features of Azure Container Service
Simplest, most open and flexible way to run container applications in the cloud
Fully managed container platform
Hybrid platform support
DevOps and VSTS for CI/CD
Supports almost any programming language
Compatible with many open-source client tools
Does not support hybrid operating system – Windows and Linux cannot be integrated into a single
container
Simplified configurations
Easy setup / Interactive CLI
Microsoft Azure Containerization Platform Products
Azure Kubernetes Service (AKS) : Facilitates the deployment, management, and operations of
Kubernetes. AKS offers serverless Kubernetes with Azure Active Directory security and governance options
at enterprise-scale. CI/CD experience is integrated into AKS, allowing development and operations teams
on a single platform to build and deploy applications
Azure Container Registry : Facilitates build, store, secure, scan, replicate, and manage
container images and artifacts with a managed, geo-replicated instance of OCI distribution (Open
Container Initiative by Linux Foundation). Connect across environments, including Azure Kubernetes
Service and Azure Red Hat OpenShift, and across Azure services like App Service, Machine Learning, and
Batch
Azure Container Instances - ACI : Run containers on Azure without managing servers. Running
workloads in Azure Container Instances (ACI), allows the focus on designing and building of the
application instead of managing the infrastructure that runs them
Azure Service Fabric : Develop microservices and orchestrate containers on Windows or Linux. Service
Fabric is an open source project and it powers core Azure infrastructure. Azure Service Fabric enables
automatic scaling, rolling upgrades, and self-healing from faults when they occur
Google Cloud Platform – Google Container Engine (GKE)
Google Cloud provides you with different options to choose from for running the containers. These are
Google Kubernetes Engine (for container cluster management), Google Compute Engine (for Virtual Machines
and CI/CD pipeline) and Google App Engine Flexible Environment (for containers on fully managed PaaS).
Features of Google container Engine (GKE)
Enterprise-ready containerized solutions with prebuilt deployment templates and feature portability
GKE Sandbox provides a second layer of defence between containerized workloads on GKE for enhanced
workload security
GKE is both HIPAA and PCI DSS compliant
GKE supports the common Docker container format
GKE clusters are fully managed by Google, ensuring cluster is available and up-to-date
Persistent storage configuration and options
Automated orchestration, deployment, and scaling of containers
Integrated Logging
Kubernetes is built and supported by Google
Simple setup for new users
Google Cloud Containerization Platform Products
Google Container Engine (GKE) : Secured and managed Kubernetes service with four-way auto
scaling and multi-cluster support
Google Compute Engine : Compute Engine lets you create and run virtual machines on Google
infrastructure. Compute Engine offers scale, performance, and value that lets you easily launch large
compute clusters on Google's infrastructure. Possible to run thousands of virtual CPUs on a system that
offers quick, consistent performance
Google App Engine Flexible Environment : App Engine allows developers to build highly scalable
applications on a fully managed serverless platform. Based on Google Compute Engine, the App Engine
flexible environment automatically scales apps up and down while also balancing the load. App Engine
flexible environment instances are Compute Engine virtual machines, which means use of custom libraries,
use SSH for debugging, and deploying of user’s own Docker containers is possible
Google Artifact Registry (beta) : Store, manage and secure container images and language
packages. Integrated with Google Cloud’s tooling and runtimes and comes with support for native artifact
protocols, possible to integrate it with CI/CD tooling to set up automated pipelines
Google Container Registry: Registry for storing, managing and securing Docker images
Google Container Security : Container environment security for each stage of the life cycle.
Security is managed at Google Cloud Platform infrastructure level, software supply chain level and the
runtime security
Google Knative : Kubernetes-based platform to build, deploy, and manage serverless workloads.
Knative offers features like scale-to-zero, autoscaling, in-cluster builds, and eventing framework for
cloud-native applications on Kubernetes. Whether on-premises, in the cloud, or in a third-party data
center, Knative codifies the best practices shared by successful real-world Kubernetes-based frameworks
Kubernetes applications on Google Cloud Marketplace : Containerized apps with prebuilt
deployment
Google Build : Solutions for running build steps in a Docker container. Build, test, and deploy
on Google’s serverless CI/CD platform
Google Cloud Run : Managed compute platform for deploying and scaling containerized
applications
Comparison of Container Solutions in the Market
PARAMETERS
Docker
RedHat OpenShift
Mesosphere
AWS ECS/EKS
Microsoft Azure Container Service
Google container Engine (GKE)
Choice of Orchestrator
Docker Swarm
Kubernetes
Marathon
Kubernetes
Kubernetes
Kubernetes
Integration
GitLab CI/CD
Agile
Spark for a specific HDFS cluster
Amazon MQ, Amazon SQS, Amazon SNS and Amazon SWF
Logic Apps, Service Bus, API Management and Event Grid
Google Cloud
Networking & Storage
Networking subsystem is pluggable, using drivers - bridge / host / overlay /
macvlan / Network plugins
ovirtmgmt network / Red Hat Virtualization storage domain - OpenShift Registry