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

Cattle versus pets

While the infrastructure is important, at the end the application is what matters. Basically, we can divide applications into two categories:

  • Those that depend on the resiliency offered by the infrastructure
  • Those that have inbuilt resiliency

A famous analogy for this is pets and cattle. Humans have a special relationship with pets. They give their pet a name and have a special bond with the animal. Most people do not have such a bond with cattle. Cattle are for production of meat or milk. If an animal dies, nobody really cares. It is regarded as economic damage but does not affect an individual's emotions.

A "pet type" of application is one where administrators knows the specific name and role of the server by heart. Administrators have a special bond with a "pet type" of application. If the server fails, the application is likely to fail. Examples of such server names are Zeus or Fileserver01.

A "cattle type" of application has multiple instances for the same role. If a server with a middleware role fails, the application will continue to be available because there are multiple servers with same role. Application data is nonpersistent and can easily be provisioned if the server is lost.

Public IaaS architectures are not all the same although they all look similar at first glance; most of them offer a self-service portal, the ability to create/modify/delete virtual machines, and so on. However, there are differences under the hood. Each provider has its own unique sauce added to the IaaS service.

Microsoft Azure was originally designed as a PaaS platform. Business-critical applications that are developed on Azure are resilient by design at the application level. Basically, it means each role (web tier, application tier, database tier, and so on) has at least two nodes. If one node fails, the application will remain available.

Netflix, a US company delivering films and series streamed over the Internet, has a great way to test the availability of their applications. They developed the so-called Chaos Monkey tool. Netflix believes the best way to defend against failures is to deliberately create failures, fix them, learn from them, and improve. Chaos Monkey will randomly shut down virtual machines in the Amazon cloud that is used by Netflix to deliver their streaming service. When Chaos Monkey terminates a virtual machine, the Auto Scaling group function of Amazon makes sure an identical virtual machine will be booted up to replace the failed one.

So, Chaos Monkey is a nice way to see whether your application really is cloud-ready (cattle category) or it is a legacy enterprise application (pet).

Later in this book, we will learn about the architecture of Windows Azure and see what kind of applications are most suited to run on Azure.

主站蜘蛛池模板: 突泉县| 双鸭山市| 旌德县| 隆林| 鄱阳县| 潢川县| 开化县| 新乐市| 绵阳市| 五常市| 伊金霍洛旗| 曲麻莱县| 尼木县| 襄垣县| 柘荣县| 光山县| 仁化县| 当雄县| 石嘴山市| 新宾| 西藏| 宁强县| 教育| 遂昌县| 赣榆县| 寿宁县| 神池县| 苗栗县| 西畴县| 新邵县| 余干县| 张家口市| 桐庐县| 旅游| 福州市| 湟中县| 南充市| 信阳市| 湾仔区| 靖边县| 大丰市|