WO2017007466A1 - Génération de modèle d'orchestration - Google Patents
Génération de modèle d'orchestration Download PDFInfo
- Publication number
- WO2017007466A1 WO2017007466A1 PCT/US2015/039526 US2015039526W WO2017007466A1 WO 2017007466 A1 WO2017007466 A1 WO 2017007466A1 US 2015039526 W US2015039526 W US 2015039526W WO 2017007466 A1 WO2017007466 A1 WO 2017007466A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- model
- deployment
- enterprise architecture
- orchestration
- platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Definitions
- Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with nominal
- Cloud computing allows a consumer to obtain computing resources, such as networks, network bandwidth, servers, processing memory, storage, applications, virtual machines, and services as a service on an elastic and sometimes impermanent basis.
- computing resources such as networks, network bandwidth, servers, processing memory, storage, applications, virtual machines, and services as a service on an elastic and sometimes impermanent basis.
- the creation, management, manipulation, and decommissioning of computing resources in order to realize consumer computing requests while conforming to the operational objectives of cloud service providers is known as resource orchestration.
- Resource management tools use orchestration templates to automate deployments for resource orchestration.
- Figure 1 is a schematic diagram illustrating an example cloud computing environment.
- Figure 2 is a schematic diagram illustrating an example system for generating orchestration templates in the example cloud environment of Figure 1 .
- Figure 3 is a schematic diagram illustrating an example domain model constructed as a class diagram for use in the system of Figure 2.
- Figure 4 is a block diagram illustrating a method of the system of Figure
- Figure 5 is a schematic diagram illustrating an example computing device that can be used to implement the system of Figure 2 and perform the method of Figure 4. Detailed Description
- Cloud providers can use cloud service management, or enterprise management, tools to automate the management of cloud-based IT-as-a- service from order, to provision, to retirement.
- IT information technology
- Cloud service management tools accelerate the speed of deployment of application-based services across many different forms of cloud environments.
- cloud service management tools can be used to move and manage applications among cloud systems, provide security and consistency, and dynamically monitor and provision server, storage, and network elements.
- IT professionals often use cloud service management tools that allow them to model the deployment topology of distributed systems and heterogeneous computing environments and use orchestration workflows to automate their deployment and configuration.
- An example of a cloud service management tool is available under the trade designation Cloud Service Automation from Hewlett- Packard of Palo Alto, California.
- Cloud service management tools can also be used to automate the creation of cloud environments, which can begin as soon as the racks and servers of a data center are operational. Cloud service management tools often enable automation logic to be orchestrated via workflows that sequence the automation steps to be performed. Orchestration templates are used in the automation process to describe infrastructure and applications for a cloud service management tool in a manner that is often also readable and writable by humans.
- architecture models include domain models that comprise business
- An example heuristic system and method to interpret and automatically convert the enterprise architecture model and generate orchestration templates to enable automated deployment in a computer network such as a cloud environment is described.
- An example system includes an engine having a parser and a set of code generation templates.
- An enterprise architecture model which may be created with a modeling tool, is received at the parser, which generates a platform-independent intermediary model.
- the intermediary model is applied to a selected platform-specific deployment configuration template to generate an orchestration template, which may include a
- deployment bundle or orchestration logic in a selected deployment format that can be applied to resource management tool and used to automate deployment of the enterprise architecture.
- the system includes several available platform-specific deployment configuration templates, and user can choose one or more of the templates to generate one or more deployment bundles in one or more deployment formats.
- the system and method allow for enterprise architecture models in traditional or common formats, for example, to automate deployment in one or more orchestration formats.
- FIG 1 illustrates an example cloud computing environment 100 suitable for use with the system and method to generate orchestration templates.
- Cloud computing environment 100 includes one or more
- Cloud computing nodes 102 configured to communicate with local computing devices 104 such as personal computers, mobile devices, embedded systems, or other computing devices used by cloud consumers.
- Cloud computing environment 100 includes features such as statelessness, low coupling, modularity, and semantic interoperability.
- Cloud computing nodes 102 can be configured as computing devices including a processor, memory, storage, communication components, and software in the form of program modules stored in the memory.
- Cloud computing nodes 102 may be grouped physically or virtually in one or more networks or in one or more cloud deployment models.
- the cloud computing environment 100 offers services such as infrastructure, platforms, software, and business processes.
- Cloud computing environment 100 can include a set of abstraction layers such as a hardware and software layer 106, virtualization layer 108,
- the hardware and software layer 106 includes hardware and software components such as servers, storage devices, networking and networking components, network application software, database software, and related software.
- the virtualization layer 108 provides virtualization entities such as virtual servers, storage, networks, and
- the management layer 1 10 provides entities such as resource provisioning, metering and billing services for tracking and invoicing use, user portals for allowing cloud consumers and others access to the cloud computing environment 100, security, and service level management.
- Workload layer 1 12 provides functions such as mapping and navigation, software development and lifecycle management, data processing, and transaction processing.
- the components, layers, and other features of the cloud computing environment 100 are intended to be illustrative, and other example configurations are
- FIG. 2 illustrates an example system for generating orchestration templates 200 for use in automating the cloud environment 100 or other computer network.
- the system 200 includes an engine 202 having a parser 204 and a template set 206.
- the engine 202 can incorporate features of a template engine, which is designed to combine one or more templates with a data model to produce one or more result documents.
- the system 200 is configured to receive an enterprise architecture model 208 produced with a modeling tool 210, such as a system described as a visualization in terms of business architecture.
- the parser 204 creates an intermediary model 212 from the enterprise architecture model 208.
- the engine 202 applies the intermediary model 212 to one or more selected platform-specific templates 214.
- the system 200 generates a platform-specific orchestration template, which can include deployment bundle 216, in one or more selected deployment formats 218.
- the platform-specific deployment bundle 216 includes can then be used with a cloud services management tool to automate deployment in a process automation solution on a computer network, data center, or cloud environment.
- the system 200 can be a stand-alone tool used in connection with the modeling tool 210 and the cloud services management tool configured to apply the orchestration template.
- the system 200 can be combined with, or incorporated into, the modeling tool 210, the cloud services management tool, or both, to become an integrated enterprise architecture to automation tool or environment.
- the enterprise architecture model 208 describes a cloud environment or computing system in terms of enterprise architecture specifications.
- the enterprise architecture model 208 can include a system model as a visualization in terms of business architecture including components and component relationships.
- relationships can be constructed in any one or more of many modeling languages to express the computing system in a structure according to a set of rules.
- the modeling language may be described in universal modeling language (UML) or in another modeling language such as ArchiMate.
- UML universal modeling language
- the enterprise architecture model 208 is imported into the parser 204 in one of several suitable formats compatible with the engine 202.
- suitable formats can include XML (Extensible Markup Language) format, such as XML Metadata Interchange format and ArchiMate format.
- XML Extensible Markup Language
- Metadata Interchange is a common interchange format used with UML.
- the example of Enterprise Architect as a modeling tool 210 is capable of exporting the enterprise architecture model 208 in either XMI or ArchiMate formats.
- System 200 can be constructed to include a component or module to convert the enterprise architecture model 208 into a suitable format for the parser 204 in cases where the model is not provided in a compatible format.
- the parser 204 receives the enterprise architecture model 208 in the engine-compatible format and generates an intermediary model 212 in a platform-independent layout or format.
- the intermediary model layout could be limited to information regarding classes and associations to generate components and corresponding operations.
- the parser 204 would add metadata and calculated values to the model and remove extraneous information related to comments, the particular appearance, position, or arrangement of the components, and other user-interface attributes from the enterprise architecture model 208.
- the parser 204 can be based on a general-purpose text-file preprocessing tool such as FMPP, which is a FreeMarker-based file preprocessor.
- the platform-independent intermediary model 212 is generally not configured for use directly as an orchestration template in a cloud service management tool.
- Template set 206 can include one, but typically more than one, component templates 214.
- Each component template 214 can correspond to a deployment format of an associated cloud management service tool designated to receive the orchestration template.
- the platform-independent intermediary model is applied to a selected component template based on the desired deployment bundle platform.
- the template set 206 could include a platform-specific template 214 for a deployment bundle as a content pack for a deployment format for an automation tool available under the trade designation Operation Orchestration from Hewlett-Packard.
- Other supported deployment bundles can include Chef cookbooks, which are units of configuration and policy distribution for configuration management tool available from Chef, Ansible playbooks, with configuration, deployment, and orchestration bundles available from Ansible, Inc., or other cloud or enterprise configuration management tools or tools used for automation of cloud or enterprise environments.
- the templates are in a format such as FreeMarker Template Language (FTL) configured to run on FreeMarker, which is a Java- based template engine.
- FTL FreeMarker Template Language
- the platform-specific templates 214 can be reverse engineered configuration templates.
- the template engine incorporated into engine 202 applies the intermediary model 212 to the selected template to generate a deployment bundle 216 including deployment scripts or automated deployment files in compliance with an orchestration language.
- An example orchestration language can include TOSCA, or Topology and Orchestration Specification for Cloud Applications, an XML-based modeling language formalizing application structure as a typed topology graph.
- Other templates can include YAML (for example, used with Ansible), Amazon Cloud Formation templates.
- the deployment bundle 216 can include project build/deploy files 222, source code files 224 such as Java code (.java) or business process management notation files (.bpmn), configuration parameters 226 (such as .xml, .conf, and .properties files), and documentation 228 in text or html files.
- source code files 224 such as Java code (.java) or business process management notation files (.bpmn)
- configuration parameters 226 such as .xml, .conf, and .properties files
- documentation 228 in text or html files.
- Figure 3 illustrates an example enterprise architecture model in the form of a system model diagram 300 generated with the modeling tool 210.
- Figure 3 is presented to illustrate the concepts of a system model diagram 300, which are often more complex.
- a representation of the system model diagram 300 such as an XML file or other set of enterprise architecture specifications, can be received into the system 200 of Figure 2 as enterprise architecture model 208.
- systems models can include entity-relationship models, domain models, use-case models, component models, class diagrams, and others.
- System model diagram 300 includes an application 302 associated with server 304 in the form of a structural UML diagram.
- system model diagram 300 is a class diagram that captures basic information about objects 306 in the domain 308.
- application 302 includes name of the class 310, attributes of the class 312, and methods that can operate on the class 314.
- Server 304 includes the class name 316 and attributes 318.
- the domain model can include stereotypes, which is an extensibility mechanism in UML, to target objects or operations.
- the name 310 can include a stereotype to target the object as a component in a particular cloud service management tool, « CSA Component >>.
- the method 314 can include a stereotype to target operations in a particular automation tool to generate stubs for scripting secure shell, « SSH » and ReSTful calls, « ReSTful».
- Figure 4 illustrates an example method 400 for generating orchestration templates with a system such as the system 200 of Figure 2.
- Method 400 includes receiving an enterprise architecture model, such as a system model in a visualization format, at 402. In an example where method 400 is implemented with a processor, receiving can be performed with an input module.
- Method 400 includes generating a platform-independent intermediary model from the enterprise architecture model at 404.
- generating the platform- independent intermediary model includes parsing the enterprise architecture model to generate the platform-independent intermediary model, such as with a preprocessor or parser 204 of system 200.
- Method 400 further includes applying the intermediary model to a selected deployment configuration template at 406. The selected deployment configuration template is associated with a
- Figure 5 illustrates an example computer system that can be employed in an operating environment and used to host or run a computer application.
- the computer application can implement example method 400 as included on one or more computer readable storage mediums storing computer executable instructions for controlling the computer system, such as a computing device.
- the computer system of Figure 5 can be used to implement the modules and its associated tools set forth in system 200.
- the exemplary computer system of Figure 5 includes a computing device, such as computing device 500.
- Computing device 500 typically includes one or more processors 502 and memory 504.
- the processors 502 may include two or more processing cores on a chip or two or more processor chips.
- the computing device 500 can also have one or more additional processing or specialized processors (not shown), such as a graphics processor for general-purpose computing on graphics processor units, to perform processing functions offloaded from the processor 502.
- Memory 504 may be arranged in a hierarchy and may include one or more levels of cache. Memory 504 may be volatile (such as random access memory (RAM)), nonvolatile (such as read only memory (ROM), flash memory, etc.), or some combination of the two.
- RAM random access memory
- ROM read only memory
- flash memory etc.
- the computing device 500 can take one or more of several forms.
- Such forms include a tablet, a personal computer, a workstation, a server, a handheld device, a consumer electronic device (such as a video game console or a digital video recorder), or other, and can be a stand-alone device or configured as part of a computer network, computer cluster, cloud services infrastructure, or other.
- Computing device 500 may also include additional storage 508.
- Storage 508 may be removable and/or non-removable and can include magnetic or optical disks or solid-state memory, or flash storage devices.
- Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any suitable method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. A propagating signal by itself does not qualify as storage media.
- Computing device 500 often includes one or more input and/or output connections, such as USB connections, display ports, proprietary connections, and others to connect to various devices to receive and/or provide inputs and outputs.
- Input devices 510 may include devices such as keyboard, pointing device (e.g., mouse), pen, voice input device, touch input device, or other.
- Output devices 512 may include devices such as a display, speakers, printer, or the like.
- Computing device 500 often includes one or more communication connections 514 that allow computing device 500 to communicate with other computers/applications 516.
- Example communication connections can include, but are not limited to, an Ethernet interface, a wireless interface, a bus interface, a storage area network interface, a proprietary interface.
- the communication connections can be used to couple the computing device 500 to a computer network 518, which is a collection of computing devices and possibly other devices interconnected by communications channels that facilitate
- Examples of computer networks include a local area network, a wide area network, the Internet, or other network.
- Computing device 500 can be configured to run an operating system software program and one or more computer applications, which make up a system platform.
- a computer application configured to execute on the
- computing device 500 is typically provided as set of instructions written in a programming language.
- a computer application configured to execute on the computing device 500 includes at least one computing process (or computing task), which is an executing program. Each computing process provides the computing resources to execute the program.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Stored Programmes (AREA)
Abstract
L'invention concerne la génération de modèle d'orchestration pour un réseau informatique, tel qu'un environnement en nuage. Un modèle intermédiaire indépendant d'une plateforme est généré à partir d'un modèle d'architecture d'entreprise. Le modèle intermédiaire est appliqué à un modèle de configuration de déploiement spécifique à une plateforme sélectionné associé à un format de déploiement sélectionné.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2015/039526 WO2017007466A1 (fr) | 2015-07-08 | 2015-07-08 | Génération de modèle d'orchestration |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2015/039526 WO2017007466A1 (fr) | 2015-07-08 | 2015-07-08 | Génération de modèle d'orchestration |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2017007466A1 true WO2017007466A1 (fr) | 2017-01-12 |
Family
ID=57685962
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2015/039526 Ceased WO2017007466A1 (fr) | 2015-07-08 | 2015-07-08 | Génération de modèle d'orchestration |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2017007466A1 (fr) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111178661A (zh) * | 2018-11-09 | 2020-05-19 | 菲尼克斯电气公司 | 用于产生产品规格的中性数据的装置和方法 |
| WO2020232195A1 (fr) * | 2019-05-14 | 2020-11-19 | Qomplx, Inc. | Procédé pour faciliter le transport à longue distance de télémesure pour des services en nuage |
| CN112487163A (zh) * | 2020-11-30 | 2021-03-12 | 广州品唯软件有限公司 | 自动化流程的执行方法及其接口数据的获取方法、装置 |
| CN112685040A (zh) * | 2021-01-22 | 2021-04-20 | 爱驰汽车有限公司 | 安卓系统中界面文件的生成方法、装置、设备及存储介质 |
| US11403132B2 (en) | 2017-07-11 | 2022-08-02 | Red Hat, Inc. | Managing tasks in a cloud computing environment using multiple orchestration tools |
| CN115237392A (zh) * | 2022-09-21 | 2022-10-25 | 中国电子信息产业集团有限公司 | 数据流通系统中数据库代码生成、更新方法及系统 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120072597A1 (en) * | 2010-09-17 | 2012-03-22 | Microsoft Corporation | Using templates to configure cloud resources |
| US20120124211A1 (en) * | 2010-10-05 | 2012-05-17 | Kampas Sean Robert | System and method for cloud enterprise services |
| US20130212129A1 (en) * | 2012-02-09 | 2013-08-15 | Rockwell Automation Technologies, Inc. | Industrial automation service templates for provisioning of cloud services |
| US20150006878A1 (en) * | 2013-06-27 | 2015-01-01 | Microsoft Corporation | Automatic configuration of a computer system based on process modeling of an implemented process |
| WO2015094196A1 (fr) * | 2013-12-17 | 2015-06-25 | Hewlett-Packard Development Company, L.P. | Modèle générique permettant de mettre en œuvre un service d'informatique en nuage |
-
2015
- 2015-07-08 WO PCT/US2015/039526 patent/WO2017007466A1/fr not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120072597A1 (en) * | 2010-09-17 | 2012-03-22 | Microsoft Corporation | Using templates to configure cloud resources |
| US20120124211A1 (en) * | 2010-10-05 | 2012-05-17 | Kampas Sean Robert | System and method for cloud enterprise services |
| US20130212129A1 (en) * | 2012-02-09 | 2013-08-15 | Rockwell Automation Technologies, Inc. | Industrial automation service templates for provisioning of cloud services |
| US20150006878A1 (en) * | 2013-06-27 | 2015-01-01 | Microsoft Corporation | Automatic configuration of a computer system based on process modeling of an implemented process |
| WO2015094196A1 (fr) * | 2013-12-17 | 2015-06-25 | Hewlett-Packard Development Company, L.P. | Modèle générique permettant de mettre en œuvre un service d'informatique en nuage |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11403132B2 (en) | 2017-07-11 | 2022-08-02 | Red Hat, Inc. | Managing tasks in a cloud computing environment using multiple orchestration tools |
| CN111178661A (zh) * | 2018-11-09 | 2020-05-19 | 菲尼克斯电气公司 | 用于产生产品规格的中性数据的装置和方法 |
| CN111178661B (zh) * | 2018-11-09 | 2023-09-19 | 菲尼克斯电气公司 | 用于产生产品规格的中性数据的装置和方法 |
| WO2020232195A1 (fr) * | 2019-05-14 | 2020-11-19 | Qomplx, Inc. | Procédé pour faciliter le transport à longue distance de télémesure pour des services en nuage |
| CN112487163A (zh) * | 2020-11-30 | 2021-03-12 | 广州品唯软件有限公司 | 自动化流程的执行方法及其接口数据的获取方法、装置 |
| CN112487163B (zh) * | 2020-11-30 | 2024-04-12 | 广州品唯软件有限公司 | 自动化流程的执行方法及其接口数据的获取方法、装置 |
| CN112685040A (zh) * | 2021-01-22 | 2021-04-20 | 爱驰汽车有限公司 | 安卓系统中界面文件的生成方法、装置、设备及存储介质 |
| CN115237392A (zh) * | 2022-09-21 | 2022-10-25 | 中国电子信息产业集团有限公司 | 数据流通系统中数据库代码生成、更新方法及系统 |
| CN115237392B (zh) * | 2022-09-21 | 2023-01-13 | 中国电子信息产业集团有限公司 | 数据流通系统中数据库代码生成、更新方法及系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN112866333B (zh) | 基于云原生的微服务场景优化方法、系统、设备和介质 | |
| US10764109B2 (en) | Instantiating resources of an IT-service | |
| US9819606B2 (en) | Allocating instantiated resources to an IT-service | |
| Wettinger et al. | Standards-based DevOps automation and integration using TOSCA | |
| CN105989523B (zh) | 用于分析的基于策略的数据收集处理及协商的方法与系统 | |
| US8434070B2 (en) | Generating specifications of client-server applications for static analysis | |
| Sorgalla et al. | Applying model-driven engineering to stimulate the adoption of devops processes in small and medium-sized development organizations: the case for microservice architecture | |
| US20120102474A1 (en) | Static analysis of client-server applications using framework independent specifications | |
| Loutas et al. | A semantic interoperability framework for cloud platform as a service | |
| Fehling et al. | An architectural pattern language of cloud-based applications | |
| WO2017007466A1 (fr) | Génération de modèle d'orchestration | |
| JP7798443B2 (ja) | コンピュータ実装方法、コンピュータプログラムおよびシステム(帰属グラフ埋め込みによるモノリスアプリケーションの制約ベースのリファクタリング) | |
| Cretella et al. | A semantic engine for porting applications to the cloud and among clouds | |
| DesLauriers et al. | Cloud apps to‐go: Cloud portability with TOSCA and MiCADO | |
| Challita et al. | Model-based cloud resource management with TOSCA and OCCI | |
| Brogi et al. | A Petri net-based approach to model and analyze the management of cloud applications | |
| Dukaric et al. | BPMN extensions for automating cloud environments using a two-layer orchestration approach | |
| Bhattacharjee et al. | A model-driven approach to automate the deployment and management of cloud services | |
| JP7560223B2 (ja) | スケーラブル・アプリケーションとの相互作用の制御 | |
| US20100250228A1 (en) | Modeling a composite application | |
| CN107784488A (zh) | 一种松散耦合的业务流程管理系统 | |
| Marino et al. | HTML5 visual composition of rest-like web services | |
| Erbel | Scientific workflow execution using a dynamic runtime model | |
| Normelli | Benchmarking Message Brokers on Kubernetes: A Case Study in how to Evaluate Inter-Service Communication Technology | |
| Andročec et al. | Methodology for detection of cloud Interoperability problems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15897862 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 15897862 Country of ref document: EP Kind code of ref document: A1 |