Docker CaaS

Containers-as-a-Service is a model where IT organizations and developers can work together to build, ship and run their applications anywhere.

There were traditional methods to build, test, package and run applications : Baremetal Deployment or Virtual deployment.

BareMetal Deployment: Difficult to manage migration/clone/scale/backup etc but better performance and reliability

Virtual Deployment: Easy to migrate/clone/scale/backup etc but issues with portability, performance and management

Although these deployments, use and sell were simplified by  ready-to-use cloud services from various vendors in the form of IaaS, PaaS and SaaS, but still there were gaps.

IaaS provide API access to compute, storage, and network resources and configuration to automate Datacenter infrastructure. e.g. AWS(EC2), Google Cloud Platform, Azure, Jyoent

PaaS providers uses IaaS. A PaaS provides  a self-service portal for managing computing infrastructure. PaaS allowing developers to develop, deploy and test applications. PaaS increases developer productivity.e.g. Google App Engine, Heroku, openshift, salesforce.

Below are some of the benefits of PaaS to application developers:

  • They don’t have to invest in physical infrastructure
  • Makes development possible for ‘non-experts’; with some PaaS offerings anyone can develop an application. PaaS provide OS, server software, DB, storage, network tools for design and develop and hosting.
  • Flexibility; customers can have control over the tools that are installed within their platforms and can create a platform that suits their specific requirements.
  • Adaptability; Features can be changed if circumstances dictate that they should.
  • Teams in various locations can work together; as an internet connection and web browser are all that is required, developers spread across several locations can work together on the same application.

SaaS uses the web to deliver applications that are managed by a third-party vendor and whose interface is accessed on the clients’ side. e.g. Google Apps, Cisco WebEx etc. SaaS replaces traditional on-device softwares.

Cloud computing layers.png

Docker CaaS (Containers-as-a-Service), allowing any Docker container to run on their platform, filling a void between IaaS (Infrastructure-as-a-Service) that requires a lot more system administration and configuration, and PaaS (Platform-as-a-Service) that is typically very limiting in terms of language support and libraries.

Containers are here to transform how build, test, ship and run applications securely on any infrastructure.

Containers as a service (CaaS) is a paid offering from cloud providers that includes compute resources, a container engine, and container orchestration tools.

Developers can use the framework, via API or a web interface, to facilitate and manage containers and application deployment.

There are two keyword in Container world :-
– Container Orchestration
– Container as a Service

Also there are many overlapping projects available in market to provide both keywords
e.g. To provide Container Orchestration we can use below
Amazon ECS
Docker Swarm
Apache Mesos
Azure Container Service (ACS supports two orchestration engines – Docker Swarm and Mesosphere DCOS)

To Provide CaaS we can use below projects
Amazon ECS (Docker or Kubernetes)
Google Container Engine (Kubernetes based)
Docker Universal Control Plane (Docker swarm/compose based)
CoreOS Tectonic (Rocket based)
Project Magnum (OpenStack)
Joyent’s Triton (Zones based)
Rackspace’s Carina (Docker swarm Based)
Cisco buys CaaS startup ContainerX
Oracle acquired StackEngine

Docker UCP
Enterprise-grade on-premises service for managing and deploying dockerized distributed application in any on-premises or virtual cloud environments. It’s built-in security features like LDAP/AD integration and rolebased access control (RBAC) allow IT teams to be in compliance with industry security regulations.

• GUI management for apps, containers, nodes, networks, images and volumes / built in Docker Compose
• Out of the box High Availability
• LDAP/AD Integration
• Role based access control for teams & orgs
• SSO and push/pull images from DTR(Docker Trusted Registry), directly from w/in UCP
• Out of the box TLS
• Docker native stack with Swarm, Compose, CS engine and DTR
• Monitoring and logging of UCP users & events

GKE (Google Container Engine)
• Users can interact with Google Container Engine using the gcloud command line interface or the Google Cloud Platform Console.                                                                                  • A Container Engine cluster is a group of Compute Engine instances running Kubernetes.  • Google Cloud includes Google Cloud Platform (GKE+Kubernetes + GCR (Google container registry)+ Google Cloud Shell($ gcloud)) + GSuites (gmail, map, machine learning tool, android apis etc)
•  Google Container Engine users organize one or more containers into pods that represent logical groups of related containers. Similarly, network proxies, bridges and adapters might be organized into the same pod.                                                                                                        •  Google Container Engine includes a replication controller that allows users to run their desired number of pod duplicates at any given time.

This entry was posted in docker, Virtulization and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s