Every so often, I hear that you don’t need deployment automation tools when working with Docker. However, speaking for one of those tools—XL Deploy—I can tell you that you’re missing out on many advantages that will make deploying applications in a complex enterprise environment a lot easier.
XL Deploy is a leading deployment automation software for enterprises. Enterprises use XL Deploy to automate and standardize their complicated deployment processes. Docker, of course, is one of the most popular tool ecosystems built in this decade. It has captured the developer’s imagination by providing the right set of abstractions that make it easy to deploy and scale applications.
Docker changes the way an enterprise thinks about applications. With Docker, the application is a unit of shipment. Docker image not only packages the application but also all its dependencies so you can run applications anywhere.
XL Deploy provides a lot of value to enterprises planning to use Docker. Here are 5 reasons why.
1. Unified deployment platform for legacy/existing and greenfield applications
It’s a reality that most enterprises have deployed many existing applications to JBoss, Tomcat, Weblogic, and IIS servers. XL Deploy over the years has successfully helped many enterprises automate their traditional middleware deployments. These applications deliver business value and will be costly to migrate on modern container-based data centers. With the XL Deploy/Docker integration, enterprises can use a single tool to deploy and manage their existing applications, as well as deploy their new, shiny greenfield Dockerized applications. XL Deploy provides high-level orchestration capabilities for all your deployment needs, which can include WAR packages, EAR packages, or Docker images. XL Deploy supports Docker Swarm and Kubernetes container orchestration tools so your enterprise can deploy and scale containers using the container orchestration technology of your choice.
2. Automation of the entire enterprise application workflow
Applications aren’t deployed in isolation. There are many steps that need to be performed to deploy them. For example, prior to deploying an application to a Docker host, you might want to back up a database, apply a database migration script, clean up a directory, and so on. An application might also depend on other applications. Before you deploy an application, you have to make sure all its dependencies are taken care of as well. The order of these steps/dependencies is important. A deployment tool should be smart enough to run some of the steps in parallel and some sequentially. The XL Deploy application dependencies feature allows you to define such dependencies. The XL Deploy orchestration feature provides parallel or sequential execution of these steps. And, because XL Deploy is extensible, you can customize the tool to meet your needs.
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.
3. Enterprise security and centralized audit capabilities
XL Deploy is not meant to be used by just a single developer. Instead, it is a tool for different people belonging to different departments. In an enterprise, there are a variety of groups (developer, ITOps) that need different kinds of access control. XL Deploy enables role-based access by group—such as development, operations, and management—to support compliance and governance requirements. With one central tool—XL Deploy—you can manage all your processes, automatically capture logs, and easily meet audit requirements. You will be able to answer who owns this container and what is this container doing.
4. Provides portability across container orchestration tools and CaaS solutions.
Currently, XL Deploy supports Docker Swarm and Kubernetes container orchestration tools. XL Deploy provides a higher-level abstraction so enterprises can move their workload to either solution as needed. Going forward, we will support Containers-as-a-Service platforms like Docker Cloud so you can use a single tool to deploy containers to the whole container ecosystem. The advantage is that your enterprise does not have to learn new ways to deploy containers as the target environment changes.
5. Standardized way to handle environment specific configuration.
XL Deploy includes the concept of dictionaries, which contain environment-specific entries for placeholder resolution. This means your deployment package remains independent of environment-specific values. This is useful when you want to maintain portability across different environments such as Docker Swarm and Kubernetes. You can have single package that can be deployed in any target environment.
XL Deploy allows enterprises to transition to the Docker ecosystem at their own pace. It secures their past and gives them the confidence to change their future for the better.