CN109286653A - 智能云工程平台 - Google Patents
智能云工程平台 Download PDFInfo
- Publication number
- CN109286653A CN109286653A CN201810806711.6A CN201810806711A CN109286653A CN 109286653 A CN109286653 A CN 109286653A CN 201810806711 A CN201810806711 A CN 201810806711A CN 109286653 A CN109286653 A CN 109286653A
- Authority
- CN
- China
- Prior art keywords
- service
- code
- deployment
- equipment
- application message
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Abstract
本申请的各实施例涉及智能云工程平台。一种设备接收与单体应用相关联的应用信息,并且基于利用人工智能技术来生成推荐。推荐涉及待生成的服务、用于服务的服务类别以及用于服务的部署模型。人工智能技术基于应用信息来生成推荐。该设备基于服务类别和应用信息来自动生成用于服务的代码,经由部署模型来接收对于部署用于服务的生成的代码的请求,并且基于请求来部署生成的代码以经由部署模型来提供服务。
Description
技术领域
本申请的各实施例涉及智能云工程平台。
背景技术
传统上,诸如企业应用的应用以单体方式而被设计。单体应用可以包括单层应用,在单层应用中,来自单个平台的用户界面和数据访问代码被组合成单个程序。在一些情况中,单体应用可能不仅负责特定任务,还负责完成特定功能所需要的每个任务或步骤。单体应用可以与诸如服务器或大型机的单个设备相关联,该单个设备是自包含的并且独立于其他计算资源。
发明内容
在一些实现方式中,一种设备可以包括一个或多个存储器以及被通信地耦合到一个或多个存储器的一个或多个处理器,一个或多个处理器用来:接收与单体应用相关联的应用信息,以及基于利用人工智能技术来生成推荐。推荐可以涉及待生成的服务、用于服务的服务类别和用于服务的部署模型。人工智能技术可以基于应用信息来生成推荐。一个或多个处理器可以基于服务类别和应用信息来自动生成用于服务的代码,经由部署模型来接收对于部署用于服务的生成的代码的请求,并且基于请求来部署生成的代码,以经由部署模型来提供服务。
在一些实现方式中,一种非暂态计算机可读介质可以存储包括一个或多个指令的指令,一个或多个指令在由一个或多个处理器执行时使得一个或多个处理器接收与单体应用相关联的应用信息,并且基于利用人工智能技术来生成推荐。推荐可以涉及待生成的服务、用于服务的服务类别和用于服务的部署模型。人工智能技术可以基于应用信息来生成推荐。一个或多个指令还可以使得一个或多个处理器基于服务类别和应用信息来自动生成用于服务的代码,经由部署模型来接收对于部署用于服务的生成的代码的请求,并且基于请求来部署生成的代码,以经由部署模型来提供服务。
在一些实现方式中,一种方法可以包括由设备接收与单体应用相关联的应用信息,并且由该设备基于利用人工智能技术来生成推荐。推荐可以涉及待生成的服务、用于服务的服务类别和用于服务的部署模型。人工智能技术可以基于应用信息来生成推荐。该方法还可以包括:由该设备基于服务类别和应用信息来自动生成用于服务的代码;由该设备经由部署模型来接收对于部署用于服务的生成的代码的请求;由该设备并且基于请求来部署生成的代码,以经由部署模型来提供服务。
附图说明
图1A至图1G是本文中描述的示例实现方式的概述的示图;
图2是其中可以实现本文中描述的系统和/或方法的示例环境的示图;
图3是图2的一个或多个设备的示例组件的示图;以及
图4是用于基于单体应用来生成一个或多个服务的示例过程的流程图。
具体实施方式
示例实现方式的以下详细描述参考附图。不同附图中的相同的附图标记可以标识相同或相似的元素。
由于多种原因,已经看到了云计算的越来越多的用途,包括成本节省、易维护性、可扩展性和多功能性。云计算提供了单体应用不适合的一定级别的可扩展性和多功能性。例如,假定单体应用的特定元素以特定速率处理数据。由于单体应用是单个程序,所以当数据速率增加超过特定速率时,特定元素可能无法可扩展。这可能导致瓶颈和其他低效率。
很多应用提供商正在将单体应用替换为一组服务或微服务。微服务是一组可独立部署的小型模块化服务(例如,软件应用),其中每项服务都执行独特的过程并且通过定义良好的轻量级的机制通信以实现业务目标。一组服务或微服务可以在云环境中提供可扩展性,因为如果特定服务导致瓶颈,则特定服务可以在云环境中被复制或并行化。但是,在用一组服务替换应用时会出现很多困难。作为一个示例,考虑其中单体业务应用正在被替换为一组业务服务的业务环境。在这种情况中,应用设计人员可能需要标识应当被优先考虑的业务和技术需求(imperative),并且可能需要标识应用的、需要从头开始被现代化或构建以满足业务需求的服务。此外,应用设计人员可以从使用预定义的、高度可用的和/或始终可用的应用编程接口(API)受益。
上述的一个挑战是具有关于业务需求的信息的实体可能与具有关于技术需求的知识的实体不同,并且这两者可能不同于创建业务服务的应用工程师。因此,应用工程师可能缺乏对业务和技术需求的完全可见性。此外,即使应用工程师完全了解业务和技术需求,应用工程师也可能使用主观的、容易出错的或非严格的方法来优先考虑业务和技术需求。这可能会导致开发无法充分满足业务和技术需求的一组业务服务。此外,在一些情况中,应用工程师可能不会使用严格的方法来选择API。在这种情况中,需要从头开始被现代化或构建的服务的标识、服务的创建以及服务的现代化可能不一致且效率低下。此外,将这些服务部署到云环境可能会涉及很大的运营开销。
本文中描述的一些实现方式提供了一种无缝且交互式的方式来从传统的单体应用标识并且创建面向未来的服务。例如,本文中描述的一些实现方式可以利用人工智能(AI)来标识可以基于与应用相关联的业务需求和/或技术需求和/或基于与应用相关联的实体通过服务或微服务的集成而被现代化(例如,从头开始更新或构建)的单片应用。附加地或备选地,本文中描述的一些实现方式可以为服务或微服务生成代码,并且可以部署生成的代码,以便经由服务或微服务来实现单体应用。
图1A至图1G是本文中描述的示例实现方式100的概述的示图。如图1A中所示,用户设备和服务器设备可以与云工程平台相关联。服务器设备可以与诸如单体应用的应用相关联。如图1A中通过附图标记105所示,用户设备和服务器设备可以向云工程平台提供应用信息。在一些实现方式中,应用信息可以包括与应用相关联的信息。例如,应用信息可以包括应用的代码、关于应用的技术参数的信息、应用的业务参数、与应用相关联的业务需求和/或技术需求、应用的软件许可协议、与应用相关联的可用性信息、应用的操作需求等。
在一些实现方式中,应用信息可以以特定格式而被提供,诸如包括应用信息的电子表格格式、包括应用信息的基于电子表格的调查问卷等。在一些实现方式中,用户设备或服务器设备可以向用户设备或服务器设备的用户提供特定格式,并且用户可以经由特定格式提供应用信息。在一些实现方式中,云工程平台可以向用户设备或服务器设备提供特定格式(例如,用于显示),并且用户可以经由特定格式提供应用信息。在一些实现方式中,云工程平台可以自动从服务器设备和/或从其他设备(例如,提供与业务参数、业务需求、能够托管应用的架构等相关联的信息的设备)检索应用信息。
如在图1A中并且通过附图标记110进一步所示,云工程平台可以接收应用信息,并且可以将应用信息存储在数据结构中,诸如数据库、表格、链表、树等。在一些实现方式中,数据结构可以在与云工程平台相关联的存储器中被提供。云工程平台可以存储应用信息,以便云工程平台可以对应用信息执行进一步处理,诸如确定可以基于应用来生成的服务或微服务。在一些实现方式中,云工程平台可以提供安全特征,诸如与保险库或秘密数据源的集成以用于跨服务和/或容器来安全地分发机密数据。
如图1B中所示,由云工程平台提供的人工智能(AI)模型可以从数据结构中检索或接收应用信息,如附图标记105所指示的。在一些实现方式中,AI模型可以包括机器学习模型、朴素贝叶斯偏向分类器模型、深度学习神经网络模型、神经网络模型、支持向量机模型等。在一些实现方式中,云工程平台可以使用自然语言处理来处理应用信息。在这种情况中,AI模型可以包括识别、解析和/或解释应用信息的自然语言处理应用或与其相关联。自然语言处理是涉及计算机与人类(自然)语言之间的交互并且在一些情况中可能特别地涉及编程计算机以有成效地处理大型自然语言语料库的计算机科学、人工智能和/或计算语言学领域。
如在图1B中并且通过附图标记115进一步所示,AI模型可以标识要从应用来生成的推荐的服务(或微服务)。例如,AI模型可以确定可以从应用来生成两个服务(例如,服务1和服务2)。在一些实现方式中,AI模型可以标识可以使用推荐的服务来递送的新的能力,可以标识可以使用推荐的服务来服务的应用编程接口(API)或API的类型,可以标识可以使用推荐的服务来加速或改进的业务需求等。
如在图1B中并且通过附图标记120进一步所示,AI模型可以标识每个推荐的服务(或微服务)的服务类别。在一些实现方式中,服务类别可以包括“保持原样”类别(例如,指示应用不需要被改变以实现推荐的服务)、“构建新的”类别(例如,指示应用可能没有提供推荐的服务,并且推荐的服务需要被创建)、“现代化”类别(例如,指示应用需要进行现代化以便实现推荐的服务)等。例如,AI模型可以将服务1分类为“保持原样”类别,指示应用不需要被改变以实现服务1。AI模型可以将服务2分类在“构建新的”类别,指示应用可能没有提供服务2,并且服务2需要被创建。
如在图1B中并且通过附图标记125进一步所示,AI模型可以标识最适合于每个推荐的服务(或微服务)的部署模型。在一些实现方式中,部署模型可以包括web服务上信息即服务(IAAS)、云应用平台上的IAAS、云应用平台上的平台即服务(PAAS)、多云平台部署等。例如,AI模型可以确定服务1最适合于被部署为web服务上的IAAS,而服务2最适合于被部署为多云平台部署。
在一些实现方式中,AI模型可以基于技术可行性和业务影响的组合来标识哪些应用需要被现代化(例如,重新作为因素考虑或重新设计)为服务或微服务。在一些实现方式中,AI模型可以确定通过创建新的服务或微服务可以递送哪些新功能。在一些实现方式中,AI模型可以通过利用这些新的或现代化的服务来确定可以服务于哪种类型的API。在一些实现方式中,AI模型可以确定新的或现代化的服务可以加速什么业务需求。在一些实现方式中,AI模型可以提供关于业务需求如何可能受益于推荐的分析。
如图1B中进一步所示,当标识推荐的服务、服务类别和/或部署模型时,AI模型可以与一个或多个聊天机器人(例如,经由听觉或文本方法进行对话的计算机程序)交互。在这样的实现方式中,聊天机器人可以提供用于用户向AI模型进行输入并且与之进行交互的机制。例如,聊天机器人可以指导以下过程:确定推荐的服务,确定推荐的用于服务的服务类别,以及确定推荐的用于服务的部署模型。在一些实现方式中,每个聊天机器人可以包括人工智能虚拟助理(AIVA)聊天机器人、JavaScript(JS)聊天机器人、节点JS(或Node.js、开源JavaScript运行时环境)聊天机器人、Hubot聊天机器人等。
在一些实现方式中,云工程平台的用户可以被呈现标识推荐的服务、服务类别和部署模型的信息,并且可以选择推荐的服务、服务类别和/或部署模型中的一个或多个用于进一步处理。在一些实现方式中,云工程平台可以自动选择推荐的服务、服务类别和/或部署模型中的一个或多个用于进一步处理。
如图1C中所示,根据云工程平台或用户选择的推荐的服务,云工程平台可以迁移应用以实现推荐的服务或者为推荐的服务生成新的代码。例如,由于云工程平台确定应用不需要被修改以实现服务1,所以云工程平台可以将与服务1相关联的信息提供给云工程平台的服务迁移实用程序。在一些实现方式中,服务迁移实用程序可以包括spring启动服务迁移实用程序、spring云服务迁移实用程序、节点JavaScript(JS)服务迁移实用程序、用webpack编译的react.js代码等。在一些实现方式中,服务迁移实用程序可以将现有的应用代码自动转换为服务(例如,使用spring启动、spring云、节点JS、HTML5/React.js、spring云无服务器、AWS Lambda和/或类似语言)。本文中描述的一些实现方式可以是可扩展的以涵盖其他语言。如通过附图标记130所示,服务迁移实用程序可以迁移应用以在IAAS中实现服务1。例如,服务迁移实用程序可以通过以下方式来迁移应用:为应用创建web归档,基于web归档和目标位置来执行转换实用程序,并且基于执行转换实用程序来生成补救的随机运行代码,以支持服务发现和注册、分布式日志记录和云实现。
在另一示例中,由于云工程平台确定应用可能没有提供服务2并且服务2需要被创建,所以云工程平台可以将与服务2相关联的信息提供给云工程平台的代码生成实用程序。在一些实现方式中,代码生成实用程序可以包括基于模板的代码生成实用程序、spring启动代码生成实用程序等。在一些实现方式中,代码生成实用程序可以使用可重用模板或场景概述(诸如cucumber轮廓等)使代码生成自动化。在一些实现方式中,代码生成实用程序可以使服务或微服务的数据访问层或系统(诸如数据库管理系统、数据源、大数据系统等)的创建自动化。如通过附图标记135所示,代码生成实用程序可以生成新的代码(例如,新的应用)以在多云平台中实现服务2。
如图1C中进一步所示,服务迁移实用程序和代码生成实用程序可以分别在迁移应用和生成新的代码时与一个或多个聊天机器人交互。在这样的实现方式中,聊天机器人可以提供用于用户向服务迁移实用程序和代码生成实用程序进行输入并且与之进行交互的机制。例如,聊天机器人可以指导用于迁移应用以在IAAS中实现服务1的过程,可以指导用于生成新的应用以在多云平台中实现服务2的过程,等等。在一些实现方式中,云工程平台可以提供对生成的服务(例如,迁移的应用或生成的新的应用)的自动化监测。例如,云工程平台可以对生成的服务执行测试以确定生成的服务是否正常运行。
如图1D中并且通过附图标记140所示,云工程平台可以向云工程平台的部署自动化机制提供与以下各项相关联的信息:待部署的服务(例如,服务1)、用于服务的部署模型(例如,IAAS)、服务的部署参数、服务的部署拓扑等。如图1D中并且通过附图标记145进一步示出的,云工程平台可以向部署自动化机制提供与以下各项相关联的信息:待部署的服务(例如,服务2)、用于服务的部署模型(例如,多云平台)、服务的部署参数、服务的部署拓扑等。
在一些实现方式中,部署参数可以包括经由相应的部署模型来部署推荐的服务或微服务的指令。在一些实现方式中,部署拓扑可以跨各种云提供商包括始终在线部署拓扑、单云部署拓扑、多云部署拓扑、蓝绿色部署拓扑等。
在一些实现方式中,部署自动化机制可以使目标平台上的推荐的服务的开发操作和容器化脚本(例如,服务类别)自动化。例如,如通过附图标记150所示,部署自动化机制可以将服务1(例如,迁移的应用)部署在IAAS框架中。在另一示例中,如通过附图标记155所示,部署自动化机制可以将服务2(例如,新的应用)部署在多云平台中。在一些实现方式中,部署自动化机制可以包括Docker机制(例如,使用容器来创建、部署和/或执行应用的技术)、Salt机制(例如,基于Python的开源配置管理软件和远程执行引擎)、Terraform机制(例如,作为代码软件的基础设施)等。在一些实现方式中,云工程平台可以提供对部署的服务的自动化监测。例如,云工程平台可以对部署的服务执行测试以确定部署的服务是否正常工作。在一些实现方式中,当部署服务时,云工程平台可以提供跨容器、系统、环境来管理和保护机密信息的安全环境(例如,经由加密等)。
如图1D中进一步所示,当部署推荐的服务时,部署自动化机制可以与一个或多个聊天机器人交互。在这样的实现方式中,聊天机器人可以提供用于用户向部署自动化机制进行输入并且与之进行交互的机制。例如,聊天机器人可以指导在IAAS或PAAS框架中部署服务1的过程,可以指导在多云平台中部署服务2的过程,等等。对IAAS和PAAS框架的部署可以基于诸如不可变基础设施、不可变环境、服务发现、断路器和蓝/绿部署等原则,其中代码和devops脚本由聊天机器人来生成。
部署自动化可以提供对应用代码、devops脚本、基于容器的脚本、构建脚本、配置文件等到连续部署框架(例如,Fabric8)的转移进行自动化的聊天机器人。通过该框架,可以实现诸如持续部署工作流程、金丝雀发布、A/B测试和到生产的部署等特征。
由聊天机器人创建的架构可以包括安全特征,诸如用于自动提供用于存储秘密的保险库的脚本的创建、防火墙规则和通过诸如逆向代理服务器场等入口方法进行的表面积减少。用于供应这些的脚本可以由聊天机器人自动生成。
如图1E中并且通过附图标记160所示,云工程平台可以利用聊天机器人来提供帮助生成新的代码(例如,新的应用)以基于应用来创建新的服务的用户界面。例如,云工程平台的用户可以利用用户界面来指示用户希望基于应用来创建新的服务。用户界面可以提供用于创建新的服务、用于基于应用来创建新的代码等的助理。在一些实现方式中,用户可以与聊天机器人聊天并且基于应用来提供服务生成所需要的输入。一旦用户使用聊天机器人触发服务生成,就可以创建服务并且可以向用户提供用户可以验证日志并且下载生成的服务的源代码的地址(例如,统一资源定位符URL)。
如图1F中并且通过附图标记165所示,云工程平台可以利用聊天机器人来提供帮助迁移应用以提供新的服务的用户界面。例如,云工程平台的用户可以利用用户界面来指示用户希望迁移应用以创建新的服务。用户界面可以提供用于转换应用的现有代码、用于将转换后的代码迁移到目标平台等的助理。在一些实现方式中,用户可以与聊天机器人聊天并且提供应用迁移所需要的输入。一旦用户使用聊天机器人触发应用迁移,就可以迁移应用并且可以向用户提供用户可以验证日志并且下载迁移的应用的源代码的地址(例如,URL)。
如图1G中并且通过附图标记170所示,云工程平台可以利用聊天机器人来提供帮助部署基于应用而创建的新的服务的用户界面。例如,云工程平台的用户可以利用用户界面来指示用户希望部署新的服务。用户界面可以提供用于部署迁移的应用、用于部署新的服务等的助理。在一些实现方式中,用户可以与聊天机器人聊天并且提供部署迁移的应用或新的服务所需要的输入。一旦用户使用聊天机器人触发部署,就可以部署迁移的应用或新的服务并且可以向用户提供用户可以验证部署日志并且启动迁移的应用或新的服务的地址(例如,URL)。
以这种方式,应用设计或现代化过程的几个不同阶段使用AI被自动化,AI可以消除来自过程的人类主观性和浪费并且可以提高过程的速度和效率并且节约计算资源(例如,处理器、存储器等)。此外,本文中描述的实现使用严格的计算机化的过程来执行先前使用主观人类直觉或输入执行的任务或角色。这些角色可以包括业务和技术需求的标识和优先级划分、可以被现代化或应当从头开始构建的服务或微服务的标识、用于创建服务或微服务的代码转换、用于服务或微服务的数据访问层创建、对部署环境或部署模型的选择、安全流程或程序、和/或跨多个不同云提供商的部署的管理。此外,通过自动化服务创建和部署过程,先前由单体应用执行的服务和/或过程的性能得到改善。
如上所述,图1A至图1G仅作为示例而被提供。其他示例是可能的并且可能不同于关于图1A至图1G而被描述的示例。
图2是其中可以实现本文中描述的系统和/或方法的示例环境200的示图。如图2中所示,环境200可以包括用户设备210、云计算工程平台220、服务器设备230和网络240。环境200的设备可以经由有线连接、无线连接或有线和无线连接的组合进行互连。
用户设备210包括能够接收、生成、存储、处理和/或提供信息(诸如本文中描述的信息)的一个或多个设备。例如,用户设备210可以包括移动电话(例如,智能电话、无线电话等)、膝上型计算机、平板计算机、台式计算机、手持式计算机、游戏设备、可穿戴通信设备(例如,智能手表、智能眼镜等)或类似类型的设备。在一些实现方式中,用户设备210可以从云工程平台220和/或服务器设备230接收信息和/或向其传输信息。
云工程平台220包括进行以下操作的一个或多个设备:基于单体应用来标识服务或微服务,为服务或微服务生成代码,以及部署生成的代码使得单体应用经由服务或微服务而被实现。在一些实现方式中,云工程平台220可以被设计为是模块化的,使得某些软件组件可以根据特定需要被换入和换出。这样,云工程平台220可以容易地和/或快速地被重新配置用于不同的用途。在一些实现方式中,云工程平台220可以从一个或多个用户设备210和/或服务器设备230接收信息和/或向其传输信息。
在一些实现方式中,如所示,云工程平台220可以被托管在云计算环境222中。值得注意的是,虽然本文中描述的实现方式将云工程平台220描述为托管在云计算环境222中,但是在一些实现方式中,云工程平台220可以不是基于云的(即,可以在云计算环境之外实现),或者可以是部分基于云的。
云计算环境222包括云工程平台220的环境。云计算环境222可以提供不需要最终用户知道云工程平台220的系统和/或设备的物理位置和配置的计算、软件、数据访问、存储等服务。如所示,云计算环境222可以包括一组计算资源224(被统称为“计算资源224”,并且被单独称为“计算资源224”)。
计算资源224包括一个或多个个人计算机、工作站计算机、服务器设备或其他类型的计算和/或通信设备。在一些实现方式中,计算资源224可以托管云工程平台220。云资源可以包括在计算资源224中执行的计算实例、在计算资源224中提供的存储设备、由计算资源224提供的数据传送设备等。在一些实现方式中,资源224可以经由有线连接、无线连接或有线和无线连接的组合与其他计算资源224通信。
如图2中进一步所示,计算资源224包括一组云资源,诸如一个或多个应用(“APP”)224-1、一个或多个虚拟机(“VM”)224-2、虚拟化存储装置(“VS”)224-3、一个或多个管理程序(“HYP”)224-4等。
应用224-1包括可以被提供给用户设备210和/或服务器设备230或被用户设备210和/或服务器设备230访问的一个或多个软件应用。应用224-1可以消除在用户设备210和/或服务器设备230上安装和执行软件应用的需要。例如,应用224-1可以包括与云工程平台220相关联的软件和/或能够经由云计算环境222提供的任何其他软件。在一些实现方式中,一个应用224-1可以经由虚拟机224-2向/从一个或多个其他应用224-1发送/接收信息。
虚拟机224-2包括像物理机器一样执行程序的机器(例如,计算机)的软件实现方式。虚拟机224-2可以是系统虚拟机或进程虚拟机,这取决于虚拟机224-2与任何真实机器的使用和对应程度。系统虚拟机可以提供支持完整操作系统(“OS”)的执行的完整系统平台。进程虚拟机可以执行单个程序,并且可以支持单个进程。在一些实现方式中,虚拟机224-2可以代表用户(例如,服务器设备230或云工程平台220的操作人员)执行,并且可以管理云计算环境222的基础设施,诸如数据管理、同步或长持续时间数据传送。
虚拟化存储装置224-3包括在计算资源224的存储系统或设备内使用虚拟化技术的一个或多个存储系统和/或一个或多个设备。在一些实现方式中,在存储系统的上下文中,虚拟化可以包括块虚拟化和文件虚拟化。块虚拟化可以是指逻辑存储与物理存储的抽象(或分离),使得可以访问存储系统而不考虑物理存储或异构结构。分离可以允许存储系统的管理员灵活地管理管理员如何管理最终用户的存储。文件虚拟化可以消除在文件级别访问的数据与物理地存储文件的位置之间的依赖关系。这可以实现存储使用的优化、服务器整合和/或无中断文件迁移的性能。
管理程序224-4可以提供允许多个操作系统(例如,“客户操作系统”)在诸如计算资源224等主计算机上并行执行的硬件虚拟化技术。管理程序224-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的执行。多种操作系统的多个实例可以共享虚拟化硬件资源。
服务器设备230包括能够与环境200中包括的一个或多个其他设备通信的设备。例如,服务器设备230可以包括计算设备,诸如服务器、台式计算机、膝上型计算机、平板计算机、手持式计算机或类似设备。在一些实现方式中,服务器设备230可以从用户设备210和/或云工程平台220接收信息和/或向其传输信息。
网络240包括一个或多个有线和/或无线网络。例如,网络240可以包括蜂窝网络(例如,第五代(5G)网络、长期演进(LTE)网络、第三代(3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网(PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等、和/或这些或其他类型的网络的组合。
图2中所示的设备和网络的数目和布置作为示例而被提供。实际上,可以存在与图2中所示的那些相比更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或者不同布置的设备和/或网络。此外,图2中所示的两个或更多个设备可以在单个设备内被实现,或者图2中所示的单个设备可以被实现为多个分布式设备。附加地或备选地,环境200的一组设备(例如,一个或多个设备)可以执行被描述为由环境200的另一组设备执行的一个或多个功能。
图3是设备300的示例组件的示图。设备300可以对应于用户设备210、云工程平台220、计算资源224和/或服务器设备230。在一些实现方式中,用户设备210、云工程平台220、计算资源224和/或服务器设备230可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3中所示,设备300可以包括总线310、处理器320、存储器330、存储组件340、输入组件350、输出组件360和通信接口370。
总线310包括允许设备300的组件之间的通信的组件。处理器320以硬件、固件或硬件和软件的组合而被实现。处理器320是:中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或另一类型的处理组件。在一些实现方式中,处理器320包括能够被编程为执行功能的一个或多个处理器。存储器330包括存储随机存取存储器(RAM)、只读存储器(ROM)和/或另一类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器),其存储用于由处理器320使用的信息和/或指令。
存储组件340存储与设备300的操作和使用相关的信息和/或软件。例如,存储组件340可以包括硬盘(例如,磁盘、光盘、磁光盘、和/或固态盘)、光盘(CD)、数字多功能盘(DVD)、软盘、盒式磁带、磁带和/或另一类型的非暂态计算机可读介质以及相应的驱动器。
输入组件350包括允许设备300接收信息的组件,诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)。附加地或备选地,输入组件350可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速度计、陀螺仪和/或致动器)。输出组件360包括提供来自设备300的输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(LED))。
通信接口370包括使得设备300能够诸如经由有线连接、无线连接或有线和无线连接的组合与其他设备通信的类似收发器的组件(例如,收发器和/或单独的接收器和发射器)。通信接口370可以允许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口370可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备300可以执行本文中描述的一个或多个过程。设备300可以基于处理器320执行由诸如存储器330和/或存储组件340等非暂态计算机可读介质存储的软件指令来执行这些处理。计算机可读介质在本文中被定义为非暂态存储器设备。存储器设备包括在单个物理存储设备内的存储器空间或分布在多个物理存储设备上的存储器空间。
软件指令可以经由通信接口370从另一计算机可读介质或从另一设备读取到存储器330和/或存储组件340中。当被执行时,存储在存储器330和/或存储组件340中的软件指令可以使得处理器320执行本文中描述的一个或多个过程。附加地或备选地,可以使用硬连线电路来代替软件指令或与软件指令相结合来执行本文中描述的一个或多个过程。因此,本文中描述的实现方式不限于硬件电路和软件的任何特定组合。
图3中所示的组件的数目和布置作为示例而被提供。实际上,设备300可以包括与图3中所示的那些相比不同的组件、更少的组件、不同的组件或不同的布置的组件。附加地或备选地,设备300的一组组件(例如,一个或多个组件)可以执行被描述为由设备300的另一组组件执行的一个或多个功能。
图4是用于基于单体应用来生成一个或多个服务的示例过程400的流程图。在一些实现方式中,图4的一个或多个过程框可以由云工程平台220执行。在一些实现方式中,图4的一个或多个过程框可以由与云工程平台220分开或包括云工程平台220的另一设备或一组设备(诸如用户设备210和/或服务器设备230)执行。
如图4中所示,过程400可以包括接收与单体应用相关联的应用信息(框410)。例如,云工程平台220可以接收与单体应用相关联的应用信息。在一些实现方式中,服务器设备230可以与单体应用相关联。用户设备210和/或服务器设备230可以将应用信息提供给云工程平台220,并且云工程平台220可以从用户设备210和/或服务器设备230接收应用信息。在一些实现方式中,应用信息可以包括应用的代码、关于应用的技术参数的信息、应用的业务参数、与应用相关联的业务需求和/或技术需求、应用的软件许可协议、与应用相关的可用性信息、应用的操作需求等。
如图4中进一步所示,过程400可以包括利用人工智能、基于应用信息来推荐待生成的服务、用于服务的服务类别和用于服务的部署模型(框420)。例如,云工程平台220可以利用人工智能来基于应用信息来推荐待生成的服务、用于服务的服务类别和用于服务的部署模型。在一些实现方式中,云工程平台220可以将应用信息提供给AI模型,并且AI模型可以基于应用信息来标识要从应用来生成的推荐的服务(或微服务)。
在一些实现方式中,AI模型可以标识每个推荐的服务(或微服务)的服务类别。在一些实现方式中,服务类别可以包括“保持原样”类别(例如,指示应用不需要被改变以实现推荐的服务)、“构建新的”类别(例如,指示应用可能没有提供推荐的服务,并且推荐的服务需要被建立)、“现代化”类别(例如,指示应用需要进行现代化以实现推荐的服务)等。在一些实现方式中,AI模型可以标识最适合于每个推荐的服务(或微服务)的部署模型。在一些实现方式中,部署模型可以包括web服务上的IAAS、云应用平台上的IAAS、云应用平台上的PAAS、多云平台部署等。
如图4中进一步所示,过程400可以包括接收对来自服务的服务的选择、对来自服务类别的服务类别的选择和对来自部署模型的部署模型的选择(框430)。例如,云工程平台220可以接收来自服务的对服务的选择、来自服务类别的对服务类别的选择和来自部署模型的对部署模型的选择。在一些实现方式中,云工程平台220可以接收对服务和部署模型的选择,而不是对服务类别的选择。在一些实现方式中,云工程平台220可以在接收对部署模型的选择之前接收对服务的选择。
在一些实现方式中,云工程平台220可以从云工程平台220的用户接收对服务、对服务类别和/或部署模型的选择。在一些实现方式中,云工程平台220可以自动选择服务、服务类别和/或部署模式,而无需用户与云工程平台220交互。
如图4中进一步所示,过程400可以包括基于服务类别和应用信息来生成用于服务的代码(框440)。例如,云工程平台220可以基于服务类别和应用信息生成用于服务的代码。在一些实现方式中,如果服务类别指示应用不需要被改变以实现服务,则云工程平台220可以将与服务相关联的信息提供给云工程平台220的服务迁移实用程序。在一些实现方式中,服务迁移实用程序可以将现有的应用代码自动转换为服务(例如,使用spring启动、spring云、节点JS和/或类似语言)。
在一些实现方式中,如果服务类别指示应用可能没有提供服务并且服务需要被创建,则云工程平台220可以将与服务相关联的信息提供给云工程平台220的代码生成实用程序。在一些实现方式中,代码生成实用程序可以使用可重用模板或场景概述(诸如cucumber轮廓等)使代码生成自动化。在一些实现方式中,代码生成实用程序可以生成新的代码(例如,新的应用)以实现服务。
如图4中进一步所示,过程400可以包括接收经由部署模型来部署服务的生成的代码的请求(框450)。例如,云工程平台220可以接收经由部署模型来部署服务的生成的代码的请求。在一些实现方式中,云工程平台220可以从云工程平台220的用户接收部署生成的代码的请求。在一些实现方式中,一旦代码被生成并且在没有用户与云工程平台220交互的情况中,云工程平台220就可以自动部署生成的代码。
如图4中进一步所示,过程400可以包括基于请求来部署生成的代码以经由部署模型来提供服务(框460)。例如,云工程平台220可以基于请求来部署生成的代码以经由部署模型来提供服务。在一些实现方式中,云工程平台220可以将与待部署的服务相关联的信息、用于服务的部署模型、服务的部署参数、服务的部署拓扑等提供给云工程平台220的部署自动化机制。在一些实现方式中,部署参数可以包括用于经由部署模型来部署服务的指令,并且部署拓扑可以跨各种云提供商包括始终在线部署拓扑、单云部署拓扑、多云部署拓扑、蓝绿色部署拓扑等。在一些实现方式中,部署自动化机制可以经由部署模型来部署服务。
在一些实现方式中,云工程平台220可以将生成的代码部署在远离云工程平台220的一个或多个设备中,并且该一个或多个设备可以基于生成的代码的部署来提供服务。在一些实现方式中,云工程平台220可以将生成的代码部署在云工程平台220内。在这样的实现方式中,云工程平台220可以选择能够执行生成的代码、可以提供服务等的一个或多个VM(例如,在云计算环境222内)。云工程平台220可以将生成的代码部署在一个或多个VM中,并且该一个或多个VM可以基于生成的代码的部署来提供服务。
在一些实现方式中,一旦生成的代码被部署,服务就可以被一个或多个用户访问,使得服务的功能可以可用于一个或多个用户。例如,服务可以包括但不限于软件定义的基础设施服务、部署管理服务、安全管理服务、业务服务、web服务、金融服务、计费服务、移动服务、制造服务等。
虽然图4展示过程400的示例框,但在一些实现方式中,过程400可以包括与图4中描绘的那些框相比的更多的框、更少的框、不同的框或不同地布置的框。附加地或备选地,过程400的两个或更多个框可以并行执行。
本文中描述的一些实现方式提供了一种无缝且交互式的方式来从传统的单体应用标识并且创建面向未来的服务。例如,本文中描述的一些实现方式可以利用AI来标识可以基于与应用相关联的业务需求和/或技术需求和/或基于与应用相关联的实体通过服务或微服务的集成来现代化(例如,从头开始更新或构建)的单片应用。附加地或备选地,本文中描述的一些实现方式可以为服务或微服务生成代码,并且可以部署生成的代码,以便经由服务或微服务来实现单体应用。
在本公开内容的一个示例中,公开了一种设备,包括:一个或多个存储器;以及被通信地耦合到所述一个或多个存储器的一个或多个处理器,用来:接收与单体应用相关联的应用信息;基于利用人工智能技术来生成推荐,所述推荐涉及:待生成的服务,用于所述服务的服务类别,以及用于所述服务的部署模型,所述人工智能技术基于所述应用信息来生成所述推荐;基于所述服务类别和所述应用信息来自动生成用于所述服务的代码;经由所述部署模型来接收对于部署用于所述服务的生成的所述代码的请求;以及基于所述请求来部署生成的所述代码,以经由所述部署模型来提供所述服务。
在所述设备中,其中当自动生成所述代码时,所述一个或多个处理器用来:确定所述单体应用要经由所述部署模型而被迁移;以及基于确定所述单体应用要经由所述部署模型而被迁移来将所述单体应用自动转换为生成的所述代码。
在所述设备中,其中当自动生成所述代码时,所述一个或多个处理器用来:确定所述服务无法从所述单体应用而被生成;以及在不参考所述单体应用的情况下并且基于确定所述服务无法从所述单体应用而被生成,来自动生成所述代码。
在所述设备中,其中所述一个或多个处理器还用来:向与所述应用信息相关联的另一设备提供用于所述应用信息的特定格式;以及从所述另一设备接收按照所述特定格式的所述应用信息。
在所述设备中,其中所述服务包括一个或多个微服务。
在所述设备中,其中所述部署模型包括以下中的一项或多项:web服务上的信息即服务(IAAS),云应用平台上的IAAS,云应用平台上的平台即服务(PAAS),或者多云平台部署。
在所述设备中,其中所述一个或多个处理器还用来:提供一个或多个聊天机器人以协助自动生成所述代码或部署生成的所述代码。
在本公开内容的另一示例中,公开了一种非暂态计算机可读介质,其存储指令,所述指令包括:一个或多个指令,所述一个或多个指令在由一个或多个处理器执行时,使得所述一个或多个处理器:接收与单体应用相关联的应用信息;基于利用人工智能技术来生成推荐:所述推荐涉及:待生成的服务,用于所述服务的服务类别,以及用于所述服务的部署模型,所述人工智能技术基于所述应用信息来生成所述推荐;基于所述服务类别和所述应用信息来自动生成用于所述服务的代码;经由所述部署模型来接收对于部署用于所述服务的生成的所述代码的请求;以及基于所述请求来部署生成的所述代码,以经由所述部署模型来提供所述服务。
在所述非暂态计算机可读介质中,其中使得所述一个或多个处理器自动生成所述代码的所述一个或多个指令使得所述一个或多个处理器:确定所述单体应用要经由所述部署模型而被迁移;以及基于确定所述单体应用要经由所述部署模型而被迁移来将所述单体应用自动转换为生成的所述代码。
在所述非暂态计算机可读介质中,其中使得所述一个或多个处理器自动生成所述代码的所述一个或多个指令使得所述一个或多个处理器:确定所述服务无法从所述单体应用而被生成;以及在不参考所述单体应用的情况下并且基于确定所述服务无法从所述单体应用而被生成,来自动生成所述代码。
在所述非暂态计算机可读介质中,其中所述指令还包括:一个或多个指令,所述一个或多个指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器:向与所述应用信息相关联的设备提供用于所述应用信息的特定格式;以及从所述设备接收按照所述特定格式的所述应用信息。
在所述非暂态计算机可读介质中,其中所述服务包括一个或多个微服务。
在所述非暂态计算机可读介质中,其中所述部署模型包括以下中的一项或多项:web服务上的信息即服务(IAAS),云应用平台上的IAAS,云应用平台上的平台即服务(PAAS),或者多云平台部署。
在所述非暂态计算机可读介质中,其中所述指令还包括:一个或多个指令,所述一个或多个指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器:提供一个或多个聊天机器人;以及经由所述一个或多个聊天机器人来接收信息以协助部署生成的所述代码;其中使得所述一个或多个处理器部署生成的所述代码的所述一个或多个指令使得所述一个或多个处理器:基于所述信息来部署生成的所述代码以协助部署生成的所述代码。
在本公开内容的又一示例中,公开了一种方法,包括:由设备接收与单体应用相关联的应用信息;由所述设备基于利用人工智能技术来生成推荐:所述推荐涉及:待生成的服务,用于所述服务的服务类别,以及用于所述服务的部署模型,所述人工智能技术基于所述应用信息来生成所述推荐;由所述设备基于所述服务类别和所述应用信息来自动生成用于所述服务的代码;由所述设备经由所述部署模型来接收对于部署用于所述服务的生成的所述代码的请求;以及由所述设备并且基于所述请求来部署生成的所述代码,以经由所述部署模型来提供所述服务。
在所述方法中,其中自动生成所述代码包括:确定所述单体应用要经由所述部署模型而被迁移;以及基于确定所述单体应用要经由所述部署模型而被迁移来将所述单体应用自动转换为生成的所述代码。
在所述方法中,其中自动生成所述代码包括:确定所述服务无法从所述单体应用而被生成;以及在不参考所述单体应用的情况下并且基于确定所述服务无法从所述单体应用而被生成,来自动生成所述代码。
在所述方法中,还包括:向与所述应用信息相关联的另一设备提供用于所述应用信息的特定格式;以及从所述另一设备接收按照所述特定格式的所述应用信息。
在所述方法中,其中所述部署模型包括以下中的一项或多项:web服务上的信息即服务(IAAS),云应用平台上的IAAS,云应用平台上的平台即服务(PAAS),或者多云平台部署。
在所述方法中,还包括:提供一个或多个聊天机器人以协助自动生成所述代码或部署生成的所述代码。
前面的公开内容提供了说明和描述,但是并非旨在穷尽或将实现方式限于所公开的精确形式。鉴于上述公开内容,修改和变化是可能的,或者可以从实现方式的实践中获取。
如本文中使用的,术语组件旨在被广义地解释为硬件、固件或硬件和软件的组合。
本文中已经描述和/或在附图中示出了某些用户界面。用户界面可以包括图形用户界面、非图形用户界面、基于文本的用户界面等。用户界面可以提供用于显示的信息。在一些实现方式中,用户可以与信息交互,诸如通过经由提供用户界面的设备的输入组件来提供输入用于显示。在一些实现方式中,用户界面可以由设备和/或用户可配置(例如,用户可以改变用户界面的大小、经由用户界面提供的信息、经由用户界面提供的信息的位置等)。附加地或备选地,用户界面可以被预先配置为标准配置、基于显示用户界面的设备类型的特定配置、和/或基于与显示用户界面的设备相关联的能力和/或规格的一组配置。
显而易见的是,本文中描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合而被实现。用于实现这些系统和/或方法的实际的专用控制硬件或软件代码不是对实现方式的限制。因此,本文中描述了系统和/或方法的操作和行为,而没有参考具体的软件代码,应当理解,软件和硬件可以被设计为基于本文中的描述来实现这些系统和/或方法。
尽管特征的特定组合在权利要求中列举和/或在说明书中公开,但是这些组合不意图限制可能的实现方式的公开内容。实际上,这些特征中的很多特征可以以未在权利要求中具体记载和/或在说明书中公开的方式组合。尽管下面列出的每个从属权利要求可以仅直接依赖于一项权利要求,但是可能的实现方式的公开内容包括每个从属权利要求与权利要求集合中的每个其他权利要求的组合。
除非明确地如此描述,否则本文中使用的任何元素、动作或指令都不应当被解释为是关键或必要的。而且,如本文中使用的,冠词“一个(a)”和“一个(an)”旨在包括一个或多个项目,并且可以与“一个或多个”可互换地使用。此外,如本文中使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关项目和不相关项目的组合等),并且可以与“一个或多个”可互换地使用。在意图只有一个项目的情况中,使用术语“一个(one)”或类似的语言。而且,如本文中使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等意图是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分基于”。
Claims (20)
1.一种设备,包括:
用于接收与单体应用相关联的应用信息的装置;
用于基于利用人工智能技术来生成推荐的装置,
所述推荐涉及:
待生成的服务,
用于所述服务的服务类别,以及
用于所述服务的部署模型,
所述人工智能技术基于所述应用信息来生成所述推荐;
用于基于所述服务类别和所述应用信息来自动生成用于所述服务的代码的装置;
用于经由所述部署模型来接收对于部署用于所述服务的生成的所述代码的请求的装置;以及
用于基于所述请求来部署生成的所述代码,以经由所述部署模型来提供所述服务的装置。
2.根据权利要求1所述的设备,其中用于自动生成所述代码的装置包括:
用于确定所述单体应用要经由所述部署模型而被迁移的装置;以及
用于基于确定所述单体应用要经由所述部署模型而被迁移来将所述单体应用自动转换为生成的所述代码的装置。
3.根据权利要求1所述的设备,其中用于自动生成所述代码的装置包括:
用于确定所述服务无法从所述单体应用而被生成的装置;以及
用于在不参考所述单体应用的情况下并且基于确定所述服务无法从所述单体应用而被生成,来自动生成所述代码的装置。
4.根据权利要求1所述的设备,还包括:
用于向与所述应用信息相关联的另一设备提供用于所述应用信息的特定格式的装置;以及
用于从所述另一设备接收按照所述特定格式的所述应用信息的装置。
5.根据权利要求1所述的设备,其中所述服务包括一个或多个微服务。
6.根据权利要求1所述的设备,其中所述部署模型包括以下中的一项或多项:
web服务上的信息即服务(IAAS),
云应用平台上的IAAS,
云应用平台上的平台即服务(PAAS),或者
多云平台部署。
7.根据权利要求1所述的设备,还包括:
用于提供一个或多个聊天机器人以协助自动生成所述代码或部署生成的所述代码的装置。
8.一种非暂态计算机可读介质,其存储指令,所述指令包括:
一个或多个指令,所述一个或多个指令在由一个或多个处理器执行时,使得所述一个或多个处理器:
接收与单体应用相关联的应用信息;
基于利用人工智能技术来生成推荐:
所述推荐涉及:
待生成的服务,
用于所述服务的服务类别,以及
用于所述服务的部署模型,
所述人工智能技术基于所述应用信息来生成所述推荐;
基于所述服务类别和所述应用信息来自动生成用于所述服务的代码;
经由所述部署模型来接收对于部署用于所述服务的生成的所述代码的请求;以及
基于所述请求来部署生成的所述代码,以经由所述部署模型来提供所述服务。
9.根据权利要求8所述的非暂态计算机可读介质,其中使得所述一个或多个处理器自动生成所述代码的所述一个或多个指令使得所述一个或多个处理器:
确定所述单体应用要经由所述部署模型而被迁移;以及
基于确定所述单体应用要经由所述部署模型而被迁移来将所述单体应用自动转换为生成的所述代码。
10.根据权利要求8所述的非暂态计算机可读介质,其中使得所述一个或多个处理器自动生成所述代码的所述一个或多个指令使得所述一个或多个处理器:
确定所述服务无法从所述单体应用而被生成;以及
在不参考所述单体应用的情况下并且基于确定所述服务无法从所述单体应用而被生成,来自动生成所述代码。
11.根据权利要求8所述的非暂态计算机可读介质,其中所述指令还包括:
一个或多个指令,所述一个或多个指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器:
向与所述应用信息相关联的设备提供用于所述应用信息的特定格式;以及
从所述设备接收按照所述特定格式的所述应用信息。
12.根据权利要求8所述的非暂态计算机可读介质,其中所述服务包括一个或多个微服务。
13.根据权利要求8所述的非暂态计算机可读介质,其中所述部署模型包括以下中的一项或多项:
web服务上的信息即服务(IAAS),
云应用平台上的IAAS,
云应用平台上的平台即服务(PAAS),或者
多云平台部署。
14.根据权利要求8所述的非暂态计算机可读介质,其中所述指令还包括:
一个或多个指令,所述一个或多个指令在由所述一个或多个处理器执行时,使得所述一个或多个处理器:
提供一个或多个聊天机器人;以及
经由所述一个或多个聊天机器人来接收信息以协助部署生成的所述代码;
其中使得所述一个或多个处理器部署生成的所述代码的所述一个或多个指令使得所述一个或多个处理器:
基于所述信息来部署生成的所述代码以协助部署生成的所述代码。
15.一种方法,包括:
由设备接收与单体应用相关联的应用信息;
由所述设备基于利用人工智能技术来生成推荐:
所述推荐涉及:
待生成的服务,
用于所述服务的服务类别,以及
用于所述服务的部署模型,
所述人工智能技术基于所述应用信息来生成所述推荐;
由所述设备基于所述服务类别和所述应用信息来自动生成用于所述服务的代码;
由所述设备经由所述部署模型来接收对于部署用于所述服务的生成的所述代码的请求;以及
由所述设备并且基于所述请求来部署生成的所述代码,以经由所述部署模型来提供所述服务。
16.根据权利要求15所述的方法,其中自动生成所述代码包括:
确定所述单体应用要经由所述部署模型而被迁移;以及
基于确定所述单体应用要经由所述部署模型而被迁移来将所述单体应用自动转换为生成的所述代码。
17.根据权利要求15所述的方法,其中自动生成所述代码包括:
确定所述服务无法从所述单体应用而被生成;以及
在不参考所述单体应用的情况下并且基于确定所述服务无法从所述单体应用而被生成,来自动生成所述代码。
18.根据权利要求15所述的方法,还包括:
向与所述应用信息相关联的另一设备提供用于所述应用信息的特定格式;以及
从所述另一设备接收按照所述特定格式的所述应用信息。
19.根据权利要求15所述的方法,其中所述部署模型包括以下中的一项或多项:
web服务上的信息即服务(IAAS),
云应用平台上的IAAS,
云应用平台上的平台即服务(PAAS),或者
多云平台部署。
20.根据权利要求15所述的方法,还包括:
提供一个或多个聊天机器人以协助自动生成所述代码或部署生成的所述代码。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201741026021 | 2017-07-21 | ||
IN201741026021 | 2017-07-21 | ||
US15/836,100 | 2017-12-08 | ||
US15/836,100 US10474438B2 (en) | 2017-07-21 | 2017-12-08 | Intelligent cloud engineering platform |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109286653A true CN109286653A (zh) | 2019-01-29 |
CN109286653B CN109286653B (zh) | 2021-08-10 |
Family
ID=65018990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810806711.6A Active CN109286653B (zh) | 2017-07-21 | 2018-07-20 | 智能云工程平台 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10474438B2 (zh) |
CN (1) | CN109286653B (zh) |
AU (1) | AU2018206821A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110032393A (zh) * | 2019-04-18 | 2019-07-19 | 恒生电子股份有限公司 | 一种微服务发布方法、装置、设备及介质 |
CN110851523A (zh) * | 2019-10-29 | 2020-02-28 | 交控科技股份有限公司 | 一种线网调度系统 |
CN111144578A (zh) * | 2019-12-27 | 2020-05-12 | 创新奇智(重庆)科技有限公司 | 一种分布式环境下的人工智能模型管理系统及管理方法 |
CN111639516A (zh) * | 2019-03-01 | 2020-09-08 | 埃森哲环球解决方案有限公司 | 基于机器学习的分析平台 |
CN111782185A (zh) * | 2020-06-30 | 2020-10-16 | 北京百度网讯科技有限公司 | 人工智能开发平台的管理方法及设备、介质 |
CN112328667A (zh) * | 2020-07-17 | 2021-02-05 | 四川长宁天然气开发有限责任公司 | 一种基于数据血缘的页岩气田地面工程数字化移交方法 |
CN112802457A (zh) * | 2021-04-14 | 2021-05-14 | 北京世纪好未来教育科技有限公司 | 语音识别的方法、装置、设备和存储介质 |
CN116931911A (zh) * | 2023-06-15 | 2023-10-24 | 明物数智科技研究院(南京)有限公司 | 一种基于aigc的智能低代码应用开发平台及开发方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11216420B2 (en) | 2018-07-31 | 2022-01-04 | Nutanix, Inc. | System and method for high replication factor (RF) data replication |
US10999163B2 (en) * | 2018-08-14 | 2021-05-04 | Juniper Networks, Inc. | Multi-cloud virtual computing environment provisioning using a high-level topology description |
US10635437B1 (en) * | 2019-04-25 | 2020-04-28 | Capital One Services, Llc | Techniques to deploy an application as a cloud computing service |
CN110096258A (zh) * | 2019-04-30 | 2019-08-06 | 山东浪潮云信息技术有限公司 | 一种基于Terraform的OpenStack基础设施架构管理的方法 |
US11388136B2 (en) | 2019-06-18 | 2022-07-12 | Nutanix, Inc. | Dynamic distributed service location discovery |
CN110430173A (zh) * | 2019-07-19 | 2019-11-08 | 河南工程学院 | 一种基于Vue+SpringCloud的云平台 |
CN110971449A (zh) * | 2019-10-25 | 2020-04-07 | 武汉烽火众智数字技术有限责任公司 | 一种基于微服务架构的服务管控系统 |
US11119747B2 (en) * | 2019-11-21 | 2021-09-14 | Paypal, Inc. | System and method for application release orchestration and deployment |
CN111240910B (zh) * | 2020-01-02 | 2024-04-05 | 北京航天测控技术有限公司 | 设备健康管理微服务生成方法、装置、设备及可读介质 |
CA3163301C (en) * | 2020-02-28 | 2024-01-02 | Chirodip Pal | System and method for application environment migration |
US11316807B2 (en) * | 2020-03-13 | 2022-04-26 | International Business Machines Corporation | Microservice deployment in multi-tenant environments |
CN113672200A (zh) * | 2020-05-15 | 2021-11-19 | 京东方科技集团股份有限公司 | 微服务处理方法及装置、存储介质及电子设备 |
CN111831318A (zh) * | 2020-06-30 | 2020-10-27 | 山东大学 | 一种自动生成代码的微服务管理系统及代码生成方法 |
US11461119B2 (en) | 2020-09-15 | 2022-10-04 | Bank Of America Corporation | Virtual containers configured to support multiple machine learning models |
US11671480B2 (en) | 2021-07-30 | 2023-06-06 | Cisco Technology, Inc. | Network topology model generation and deployment for machine learning systems |
US11853725B2 (en) | 2021-12-06 | 2023-12-26 | International Business Machines Corporation | Microservices recommendation framework |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070276898A1 (en) * | 2002-12-17 | 2007-11-29 | Berkland Philip T | Apparatus and Method for Flexible Web Service Deployment |
US20080209446A1 (en) * | 2007-02-23 | 2008-08-28 | Mark Grechanik | Design tool for converting legacy applications to web services |
US20130007216A1 (en) * | 2011-06-29 | 2013-01-03 | Microsoft Corporation | Virtual machine migration tool |
CN106326604A (zh) * | 2016-09-29 | 2017-01-11 | 浙江工业大学 | 一种基于云制造平台的有限元分析服务方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7341872B1 (en) * | 2004-04-29 | 2008-03-11 | Uop Llc | Multiautoclave with set of vessels for combinatorial synthesis of zeolites and other materials |
US7761848B1 (en) | 2005-03-15 | 2010-07-20 | Open Invention Network, Llc | Code generator tool for building software applications with reusable components |
US7369953B2 (en) * | 2005-03-17 | 2008-05-06 | The Board Of Trustees Of The Leland Stanford Junior University | Femtosecond spectroscopy using minimum phase functions |
US8122444B2 (en) * | 2007-08-02 | 2012-02-21 | Accenture Global Services Limited | Legacy application decommissioning framework |
US8145593B2 (en) * | 2008-12-11 | 2012-03-27 | Microsoft Corporation | Framework for web services exposing line of business applications |
AU2010348488B2 (en) * | 2010-03-15 | 2013-06-13 | Sharp Kabushiki Kaisha | Substrate for photoelectric conversion device, photoelectric conversion device using the substrate, and method for producing the substrate and device |
EP2672926B1 (en) * | 2011-03-21 | 2017-05-31 | Adventus Technology, Inc. | Restoration of accommodation by lens refilling |
US8930919B2 (en) | 2012-09-25 | 2015-01-06 | The Boeing Company | Modernization of legacy software systems based on modeled dependencies |
US20140122407A1 (en) * | 2012-10-26 | 2014-05-01 | Xiaojiang Duan | Chatbot system and method having auto-select input message with quality response |
US10656929B2 (en) | 2015-08-11 | 2020-05-19 | International Business Machines Corporation | Autonomously healing microservice-based applications |
US20170187785A1 (en) | 2015-12-23 | 2017-06-29 | Hewlett Packard Enterprise Development Lp | Microservice with decoupled user interface |
-
2017
- 2017-12-08 US US15/836,100 patent/US10474438B2/en active Active
-
2018
- 2018-07-20 AU AU2018206821A patent/AU2018206821A1/en not_active Abandoned
- 2018-07-20 CN CN201810806711.6A patent/CN109286653B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070276898A1 (en) * | 2002-12-17 | 2007-11-29 | Berkland Philip T | Apparatus and Method for Flexible Web Service Deployment |
US20080209446A1 (en) * | 2007-02-23 | 2008-08-28 | Mark Grechanik | Design tool for converting legacy applications to web services |
US20130007216A1 (en) * | 2011-06-29 | 2013-01-03 | Microsoft Corporation | Virtual machine migration tool |
CN106326604A (zh) * | 2016-09-29 | 2017-01-11 | 浙江工业大学 | 一种基于云制造平台的有限元分析服务方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111639516A (zh) * | 2019-03-01 | 2020-09-08 | 埃森哲环球解决方案有限公司 | 基于机器学习的分析平台 |
CN111639516B (zh) * | 2019-03-01 | 2023-09-15 | 埃森哲环球解决方案有限公司 | 基于机器学习的分析平台 |
CN110032393A (zh) * | 2019-04-18 | 2019-07-19 | 恒生电子股份有限公司 | 一种微服务发布方法、装置、设备及介质 |
CN110851523A (zh) * | 2019-10-29 | 2020-02-28 | 交控科技股份有限公司 | 一种线网调度系统 |
CN111144578A (zh) * | 2019-12-27 | 2020-05-12 | 创新奇智(重庆)科技有限公司 | 一种分布式环境下的人工智能模型管理系统及管理方法 |
CN111144578B (zh) * | 2019-12-27 | 2023-07-28 | 创新奇智(重庆)科技有限公司 | 一种分布式环境下的人工智能模型管理系统及管理方法 |
CN111782185A (zh) * | 2020-06-30 | 2020-10-16 | 北京百度网讯科技有限公司 | 人工智能开发平台的管理方法及设备、介质 |
CN111782185B (zh) * | 2020-06-30 | 2024-01-09 | 北京百度网讯科技有限公司 | 人工智能开发平台的管理方法及设备、介质 |
CN112328667A (zh) * | 2020-07-17 | 2021-02-05 | 四川长宁天然气开发有限责任公司 | 一种基于数据血缘的页岩气田地面工程数字化移交方法 |
CN112328667B (zh) * | 2020-07-17 | 2023-09-08 | 四川长宁天然气开发有限责任公司 | 一种基于数据血缘的页岩气田地面工程数字化移交方法 |
CN112802457A (zh) * | 2021-04-14 | 2021-05-14 | 北京世纪好未来教育科技有限公司 | 语音识别的方法、装置、设备和存储介质 |
CN116931911A (zh) * | 2023-06-15 | 2023-10-24 | 明物数智科技研究院(南京)有限公司 | 一种基于aigc的智能低代码应用开发平台及开发方法 |
Also Published As
Publication number | Publication date |
---|---|
AU2018206821A1 (en) | 2019-02-07 |
CN109286653B (zh) | 2021-08-10 |
US10474438B2 (en) | 2019-11-12 |
US20190026085A1 (en) | 2019-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109286653A (zh) | 智能云工程平台 | |
Aceto et al. | A survey on information and communication technologies for industry 4.0: State-of-the-art, taxonomies, perspectives, and challenges | |
Balalaie et al. | Microservices architecture enables devops: Migration to a cloud-native architecture | |
US10666527B2 (en) | Generating specifications for microservices implementations of an application | |
Barika et al. | Orchestrating big data analysis workflows in the cloud: research challenges, survey, and future directions | |
US10853334B2 (en) | Technologies for providing service isolation, scalability, and proactive tenant migration in multi-tenant ecosystems | |
WO2019199495A1 (en) | Method for managing application configuration state with cloud based application management techniques | |
EP3128416B1 (en) | Sdn application integration, management and control method, system and device | |
EP3399476B1 (en) | Flow engine for building automated flows within a cloud based developmental platform | |
US10812988B1 (en) | Method and device for mapping ports of a network device | |
WO2017123784A1 (en) | Related table notifications | |
Malviya et al. | A comparative analysis of container orchestration tools in cloud computing | |
CN104239088B (zh) | 对分布式计算机网络的节点执行操作 | |
US11915154B2 (en) | Managing artificial intelligence model partitions for edge computing environment | |
US20210132927A1 (en) | Enterprise deployment framework with artificial intelligence/machine learning | |
Lovas et al. | Orchestrated platform for cyber-physical systems | |
US11580073B2 (en) | Multidirectional synchronization of cloud application data | |
CN117616395A (zh) | 迁移期间应用的连续活跃度和完整性 | |
D’Aniello et al. | Designing a multi-agent system architecture for managing distributed operations within cloud manufacturing | |
US20200034765A1 (en) | Systems and methods for contextual actions using a map interface | |
JP2023544904A (ja) | 機械学習パイプラインの分散型リソースアウェアトレーニング | |
Andersen et al. | Wandering and getting lost: the architecture of an app activating local communities on dementia issues | |
US10803728B1 (en) | Dynamically networked integrated swarm sensor tracking | |
US10997002B2 (en) | Quick actions | |
Ahmad et al. | Towards establishing a catalogue of patterns for architecting mobile cloud software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |