- Cloud Native Python
- Manish Sethi
- 443字
- 2021-07-02 19:11:50
Cloud native architecture
The cloud native architecture is similar to any application architecture that we create for a legacy system, but in the cloud native application architecture, we should consider a few characteristics, such as a twelve-factor application (collection of patterns for app development), microservices (decomposition of a monolithic business system into independent deployable services), self-service agile infrastructure (self-service platform), API-based collaboration (interaction between services via API), and antifragility (self-realizing and strengthening the application).
First, let's discuss what is microservices all about?
Microservices is a broader term that breaks large applications into smaller modules to get them developed and make them mature enough for release. This approach not only helps to manage each module efficiently, but it also identifies the issue at the lower level itself. The following are some of the key aspects of microservices:
- User-friendly interfaces: Microservices enable a clear separation between microservices. Versioning of microservices enables more control over APIs, and it also provides more freedom for both the consumers and producers of these services.
- Deployment and management of APIs across the platform: Since each microservice is a separate entity, it is possible to update a single microservice without making changes to the others. Also, it is easier to roll back changes for a microservice. This means the artifacts that are deployed for microservices should be compatible in terms of API and data schemas. These APIs must be tested across different platforms, and the test results should be shared across different teams, that is, operation, developers, and so on, to maintain a centralized control system.
- Flexibility in application: Microservices that are developed should be capable of handling the request and must respond back, irrespective of the kind of request, which could be a bad input or an invalid request. Also, your microservice should be able to deal with an unexpected load request and respond appropriately. All of these microservices should be tested independently, as well as with integration.
- Distribution of microservices: It's better to split the services into small chunks of services so that they can be tracked and developed individually and combined to form a microservice. This technique makes microservices development more efficient and stable in manner.
The following diagram shows a cloud native application's high-level architecture:

The application architecture should ideally start with two or three service, try to expand it with further versions. It is very important to understand application architecture, as it may need to integrate with different components of the system, and it is possible that a separate team manages those components when it comes to large organizations. Versioning in microservices is vital, as it identifies the supported method during the specified phase of development.
- 自己動手實現Lua:虛擬機、編譯器和標準庫
- Mastering SVG
- SQL Server 2012數據庫技術及應用(微課版·第5版)
- Cross-platform Desktop Application Development:Electron,Node,NW.js,and React
- Java FX應用開發教程
- ASP.NET動態網頁設計教程(第三版)
- INSTANT Weka How-to
- Full-Stack React Projects
- Oracle 12c從入門到精通(視頻教學超值版)
- STM8實戰
- Building Web and Mobile ArcGIS Server Applications with JavaScript(Second Edition)
- Learning Android Application Development
- Kudu:構建高性能實時數據分析存儲系統
- 換個姿勢學C語言
- F# for Machine Learning Essentials