IP Library Granted Patent US 10,230,786
Granted Patent B2
US 10,230,786 · App. 15/055,512 · Granted Mar 12, 2019

Hot deployment in a distributed cluster system

Inventors: Benjamin Parees (Durham, NC); Michal Fojtik (Brno, CZ); Daniel McPherson (Raleigh, NC); Clayton Coleman (Raleigh, NC); Cesar Wong (Cary, NC)
Assignee: Red Hat, Inc.
H04L67/10G06F8/656G06F8/71G06F9/45508G06F9/45558G06F11/3668H04L67/34
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,230,786
App. No.
15/055,512
Granted
Mar 12, 2019
Kind
B2
Abstract

Implementations provide for a source to image framework for a Platform-as-a-Service (PaaS) system in a distributed cluster system that can apply modifications to source code. A method of the disclosure includes invoking source-to-image (STI) methodology to execute an instance of an application image. The application image is associated with source code and an application framework of an application. A modification to the source code utilized in the instance is received and identified via the application framework utilized in the instance. The identified modification to the source code is applied during runtime of the instance in a container via the application framework.

Claims (44)

1. A method comprising:

launching, by a processing device in a distributed cluster system, a container using an application image, the container comprising an executing instance of the application image, the application image associated with source code and an application framework of an application;

receiving, by the processing device, a modification to the source code utilized in the instance;

determining, by the processing device via a supervisor process executing in the container, whether the application framework lacks support for performing a scan process;

responsive to determine that the application framework lacks the support for performing the scan process, identifying, by the processing device via the supervisor process executing in the container, the modification to the source code using a scan process of the supervisor process;

applying, by the processing device via the application framework, the identified modification to the source code during runtime of the instance in the container; and

preventing, by the processing device via the supervisor process, the container from terminating while the identified modification is applied to the source code via the application framework.

2. The method of claim 1 , further comprising disabling the application framework and the supervisor process from scanning the container to identify the modification in response to receiving a user request to disable the scanning, wherein the disabling prevents further modification to the source code.

3. The method of claim 1 , wherein the modification to the source code is embodied in modified source code on a second device.

4. The method of claim 3 , wherein the second device is located remotely from the processing device.

5. The method of claim 3 , wherein the second device comprises a synchronization command used to synchronize the source code of the instance with the modified source code.

6. The method of claim 1 , wherein the modification to the source code is streamed via a tunnel.

7. The method of claim 1 , further comprising scaling a plurality of instances of the application image to the instance of the application image as a single instance prior to receiving the modification to the source code.

8. The method of claim 1 , wherein the application framework applies the identified modification to respective source codes of each of a plurality of instances of the application image of the application.

9. A system comprising:

a memory; and

a processing device a distributed cluster system, the processing device communicably coupled to the memory, the processing device to:

launch a container using an application image, the container comprising an executing instance of the application image, the application image associated with source code and an application framework of an application;

receive a modification to the source code utilized in the instance;

determine, via a supervisor process executing in the container, whether the application framework lacks support for performing a scan process;

responsive to determine that the application framework lacks the support for performing the scan process, identify, via the supervisor process executing in the container, the modification to the source code using a scan process of the supervisor process;

apply the modification to the source code during runtime of the instance in the container;

prevent, by the processing device via the supervisor process, the container from terminating while the identified modification is applied to the source code via the application framework; and

restart the application image instance without including the modification to the source code.

10. The system of claim 9 , wherein the processing device is further to test the functionality of the application in response to applying the modification to the source code.

11. The system of claim 9 , wherein the modification to the source code is embodied in modified source code on a second device.

12. The system of claim 11 , wherein the second device is located remotely from the processing device.

13. The system of claim 9 , and wherein the modification to the source code is streamed via a tunnel.

14. The system of claim 9 , wherein the container system comprises a single container launched from the image of the application.

15. A non-transitory machine-readable storage medium including instructions that, when accessed by a processing device in a distributed cluster system, cause the processing device to:

launch, by the processing device, a container using an application image, the container comprising an executing instance of the application image, the application image associated with source code and an application framework of an application;

receive a modification to the source code utilized in the instance;

identify, via the application framework utilized in the instance, the modification to the source code;

determine, via a supervisor process executing in the container, whether the application framework lacks support for performing a scan process;

responsive to determine that the application framework lacks the support for performing the scan process, identify, via the supervisor process executing in the container, the modification to the source code using a scan process of the supervisor process;

apply, via the application framework, the identified modification to the source code during runtime of the instance in the container; and

preventing, by the processing device via the supervisor process, the container from terminating while the identified modification is applied to the source code via the application framework.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the processing device is further to:

disable the application framework and the supervisor process from scanning the container to identify the modification in response to receiving a user request to disable the scanning, wherein the disabling prevents further modification to the source code.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the modification to the source code is embodied in modified source code on a second device.

18. The non-transitory machine-readable storage medium of claim 17 , wherein the second device comprises a synchronization command used to synchronize the source code of the instance with the modified source code.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the processing device is further to:

scale a plurality of instances of the application image to the instance of the application image as a single instance prior to receiving the modification to the source code.

20. The non-transitory machine-readable storage medium of claim 15 , wherein the application framework applies the identified modification to respective source codes of each of a plurality of instances of the application image of the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2016
From: PAREES, BENJAMIN; MCPHERSON, DANIEL; COLEMAN, CLAYTON; WONG, CESAR; FOJTIK, MICHAL
To: RED HAT, INC.
Reel/Frame 037866/0638 →
Continuity (1)
Related Publication 20170249141A1 · Aug 31, 2017
Cited By (2)
US 12,650,827 US 12,699,575