Cloud services release orchestration

US11748090B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11748090-B2
Application numberUS-202218049265-A
CountryUS
Kind codeB2
Filing dateOct 24, 2022
Priority dateJan 29, 2019
Publication dateSep 5, 2023
Grant dateSep 5, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

According to some implementations, while a proxy routes production traffic to a first application (app) version that runs in a plurality of container orchestration system (cos) pods having first app version containers, configuration information is received including an identification of a second app version container image for a second app version. The second app version is an updated version of the first app version. Cos pods having second app version containers are brought up based on the second app version container image identified in the configuration information. Test and/or warmup traffic is caused to be routed to the second app version containers. Responsive to an indication regarding the routing of the test and/or warmup traffic to the second app version, causing a transition to sending production traffic to the second app version containers instead of to the first app version.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory machine-readable storage medium that provides instructions that, if executed by a machine, are configurable to cause said machine to perform operations comprising: while a proxy routes production traffic to a first application (app) version that runs in a plurality of container orchestration system (COS) pods having first app version containers, receiving configuration information including an identification of a second app version container image for a second app version, wherein the second app version is an updated version of the first app version; bringing up COS pods having second app version containers based on the second app version container image identified in the configuration information; causing test and/or warmup traffic to be routed to the second app version containers while the production traffic continues to be routed to the first application version, the causing including: causing the proxy to be configured with a set of one or more routing rules that distinguish between production traffic and test and/or warmup traffic; causing generation and transmission of the test and/or warmup traffic with a value in a header field that the proxy can use to route that traffic to the second app version; receiving an indication regarding the routing of the test and/or warmup traffic to the second app version; responsive to the indication, causing a transition to sending production traffic to the second app version containers instead of to the first app version; and starting a process to shut down the plurality of COS pods having the first app version containers. 2. The non-transitory machine-readable storage medium of claim 1 , wherein the configuration information includes a services collection identifier and a second app version identifier. 3. The non-transitory machine-readable storage medium of claim 1 , wherein the first application (app) version communicates with a database management system (DBMS) using a database name assigned to the first app version, wherein the configuration information includes DBMS connection information for the first app version and the second app version, and the operations further include: preparing the DBMS by loading app version specific database release artifacts within the second app version container image using the DBMS connection information for the second app version. 4. The non-transitory machine-readable storage medium of claim 3 , wherein the operations further include the preliminary operations of: preloading the DBMS connection information for the second app version into the DBMS; and registering the second app version container image in a container registry. 5. The non-transitory machine-readable storage medium of claim 3 , wherein the DBMS connection information for the first app version and the second app version each include database credentials. 6. The non-transitory machine-readable storage medium of claim 5 , wherein the database credentials including database usernames and passwords. 7. The non-transitory machine-readable storage medium of claim 5 , wherein the DBMS connection information includes a database instance name. 8. The non-transitory machine-readable storage medium of claim 3 , wherein the app version specific database release artifacts include a PL/SQL package and a set or one or more query optimization hints. 9. The non-transitory machine-readable storage medium of claim 3 , wherein the operations further comprise: causing a set of post release database cleanup activities related to the first app version. 10. The non-transitory machine-readable storage medium of claim 1 , wherein the operations further comprise: providing a set of parameters from the configuration information to a reusable deployment pipeline responsible for causing the transition to sending production traffic to the second app version containers instead of the first app version after the second app version containers have been validated. 11. The non-transitory machine-readable storage medium of claim 1 , wherein the operations further comprise: for each of the COS pods having the second app version containers: when the second app version container is live, responding affirmatively to requests whether the second app version container is live; monitoring whether the transition to sending production traffic to the second app version container has occurred; and responsive to requests as to whether the second app version container is ready, the second app version container responding affirmatively after determining that the transition to sending production traffic to the second app version container has occurred. 12. The non-transitory machine-readable storage medium of claim 11 , wherein the process comprises: when one of the plurality of COS pods having the first app version containers is ready to be shut down, starting a timer based on a time period indicated in the configuration information and instructing the first app version container to gracefully shut down; and when the timer expires, forcing the COS pod with the first app version container to shut down if it has not already. 13. The non-transitory machine-readable storage medium of claim 11 , wherein the monitoring whether the transition to sending production traffic to the second app version container has occurred includes: deriving a URL based on the configuration information; and pinging that URL until it indicates that the second app version container is receiving production traffic. 14. The non-transitory machine-readable storage medium of claim 11 , wherein the requests inquiring whether the second app version container is ready are readiness probe requests. 15. The non-transitory machine-readable storage medium of claim 1 , wherein the bringing up COS pods is performed until their number meets a number of COS pods from the configuration information. 16. The non-transitory machine-readable storage medium of claim 1 , wherein the causing the transition is started when a threshold number of the COS pods having the second app version containers are live. 17. The non-transitory machine-readable storage medium of claim 1 , wherein the process comprises: after causing the transition, starting a set of one or more timers based on a time period indicated in the configuration information and instructing the first app version containers to gracefully shut down; and based on expiration of the set of timers, forcing any of the COS pods having the first app version containers that are not yet shut down to shut down.

Assignees

Inventors

Classifications

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11748090B2 cover?
According to some implementations, while a proxy routes production traffic to a first application (app) version that runs in a plurality of container orchestration system (cos) pods having first app version containers, configuration information is received including an identification of a second app version container image for a second app version. The second app version is an updated version o…
Who is the assignee on this patent?
Salesforce Com Inc, Salesforce Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 05 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).