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

Designing Cloud Applications

As an architect, you should have come across terms such as loosely coupled, multitier, service oriented, highly scalable, and so on. These terms are associated with architectural best practices, and you will find them listed in the first couple of pages of any system architecture document. These concepts are generally applicable to all architectures, and the cloud is no exception.

In this chapter, we want to highlight how these are accomplished on the cloud. You will notice that the design principles and best practices for developing application architectures on the cloud, largely remain the same as for on-premise architectures. However, you need to be aware of certain peculiarities specific to the cloud environment, in order to architect scalable, available and secure cloud applications. For example, if you are architecting a web-scale application, you need to take into consideration the ability to scale up and down, automatically, depending on the load. What are the implications of such auto scaling on your design?

One of the major differences in cloud-based SaaS applications and on-premise enterprise applications is multi-tenancy. We will consider key architectural questions, such as: what are some of the design considerations of multi-tenancy? How do you design for UI, services, and data multi-tenancy in a multitier architecture?

We will also introduce architectural patterns being used for machine learning workloads and streaming applications on the cloud.

More specifically, we will describe the familiar and not-so familiar architectural best practices in the cloud context by covering the following topics:

  • Multitier architecture on the cloud
  • Designing for multi-tenancy including data security and extensibility
  • Designing for scale
  • Automating infrastructure
  • Designing for failure
  • Parallel processing
  • Designing for performance
  • Designing for eventual consistency
  • Designing for machine learning workloads and streaming applications
  • Estimating your cloud computing costs
  • Sample application – a typical e-commerce web application
主站蜘蛛池模板: 历史| 城市| 微山县| 上蔡县| 乌什县| 天镇县| 博爱县| 盐源县| 皋兰县| 镇坪县| 仁寿县| 大关县| 六枝特区| 台东县| 大名县| 教育| 东宁县| 静乐县| 宕昌县| 桑日县| 大名县| 阆中市| 合江县| 邹平县| 辽阳县| 六枝特区| 招远市| 平陆县| 诸城市| 乌苏市| 天峨县| 彝良县| 七台河市| 高要市| 太原市| 兴文县| 循化| 犍为县| 长乐市| 策勒县| 潢川县|