-
公开(公告)号:US11544046B1
公开(公告)日:2023-01-03
申请号:US17003568
申请日:2020-08-26
Applicant: Amazon Technologies, Inc.
Inventor: Jiangtao Zhang , Gunja Agrawal , Vijay Dheeraj Reddy Mandadi , Ting Hsiang Eddy Chu , Bharath Bhoopalam
Abstract: Techniques are described for enabling an application modernization system to efficiently identify various types of software development “anti-patterns” (including cloud anti-patterns) associated with software applications. An anti-pattern is broadly any characteristic of a software application or system that represents an undesirable or suboptimal solution to a problem within a given software design context. Depending on the particular software design context, examples of possible anti-patterns and cloud anti-patterns can include the use of insecure network protocols, an application's reliance on local file system access, the use of a deprecated or outdated class, function, or library, etc. An application modernization system described herein includes a modernization assessment client application that identifies the presence of anti-patterns in users' software applications using a collection of anti-pattern definitions (e.g., defined based on an anti-pattern definition syntax) obtained from an application modernization service of a cloud provider network.
-
公开(公告)号:US11467828B1
公开(公告)日:2022-10-11
申请号:US16894521
申请日:2020-06-05
Applicant: Amazon Technologies, Inc.
Inventor: Jiangtao Zhang , Vijay Dheeraj Reddy Mandadi , Gunja Agrawal
Abstract: Techniques are described for enabling a software modernization assessment service of a cloud provider network to maintain a modernization knowledge base and to use the knowledge base to generate modernization recommendations for users' software applications. A modernization knowledge base comprises one or more modernization ontologies, where a modernization ontology defines concepts and relationships used to describe modernization tool capabilities and limitations, modernization strategies, etc. The modernization assessment service uses the modernization knowledge base to automate various software modernization processes including, for example, providing modernization recommendations for software applications (e.g., applications identified by users as candidates for modernization) and generating modernization assessment reports. A modernization knowledge base, including an ontology understood by a modernization assessment engine, can be readily updated to account for new modernization strategy information, modernization tool information, and modernization process and tool constraints, without necessitating changes to static definitions of such information defined by a modernization assessment service.
-
公开(公告)号:US11442765B1
公开(公告)日:2022-09-13
申请号:US16574850
申请日:2019-09-18
Applicant: Amazon Technologies, Inc.
Inventor: Jiangtao Zhang , Sriram Venkatadri , Boyu Wang
Abstract: This disclosure describes techniques implemented partly by a service provider network for containerizing applications. In an example, the techniques may include determining one or more processes to be included in a containerized version of an application, preparing and initializing a sandbox including at least executable files of the one or more determined processes, monitoring the execution of a particular process of the one or more determined processes in the sandbox to determine one or more dependencies of the particular process, and selecting the one or more dependencies of the particular process to be components of the containerized version of the application.
-
公开(公告)号:US11930013B1
公开(公告)日:2024-03-12
申请号:US17102164
申请日:2020-11-23
Applicant: Amazon Technologies, Inc.
Inventor: Jiangtao Zhang , Roland Mesde
IPC: G06F8/41 , G06F9/54 , G06F16/901 , H04L9/40
CPC classification number: H04L63/101 , G06F8/433 , G06F9/547 , G06F16/9024
Abstract: Techniques are described for providing an access control list (ACL) assisted process for filtering the analysis and display of dependency relationships among software application components (e.g., packages, files, classes, etc.), e.g., as part of modernization processes aimed at decomposing monolithic applications, identifying anti-patterns, or otherwise analyzing such applications. A software modernization service of a cloud provider network provides discovery agents and other tools that are capable of creating an inventory of users' software applications and collecting application artifacts (e.g., source code or bytecode files) associated with the software applications in users' computing environments. Various techniques are described for using ACLs containing entries enabling or disabling the analysis or display of various application components to customize various modernization processes and results displays.
-
公开(公告)号:US11900087B1
公开(公告)日:2024-02-13
申请号:US17702555
申请日:2022-03-23
Applicant: Amazon Technologies, Inc.
Inventor: Jiangtao Zhang , Ramu Panayappan
Abstract: Techniques are described for a software modernization service to provide the ability to re-platform software application binaries from one ISA and hardware platform to another. The software modernization service can generate assessment reports for users' legacy applications, including recommendations for hardware platforms available in a cloud provider network for use. Responsive to a user requesting to re-platform an application from one ISA and hardware platform to another, an application re-platforming service automates steps to perform a static and dynamic binary translation of an application and to combine the results into a re-platformed executable. Among other benefits, the described techniques enable the deployment of legacy software applications onto a wider set of target ISA and hardware platforms, thereby enabling such applications to take advantage of the performance, scalability, availability, and other benefits of certain types of hardware platforms as desired by a user.
-
16.
公开(公告)号:US11537400B1
公开(公告)日:2022-12-27
申请号:US17074315
申请日:2020-10-19
Applicant: Amazon Technologies, Inc.
Inventor: Jiangtao Zhang , Raviprasad V. Mummidi , Bharath Bhoopalam , Vijay Dheeraj Reddy Mandadi , Ramu Panayappan
Abstract: Techniques are described for enabling a software modernization system to automatically map binary executable files and other runtime artifacts (e.g., application binaries, Java ARchive (JAR) files, .NET Dynamic Link Library (DLL) files, process identifiers, etc.) to source code associated with the binary executable files, e.g., as part of modernization processes aimed at migrating users' applications to a cloud service provider's infrastructure. A software modernization service of a cloud provider network provides discovery agents and other tools that are capable of creating an inventory of users' software applications and collecting profile data about the software applications. Various techniques are described for automatically identifying the source code associated with software applications identified by a discovery agent in a user's computing environment, thereby improving the efficiency of various software modernization analyses and other modernization processes.
-
公开(公告)号:US11354120B1
公开(公告)日:2022-06-07
申请号:US16894518
申请日:2020-06-05
Applicant: Amazon Technologies, Inc.
Inventor: Jiangtao Zhang , Raviprasad V. Mummidi , Ramu Panayappan
Abstract: Techniques are described for enabling a software modernization assessment service to train and use ML models to automatically generate modernization assessment recommendations for users' software applications and systems. A modernization assessment service collects historical assessment data reflecting past modernization processes and assessments (e.g., application profile information and associated modernization strategies and tools used in past modernization projects). The modernization assessment service uses the historical assessment data to train one or more ML models (e.g., classifiers) that can be used to automatically identify relevant modernization strategies, services, and tools for given software application or system. Responsive to user requests to generate modernization assessment recommendations, the modernization assessment service can use the trained models to automatically generate modernization recommendations and reports.
-
公开(公告)号:US11861362B1
公开(公告)日:2024-01-02
申请号:US17211486
申请日:2021-03-24
Applicant: Amazon Technologies, Inc.
Inventor: Jiangtao Zhang , Ramu Panayappan
Abstract: Techniques are described for enabling software migration and modernization services of a cloud provider network to provide completion time forecasts for various types of migration and modernization actions performed by the services relative to users' software applications. A cloud provider network provides a software migration and modernization orchestration service that helps users orchestrate the use of various software migration and modernization services. Depending on the technical characteristics of a user's application and the selection of migration and modernization processes to be performed, an amount of time needed to complete migration and modernization actions can vary widely. The migration and modernization services of the cloud provider network each train and use machine learning (ML) models to forecast an amount of time needed to complete various actions based on historical action execution data collected by the services, thereby providing useful insights into complex migration and modernization processes.
-
公开(公告)号:US11809841B1
公开(公告)日:2023-11-07
申请号:US17118361
申请日:2020-12-10
Applicant: Amazon Technologies, Inc.
Inventor: Jiangtao Zhang , Mark Fawaz , Gunja Agrawal
Abstract: Techniques are described for enabling the automatic refactoring of software application source code to mitigate identified anti-patterns and other software modernization-related issues. A software modernization system analyzes software applications to generate various types of modernization report information, where the report information can include identifications of various types of design and cloud anti-patterns, proposed decompositions of monolithic applications into subunits, refactoring cost information, recommended modernization tools and migration paths, among other such information. A software modernization system further includes a refactoring engine that can automatically refactor source code based on such application analysis information, e.g., to automatically address identified anti-patterns, restructure code for decomposition, etc. A refactoring engine performs refactoring actions based on refactoring templates, machine learning (ML) refactoring models, or other input.
-
公开(公告)号:US11422797B1
公开(公告)日:2022-08-23
申请号:US17109359
申请日:2020-12-02
Applicant: Amazon Technologies, Inc.
Inventor: Jiangtao Zhang , Roland Mesde , Vivek Chawda
Abstract: Techniques are described for using graph partitioning techniques to identify refactoring candidates to decompose monolithic software applications as part of software modernization processes. An application modernization system constructs a graph model of a software application based on an analysis of application artifacts associated with the software application. The graph model includes nodes each representing an independent application component and further includes edges representing identified dependency relationships among the application components. An application modernization system further generates application profile metrics associated with the identified dependencies, and weights derived from such metrics are applied to the edges of the graph model. Once a weighted graph model is obtained, a graph partitioning algorithm is applied to identify a plurality of subgraphs each representing a candidate subunit of the application for refactoring.
-
-
-
-
-
-
-
-
-