Our service hosts containerized applications. Containerization is a virtualization method offering several benefits over bare metal and virtual machines.
What Is Containerization?
Containers are virtual environments that share the operating system kernel with the host machine. As environments are ‘contained’, each can have specific libraries—or different versions of the same library—that are unique to your application, without conflicting with other containerized apps on the same host. This reduces deployment-stage errors, increases the portability of applications from on-premise to the cloud, between cloud vendors, etc.
Building Applications
In addition to running containers that you have built locally, or with an external CI solution like Jenkins, OpenShift can build containerized apps that have a Dockerfile in a git-based source repository. It can also respond to webhooks from git repositories. So your application can automatically build and re-deploy when your code is updated.
The following graphic displays the build process within OpenShift:
Containers and Other Hosting Models
The customer-end simplicity of the container model reduces both your time to deployment and your ongoing maintenance effort.
Benefits of Containerization
Beyond deployment and maintenance savings, the containerized application approach offers you several further benefits:
- Optimize resources: Automatically scale the capacity of your application to demand
- Architect for change: Create a separate container for each service that comprises your application
- Decrease environmental errors: Containerized applications make their dependencies explicit, reducing the chance of dependency conflicts as your app moves from dev through to production
- Increase the portability of applications from on-premise to the cloud and between cloud vendors
- Quickly deploy new services: Pre-built components exist to stand up queuing, caching, databases, and more. Provide us an image of your containerized application and we will host it for you.
Specifics of the Container Service
Physical Location
Applications run in Amazon’s Cloud, specifically within the US-EAST2 (Columbus, Ohio) region. Applications are hosted in three availability zones within this region to maximize resilience.
Maintenance
Container Service personnel routinely update the underlying hosting software and operating systems. Notifications of this maintenance are sent to the self-joinable 'container-notification' MCommunity group. Please join this group if you would like to receive notifications on Container Service maintenance.
Container Orchestration
The Container Service’s applications are hosted on Red Hat’s OpenShift, a Kubernetes distribution. Kubernetes is the industry leader for hosting containerized applications at scale. Kubernetes checks the health of hosted apps, restarts unstable apps, moves apps from unstable or overloaded servers, and provides other advantages.