This post is from the XebiaLabs blog and has not been updated since the original publish date.
Take Control of Your Containers by Integrating with XebiaLabs
Containers are popular for good reason. They can help simplify and create more agile software delivery environments. Retaining this efficiency, however, becomes extremely difficult as deployments stretch across multiple applications and environments.
Many customers opt to minimize the effort of managing containers by using convenience features like Amazon Fargate, but as they explore broader use cases, they increasingly opt for more control. So, many have invested in more sophisticated container management platforms, such as Amazon ECS, Kubernetes, or Openshift.As enterprise organizations look to grow and expand their software and application-based services, they will likely need to manage hundreds or potentially thousands of containers as a single entity. Doing this on a container platform typically requires extensive scripting that is not only expensive to create but also to maintain. Container platforms are great at certain things, but they don’t provide an automated way to deploy all of these moving parts across a widely varying infrastructure. They also don’t include release orchestration capabilities. Container-based applications require the same release process as all of your other applications. In fact, virtually all of the common problems enterprises face - getting software through a release pipeline and deployed to multiple environments - stay the same. They may get even more complicated as applications evolve to rely on more microservices and more containers across Dev, Test, Staging, and Production environments. That’s where XebiaLabs comes in.
Achieving Release Orchestration and Automated Deployment at the Container LevelRecognized by top industry analysts as a leading Application Release Automation solution, the XebiaLabs DevOps Platform is designed to scale application releases, as well as the associated container deployments, across complex enterprise environments. The platform uses a model-based approach to deploying software that enables container orchestration without scripting. At the same time, we understand the importance of giving users the freedom to use their preferred technologies. That’s why we offer a variety of plugins with container management technologies for extending our products.
Containers are popular for good reason. They let developers bundle all the necessary components of an application into one package that can easily be shared and distributed. This approach can greatly simplify deployment to test, user acceptance, and production environments. However, container platforms, such as Kubernetes, Docker, and OpenShift, solve only a fraction of the challenges enterprises face as they try to deliver high-quality software, quickly and securely.
Amazon ECSThe XebiaLabs DevOps Platform integrates with Amazon ECS, allowing you to model not only container instances, but also account for the required dependencies that exist in the delivery pipeline, such as clusters, services, and a whole host of other dependent services and components. The XebiaLabs platform also includes integrations for Microsoft Azure, which provides similar functionality to the AWS offering.
KubernetesEnterprise users have flocked to Kubernetes, the open source system for managing container clusters. The XebiaLabs DevOps Platform provides a Kubernetes plugin that enables resources within this framework to be managed in exactly the same way as other orchestration engines. The integration uses the Kubernetes API libraries to communicate with the Kubernetes container cluster manager. Users can create container objects, such as pods, replication controllers, and services, directly on the Kubernetes container cluster manager. The plugin consolidates the management of Kubernetes, while maintaining the compliance and security benefits of a strategic deployment platform. As with all of XebiaLabs’ plugins, this functionality can easily be extended to cover more use cases as they arise.
OpenShiftWhether you’re leveraging RedHat’s offering for on-premise, in a public cloud or hosted - the XebiaLabs DevOps Platform integrates with RedHat Openshift out of the box. The Openshift integration allows users to manage and orchestrate the following resources:
- Project - a Kubernetes namespace with additional annotations that is the main entity used to deploy and manage resources
- Pod - one or more Docker containers running on a host machine
- Service - an internal load balancer that exposes a number of pods connected to it
- Route - a route exposes a service at a hostname and makes it available externally
- ImageStream - a number of Docker container images identified by a tag
- BuildConfig - the definition of a build process, which takes input parameters or source code to produce a runnable Docker image
- DeploymentConfig - the definition of a deployment strategy, which involves the creation of a replication controller, triggers the creation of a new deployment, and the strategy for transitioning