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

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
主站蜘蛛池模板: 济宁市| 大丰市| 石首市| 沛县| 合阳县| 长春市| 凌海市| 沁水县| 惠州市| 安国市| 东宁县| 河源市| 顺平县| 华蓥市| 莆田市| 绥化市| 义马市| 滦平县| 于都县| 崇信县| 桂平市| 滦平县| 托里县| 鸡东县| 炎陵县| 雅安市| 阿拉尔市| 洛浦县| 维西| 曲麻莱县| 来宾市| 南丹县| 中山市| 西城区| 卓资县| 伊川县| 巴彦淖尔市| 邯郸市| 清水县| 怀宁县| 昭通市|