- 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.
- Beginning Java Data Structures and Algorithms
- 軟件界面交互設計基礎
- Python自動化運維快速入門
- R語言編程指南
- Ray分布式機器學習:利用Ray進行大模型的數據處理、訓練、推理和部署
- QGIS:Becoming a GIS Power User
- 微信小程序項目開發實戰
- 編程數學
- Python算法指南:程序員經典算法分析與實現
- C# and .NET Core Test Driven Development
- Windows Embedded CE 6.0程序設計實戰
- Photoshop CC移動UI設計案例教程(全彩慕課版·第2版)
- 嵌入式Linux C語言程序設計基礎教程
- PhoneGap 4 Mobile Application Development Cookbook
- WCF技術剖析(卷1)