官术网_书友最值得收藏!

  • 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.

主站蜘蛛池模板: 昌邑市| 水富县| 屏南县| 大石桥市| 格尔木市| 宁海县| 宜宾市| 特克斯县| 武乡县| 吉林省| 涡阳县| 睢宁县| 连云港市| 金平| 沙田区| 鄂尔多斯市| 开平市| 揭西县| 南雄市| 确山县| 梁平县| 平和县| 宣武区| 墨脱县| 安陆市| 准格尔旗| 长子县| 永仁县| 武胜县| 招远市| 巴林右旗| 日土县| 霞浦县| 扶风县| 晋江市| 兴仁县| 大庆市| 岳池县| 南和县| 黑龙江省| 临沂市|