3. RESULTADOS Y DISCUSIÓN
3.9. ELABORACIÓN DEL PROCEDIMIENTO ESPECÍFICO DE ENSAYO DEL
The pioneering concept of orchestration in the IT domain has been there for a long time now. For instance, in the service computing (SC) arena, the idea of service orchestration has been thriving in an unprecedented manner in order to produce and sustain highly robust and resilient services. Discrete or atomic services do not serve any substantial purpose unless, they are composed together in a particular sequence to derive process-aware composite services. As orchestrated services are more strategically advantageous for businesses in expressing and exposing their unique capabilities in the form of identifiable/discoverable,
interoperable, usable, and composable services to the outside world; corporates are showing exemplary interest in having an easily searchable repository of services (atomic as well as composite). This repository, in turn, enables businesses in realizing large-scale data as well as process-intensive applications. It is clear that the multiplicity of services is very pivotal for organizations to grow and glow. This increasingly mandated requirement gets solved using the proven and promising orchestration capabilities, cognitively.
Now, as we are fast heading toward containerized IT environments; application and data containers ought to be smartly composed to realize a host of new generation software services.
However, for producing highly competent orchestrated containers, both purpose-specific as well as agnostic containers need to be meticulously selected and launched in the right sequence in order to create orchestrated containers. The sequence can come from the process (control as well as data) flow diagrams. Doing this complicated and daunting activity manually evokes a series of cynicisms and criticisms. Fortunately, there are orchestration tools in the Docker space that come in handy to build, run, and manage multiple containers to build enterprise-class services. The Docker firm, which has been in charge of producing and promoting, the generation, and assembling of, Docker-inspired containers, has come out with a standardized and simplified orchestration tool (named as docker-compose) in order to reduce the workloads of developers as well as system administrators.
The proven composition technique of the service computing paradigm is being replicated here in the raging containerization paradigm in order to reap the originally envisaged benefits of containerization, especially in building powerful application-aware containers.
The microservice architecture is an architectural concept that aims to decouple a software solution by decomposing its functionality into a pool of discrete services. This is done by applying the standard principles at the architectural level. The microservice architecture is slowly emerging as a championed way to design and build large-scale IT and business systems. It not only facilitates loose and light coupling and software modularity, but it is also a boon to continuous integration and deployment for the agile world. Any changes being made to one part of the application mandate has meant, massive changes being made to the application. This has been a bane and barrier to the aspect of continuous deployment. Micro services aim to resolve this situation, and hence, the microservice architecture needs light-weight mechanisms, small, independently deployable services, and ensures scalability and portability. These requirements can be met using Docker-sponsored containers.
Micro services are being built around business capabilities and can be independently deployed by fully automated deployment machinery. Each micro service can be deployed without interrupting the other micro services, and containers provide an ideal deployment and execution environment for these services along with other noteworthy facilities, such as the reduced time of deployment, isolation management, and a simple life cycle. It is easy to quickly deploy new versions of services inside containers. All of these factors led to the explosion of micro services using the features that Docker had to offer.
As explained, Docker is being posited as the next-generation containerization
technology, which provides a proven and potentially sound mechanism to distribute applications in a highly efficient and distributed fashion. The beauty is that
developers can tweak the application pieces within the container, while maintaining the overall integrity of the container. This has a bigger impact as the brewing trend is that, instead of large monolithic applications hosted on a single physical or virtual server, companies are building smaller, self-defined, easily manageable, and discrete services to be contained inside standardized and automated containers. In short, the raging containerization technology from Docker has come as a boon for the ensuing era of micro services.
Docker was built and sustained to fulfill the elusive goal of run it once and run it everywhere. Docker containers are generally isolated at process level, portable across IT environments, and easily repeatable. A single physical host can host multiple containers, and hence, every IT environment is generally stuffed with a variety of Docker containers. The unprecedented growth of containers is to spell out troubles for effective container management. The multiplicity and the associated heterogeneity of containers are used to sharply increase the management complexities of containers. Hence, the technique of orchestration and the
flourishing orchestration tools have come as a strategic solace for accelerating the containerization journey in safe waters.
Orchestrating applications that span multiple containers containing micro services has become a major part of the Docker world, via projects, such as Google's
Kubernetes or Flocker. Decking is another option used to facilitate the orchestration of Docker containers. Docker's new offering in this area is a set of three orchestration services designed to cover all aspects of the dynamic life cycle of distributed
applications from application development to deployment and maintenance. Helios is another Docker orchestration platform used to deploy and manage containers across an entire fleet. In the beginning, fig was the most preferred tool for container orchestration. However, in the recent past, the company at the forefront of elevating the Docker technology has come out with an advanced container orchestration tool (docker-compose) to make life easier for developers working with Docker containers, as they move through the container life cycle.
Having realized the significance of having the capability of container orchestration for next generation, business-critical, and containerized workloads, the Docker company purchased the company that originally conceived and concretized the fig tool. Then, the Docker company appropriately renamed the tool as docker-compose and brought in a good number of enhancements to make the tool more tuned to the varying expectations of container developers and operation teams.
Here is a gist of docker-compose, which is being positioned as a futuristic and flexible tool used for defining and running complex applications with Docker. With docker-compose, you define your application's components (their containers, configuration, links, volumes, and so on) in a single file, and then, you can spin everything up with a single command, which does everything to get it up and running.
This tool simplifies the container management by providing a set of built-in tools to do a number of jobs that are being performed manually at this point in time. In this section, we supply all the details for using docker-compose to perform orchestration of containers in order to have a stream of next-generation distributed applications.