This application is a National Stage Entry of PCT/JP2019/011197 filed on Mar. 18, 2019, which claims priority from Japanese Patent Application JP2018-055456 filed on Mar. 23, 2018, the contents of all of which are incorporated herein by reference, in their entirety.

TECHNICAL FIELD

The present invention relates to an application execution device, an application execution method, and a recording medium.

BACKGROUND ART

When a business system for handling large-scale data such as big data is constructed, a container-based virtualization technique has been increasingly adopted. The container-based virtualization is a type of virtualization in which a plurality of “partitions that behave in a similar way to an independent server” referred to as containers are generated in a single operating system (OS) and the container is assigned to an individual user or service. There is no need to individually assign a central processing unit (CPU), a memory, a storage, and the like to the container. Therefore, in the business system using the container-based virtualization, an overhead of a system resource can be reduced.

Meanwhile, in recent years, DevOps has attracted attention, and the business system described above is also required to satisfy the DevOps. The DevOps refers to a work for establishing a system that can respond more flexibly and speedily to a business requirement by cooperation between development and operations. At this moment, there is no precise definition of the DevOps.

In relation to the above, for example, Patent Literature (PTL) 1 describes that a container management unit that receives an update instruction deletes (stops) a current container and updates a container template. Herein, PTL 1 describes that updating the container template may be downloading a new container template or reading a new container template previously stored in a container storage device.

CITATION LIST

Patent Literature

[PTL 1] Japanese Unexamined Patent Application Publication No. 2017-111761

SUMMARY OF INVENTION

Technical Problem

In the business system using the container-based virtualization, an application needs to be updated in order to operate the application in a latest state. In this case, it is necessary to reflect an updated content to a container image and deploy the updated container image to an execution environment. In the above, the container image is an image file that collects files required for operating the application in a container. The deployment refers to all activities for causing a software system to be available.

However, generating the container image requires a lot of time and work, and a build (e.g., compile or link) of the container image may be time-consuming.

In the container image, difference information (a difference file of a source file) of a file system used so far is accumulated as a layer for each time when the deployment to the execution environment is performed upon updating the application. Therefore, there is a possibility that a time until completion of the deployment may gradually increase for each time when the update of the application is repeated. In order to avoid an increase in time, a regular maintenance work (organization of the container image) is performed by an operator oneself of the business system, resulting in taking a considerable amount of time and work for the operator.

In other words, in development of the business system being constructed by using the container-based virtualization technique, the fact is that a mechanism for efficiently performing the development and operations (DevOps) of the application has not been proposed, as compared to development of the business system in a general on-premises environment (in-house operating environment).

The present invention has been made in order to solve the issue described above, and an object of the present invention is to provide a technique enabling improving efficiency of development and operations of an application in a business system being constructed by using a container-based virtualization technique.

Solution to Problem

An application execution device according to the present invention is included in a business system being constructed by using a container-based virtualization technique. The application execution device includes: a memory; and at least one processor coupled to the memory. The processor performs operations. The operations includes: detecting an update of a container definition file that defines an application operating in a container; and changing, when an update is detected, in order to reduce an amount of data of a container image to be generated by building the container definition file, each content of the container definition file and the container image.

An application execution method according to the present invention is an application execution method in an application execution device which is included in a business system being constructed by using a container-based virtualization technique, and includes: detecting an update of a container definition file that defines an application operating in a container; and changing, when an update is detected, in order to reduce an amount of data of a container image to be generated by building the container definition file, each content of the container definition file and the container image.

A non-transitory computer-readable recording medium according to the present invention embodies a program. The program causes a computer of an application execution device to perform a method. The application execution device is included in a business system being constructed by using a container-based virtualization technique. The method includes detecting an update of a container definition file that defines an application operating in a container; and changing, when an update is detected, in order to reduce an amount of data of a container image to be generated by building the container definition file, each content of the container definition file and the container image.

Advantageous Effects of Invention

The present invention is able to improve efficiency of the development and operations of the application in the business system being constructed by using the container-based virtualization technique.

