IP Library › Granted Patent US 9,542,566
Granted Patent B2
US 9,542,566 · App. 13/529,882 · Granted Jan 10, 2017

Develop and deploy software in multiple environments

Inventors: Liujin Yu (Sunnyvale, CA); Gregory Charles McNutt (Sunnyvale, CA)
Assignee: Alibaba.com Limited
G06F21/6218G06F8/71G06F21/12G06F2221/2141
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 9,542,566
App. No.
13/529,882
Granted
Jan 10, 2017
Kind
B2
Abstract

Developing, deploying, and operating an application in a plurality of environments is disclosed, including: defining runtime specific configuration information for a plurality of environments, wherein the runtime environment specific configuration includes topology configuration and security configuration, wherein the runtime environment specific configuration information is stored separately from other configuration information and is protected by an identity management system; executing an application in one of the plurality of environments, wherein execution of the application is controlled by a first role; and presenting a credential associated with the first role to the identity management system to obtain a portion of the runtime environment specific configuration information corresponding to the environment associated with the executing application.

Claims (31)

1. A system for developing, deploying, and operating an application in a plurality of environments, comprising:

one or more processors configured to:

define runtime environment specific configuration information for each of a plurality of environment types, wherein the runtime environment specific configuration information includes for each environment type corresponding topology configuration and security configuration, wherein the runtime environment specific configuration information is stored separately from other configuration information and is protected by an identity management system;

receive from a first role an instruction to execute an application in a first environment type of the plurality of environment types, wherein the instruction comprises a command parameter associated with a location identifier associated with a portion of the runtime environment specific configuration information corresponding to the first environment type;

in response to the instruction, present a credential associated with the first role to the identity management system to obtain the portion of the runtime environment specific configuration information corresponding to the first environment type, wherein the security configuration associated with the portion of the runtime environment specific configuration information corresponding to the first environment type includes one or more security keys usable to access at least one of a protected internal source and a protected third party source; and

execute the application in the first environment type based at least in part on the obtained portion of the runtime environment specific configuration information, wherein executing the application in the first environment type includes using the one or more security keys included in the security configuration associated with the portion of the runtime environment specific configuration information corresponding to the first environment type to access the at least one of the protected internal source and the protected third party source; and

one or more memories coupled to the one or more processors and configured to provide the one or more processors with instructions.

2. The system as recited in claim 1 , wherein the plurality of environment types includes one or more of: a production environment, a quality assurance (QA) environment, a clone environment, and a development environment.

3. The system as recited in claim 1 , wherein the topology configuration includes at least one or both of configurations used to access systems associated with an environment externally and configurations used to access components in a deployment internally.

4. The system as recited in claim 1 , wherein the runtime environment specific configuration information for the plurality of environment types is managed by at least a second role.

5. The system as recited in claim 4 , wherein a privilege level associated with the second role is different from a privilege level associated with the first role, wherein the identity management system permits the privilege level associated with the second role to access and modify the runtime environment specific configuration information for the plurality of environment types and the identity management system permits the privilege level associated with the first role to only access but not modify the portion of the runtime environment specific configuration information corresponding to the first environment type associated with the executing application.

6. The system as recited in claim 1 , wherein the credential indicates a privilege level associated with the first role.

7. The system as recited in claim 1 , wherein the obtained portion of the runtime environment specific configuration information corresponding to the first environment type associated with the executing application is stored local to the first role.

8. The system as recited in claim 1 , wherein the obtained portion of the runtime environment specific configuration information corresponding to the first environment type associated with the executing application is stored temporarily.

9. A method for developing, deploying, and operating an application in a plurality of environments, comprising:

defining runtime environment specific configuration information for each of a plurality of environment types, wherein the runtime environment specific configuration information includes for each environment type corresponding topology configuration and security configuration, wherein the runtime environment specific configuration information is stored separately from other configuration information and is protected by an identity management system;

receiving from a first role an instruction to execute an application in a first environment type of the plurality of environment types, wherein the instruction comprises a command parameter associated with a location identifier associated with a portion of the runtime environment specific configuration information corresponding to the first environment type;

in response to the instruction, presenting a credential associated with the first role to the identity management system to obtain the portion of the runtime environment specific configuration information corresponding to the first environment type, wherein the security configuration associated with the portion of the runtime environment specific configuration information corresponding to the first environment type includes one or more security keys usable to access at least one of a protected internal source and a protected third party source; and

executing, by a processor, the application in the first environment type based at least in part on the obtained portion of the runtime environment specific configuration information, wherein executing the application in the first environment type includes using the one or more security keys included in the security configuration associated with the portion of the runtime environment specific configuration information corresponding to the first environment type to access the at least one of the protected internal source and the protected third party source.

10. The method as recited in claim 9 , wherein the plurality of environment types includes one or more of: a production environment, a quality assurance (QA) environment, a clone environment, and a development environment.

11. The method as recited in claim 9 , wherein the topology configuration includes at least one or both of configurations used to access systems associated with an environment externally and configurations used to access components in a deployment internally.

12. The method as recited in claim 9 , wherein the runtime environment specific configuration information for the plurality of environment types is managed by at least a second role.

13. The method as recited in claim 12 , wherein a privilege level associated with the second role is different from a privilege level associated with the first role, wherein the identity management system permits the privilege level associated with the second role to access and modify the runtime environment specific configuration information for the plurality of environment types and the identity management system permits the privilege level associated with the first role to only access but not modify the portion of the runtime environment specific configuration information corresponding to the first environment type associated with the executing application.

14. The method as recited in claim 9 , wherein the credential indicates a privilege level associated with the first role.

15. The method as recited in claim 9 , wherein the obtained portion of the runtime environment specific configuration information corresponding to the first environment type associated with the executing application is stored local to the first role.

16. The method as recited in claim 9 , wherein the obtained portion of the runtime environment specific configuration information corresponding to the first environment type associated with the executing application is stored temporarily.

17. A computer program product for developing, deploying, and operating an application in a plurality of environments, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

defining runtime environment specific configuration information for each of a plurality of environment types, wherein the runtime environment specific configuration information includes for each environment type corresponding topology configuration and security configuration, wherein the runtime environment specific configuration information is stored separately from other configuration information and is protected by an identity management system;

receiving from a first role an instruction to execute an application in a first environment type of the plurality of environment types, wherein the instruction comprises a command parameter associated with a location identifier associated with a portion of the runtime environment specific configuration information corresponding to the first environment type;

in response to the instruction, presenting a credential associated with the first role to the identity management system to obtain the portion of the runtime environment specific configuration information corresponding to the first environment type, wherein the security configuration associated with the portion of the runtime environment specific configuration information corresponding to the first environment type includes one or more security keys usable to access at least one of a protected internal source and a protected third party source; and

executing the application in the first environment type based at least in part on the obtained portion of the runtime environment specific configuration information, wherein executing the application in the first environment type includes using the one or more security keys included in the security configuration associated with the portion of the runtime environment specific configuration information corresponding to the first environment type to access at least one of the protected internal source and the protected third party source.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2012
From: YU, LIUJIN; MCNUTT, GREGORY CHARLES
To: ALIBABA.COM LIMITED
Reel/Frame 028888/0847 →
Continuity (2)
Provisional Application 61501132 · Jun 24, 2011
Related Publication 20120331519A1 · Dec 27, 2012