构建云应用

出版时间:2012-3-10  出版社:机械工业出版社华章公司  作者:Christopher M. Moyer  译者:顾毅  
Tag标签:无  

前言

   前言:  作为一家小型创业公司的开发人员,做了几个月将既有服务移植到云环境的开发工作之后,我开始意识到这些工作由我一个人来做的话工作量实在太大了。于是,我开始寻找其他的开发人员来协助我,或者当我找到更好、更有意思的工作机会时让他顶替我。不久,我就发现真正彻底理解开发基于云平台的应用程序所必需的复杂度的人相当少,而且这些人几乎都对自己目前的公司很满意。  就如何使用云平台的话题,我开始在博客中写专题文章,网址是http://blog. coredumped.org,但我很快又意识到,我可以花上整整一年写下所有这些人们应该知道的东西。这些文档应该更适合放在参考书中而不是随随便便地散落在博客各处,所以我决定写一本书。  本书的目的  本书并不是一本需要从头至尾去读完的教程,而是一本教你如何在云环境中创建应用程序的指南,也是一本可以在遇到特定问题时随时参考的手册。当公司为你安排新的项目,并告诉你要让它具有伸缩性时,看看本书中所讨论的模式是不是适用于该项目。当你在项目中发现了特定的问题却束手无策时,翻一翻本书。如果你尝试开始一个新的项目,并且你有一个非常完美的想法,却不知道该如何让系统能够收缩自如时,翻一翻本书。如果你正尝试改造一个既有的项目,使其能在云环境中自由扩展时,翻一翻本书。如果你不知道在云计算环境中能构建什么样的应用程序时,翻一翻本书。  本书中并没有发明许多新的模式,而仅仅是向你展现了一些技巧和新技术,这些都是在云环境中运行系统时所需要考虑的。尽管你可以将书中讨论的模式用于任何形式的集群环境,但这些模式是为云计算所提供的服务量身定做的。  如何使用本书  本书分为三个部分。每个人都应该阅读第一部分,从而对云计算有一个基本的理解。在第二部分中,你可以挑选最感兴趣的模式阅读。如果你从未开发过任何形式的云应用程序,建议看一下第三部分中的范例应用程序,从而使你对该系统究竟最适合于什么样的应用程序有一个确切的了解。  第一部分:“概念”  第一部分旨在让你掌握一些在云平台上进行开发的基本概念。你应该全部阅读这一部分,该部分分为以下几章。  第1章:“云服务的基础”—提供了一些使用云计算解决方案时的基本概念,对于任何对云计算平台感兴趣的开发人员来说,本章是绝不容错过的。  第2章:“把软件做成服务”—针对如何实现软件即服务(SaaS)提供了一些基本的指南。本章详细讨论了为什么软件即服务是个好主意,以及如何正确构建SaaS。  第3章:“云服务提供商”—提供了一些由不同云服务提供商所提供的服务的实例。  第二部分:“模式”  第二部分更像是一本手册,给出了构建系统时的问题以及相应的解决方案。  第4章:“设计镜像”—包括基本的构建基础镜像的模式,这些镜像是构建应用程序的基础。  第5章:“设计架构”—包括让系统与外部系统(不是你所采用的云服务提供商的系统)进行交互的模式。  第6章:“操作数据”—包括针对数据执行代码片段的模式。  第7章:“集群系统”—包括为了充分发挥集群部署优势而设计的基础框架中使用的模式。  第三部分:“项目”  第三部分以真实世界中的应用程序为例,并将书中所介绍的模式运用进去。这两章都采用了相同的入门教程,但实现的方式不同。  第8章:“简单的博客系统”—详细介绍了如何从头开始构建一个简单的博客系统,且不采用任何既有的框架。  第9章:“使用Marajo开发博客系统”—详细介绍了如何使用Marajo这一基于云环境的Web应用框架来构建博客系统。  从何开始  现在,许多人的第一个问题就是:从何开始?该如何迅速开始开发应用程序?如果不想完整地阅读本书,怎样做才能简单快速地了解到书中这些概念的实际工作原理?  选择了本书,你就已经走上了正确的轨道。如果随随便便地选择一家云服务提供商,启动几台服务器,期待能从这些服务商那里得到你所想要的东西,毋庸置疑,这是不切实际的。如果只是挑选一家云服务提供商,而不做足够的事前研究,其结果往往会让人们陷入一大堆问题中,而且还会把这些问题归咎于云服务提供商。这就相当于你买了一辆手动挡的汽车,但完全不了解该如何驾驶,结果却向销售商抱怨说是他们把车卖给了你。如果你在事前没有做研究或准备,那么在云环境中遇到问题时,完全不应该感到意外。如果你不是开发人员,找第三方来帮你管理云环境可能会更合适,但如果你阅读了本书,我想你绝对不会满足于“找一群家伙来搞定它”。  致谢  我要感谢我的伙伴和导师Mitch Garnaat,感谢他给予我的帮助和激励,让我进入了云计算领域。我也要感谢Amazon Web Services的团队,感谢他们推动云计算的市场不断向前,且持续不断地带来新的产品,使本书中的内容成为可能。

内容概要

  《构建云应用:概念、模式和实践》沿用大家所熟悉的“设计模式”格式,介绍了云计算平台上行之有效的模式。通过基于python和amazon
web
services(aws)平台的详细的范例代码和应用程序,向读者演示了这些模式的实际运用。本书内容包括掌握成功的云计算解决方案的核心原则,如何正确地构建软件即服务(software
as a
service,saas)模式,理解不同的云服务提供商所提供的服务,如何设计主机镜像、为云平台上的应用打造一个坚实的基础,如何针对与外部系统的交互行为选择最合适的模式,如何实现高效的数据处理以及如何充分发挥多主机集群部署的优势。
  《构建云应用:概念、模式和实践》适合软件开发人员和对云计算感兴趣的读者阅读。

作者简介

  Chris Moyer毕业于美国罗切斯特理工大学(Rochester Institute of Technology,RIT),并获得软件工程学士学位。Chris拥有5年以上的编程经验,主要集中在云计算领域。他的大部分时间都在开发大受欢迎的boto客户端类库,该类库用于与Amazon Web Services进行通信。通过向boto的创始人Mitch Garnaat学习,Chris随后开始基于该客户端类库开发Web框架,也就是Marajo和botoweb。基于这些框架,他还创建了大规模的应用程序。  Chris目前是Newstex公司的技术部副总裁,负责管理技术研发工作,这些技术用于将应用程序迁移到云平台,同时他也管理着自己的部门,该部门正在积极地维护和开发几个应用程序。Chris与妻子Lynn住在纽约。

书籍目录

译者序
前言
关于作者
 第0章 引言
  0.1 云计算是什么
  0.2 云计算的革命
  0.2.1 主机
  0.2.2 pc革命
  0.2.3 高速互联网
  0.2.4 云
  0.2.5 html5和本地存储
  0.2.6 移动设备的黎明
  0.3 线程化,并行处理,并行计算
  0.4 基于云的开发过程与其他应用开发过程有何不同
  0.5 应该避免什么
  0.6 开始用云
  0.6.1 选择一种云模式
  0.6.2 实现一种云模式
第一部分 概念   
 第1章 云服务的基础
  1.1 云计算的起源
  1.2 云服务是什么
  1.2.1 计算
  1.2.2 存储
  1.2.3 联接
  1.3 遗留模式
  1.4 运行在云中的应用并不会自主扩展
  1.5 失效是必然的
  1.6 一致性,有效性,分区容错性
  1.6.1 一致性
  1.6.2 有效性
  1.6.3 分区容错性
  1.7 最终一致性
  1.8 本章小结
 第2章 把软件做成服务
  2.1 本书中使用的工具
  2.1.1 注册amazon web services
  2.1.2 安装boto
  2.1.3 环境设置
  2.1.4 测试
  2.2 什么是应用程序所需要的
  2.3 数据层
  2.4 应用层
  2.4.1 使用elastic load balancing
  2.4.2 向负载均衡器添加服务器
  2.4.3 自动向负载均衡器注册实例
  2.5 http和rest
  2.5.1 http header
  2.5.2 body
  2.5.3 方法
  2.6 授权层
  2.7 客户端层
  2.7.1 基于浏览器的客户端
  2.7.2 本地应用程序
  2.8 本章小结
 第3章 云服务提供商
  3.1 amazon web services
  3.1.1 simplestorageservice(s3)
  3.1.2 cloudfront
  3.1.3 simple queue service (sqs)
  3.1.4 elastic compute cloud (ec2)
  3.1.5 elastic block storage (ebs)
  3.1.6 elastic load balancing (elb)
  3.1.7 simpledb
  3.1.8 relational database service(rds)
  3.1.9 simple notification service (sns)
  3.1.10 virtual private cloud(vpc)
  3.2 google云
  3.2.1 appengine
  3.2.2 google storage
  3.3 rackspace云
  3.3.1 cloudfiles
  3.3.2 cloudservers
  3.3.3 cloudsites
  3.4 本章小结
第二部分 模式
 第4章 设计镜像
  4.1 预打包镜像
  4.1.1 概要
  4.1.2 使用动机
  4.1.3 详述
  4.1.4 实现
  4.1.5 范例
  4.1.6 总结
  4.2 单例实例(singleton instance)
  4.2.1 概要
  4.2.2 使用动机
  4.2.3 详述
  4.2.4 实现
  4.2.5 范例
  4.2.6 总结
  4.3 原型镜像
  4.3.1 概要
  4.3.2 使用动机
  4.3.3 详述
  4.3.4 实现
  4.3.5 范例
  4.3.6 总结
 第5章 设计架构
  5.1 适配器
  5.1.1 概要
  5.1.2 使用动机
  5.1.3 详述
  5.1.4 实现
  5.1.5 范例
  5.1.6 总结
  5.2 门面模式
  5.2.1 概要
  5.2.2 使用动机
  5.2.3 详述
  5.2.4 实现
  5.2.5 范例
  5.2.6 总结
  5.3 负载均衡代理
  5.3.1 概要
  5.3.2 使用动机
  5.3.3 详述
  5.3.4 实现
  5.3.5 范例
  5.3.6 总结
 第6章 操作数据
  6.1 队列(queuing)模式
  6.1.1 概要
  6.1.2 使用动机
  6.1.3 详述
  6.1.4 实现
  6.1.5 范例
  6.1.6 总结
  6.2 命令模式
  6.2.1 概要
  6.2.2 使用动机
  6.2.3 详述
  6.2.4 实现
  6.2.5 范例
  6.2.6 总结
  6.3 迭代器模式
  6.3.1 概要
  6.3.2 使用动机
  6.3.3 详述
  6.3.4 实现
  6.3.5 范例
  6.3.6 总结
  6.4 观察者模式
  6.4.1 概要
  6.4.2 使用动机
  6.4.3 详述
  6.4.4 实现
  6.4.5 范例
  6.4.6 总结
 第7章 集群系统
  7.1 web分层模式
  7.1.1 概要
  7.1.2 使用动机
  7.1.3 详述
  7.1.4 实现
  7.1.5 范例
  7.1.6 总结
  7.2 信号和锁模式
  7.2.1 概要
  7.2.2 使用动机
  7.2.3 详述
  7.2.4 实现
  7.2.5 范例
  7.2.6 总结
  7.3 map/reduce
  7.3.1 概要
  7.3.2 使用动机
  7.3.3 详述
  7.3.4 实现
  7.3.5 范例
  7.3.6 总结
第三部分 项目
 第8章 简单的博客系统
  8.1 存储
  8.1.1 创建sdb域
  8.1.2 user对象
  8.1.3 post对象
  8.1.4 comment对象
  8.2 应用逻辑层
  8.2.1 wsgi的简单介绍
  8.2.2 db处理器
  8.2.3 user、post、comment对象的处理器
  8.2.4 处理垃圾评论
  8.3 表现层
  8.3.1 设置http代理
  8.3.2 博客文章(post)
  8.3.3 评论
  8.4 部署
  8.4.1 启动基础实例
  8.4.2 安装软件
  8.4.3 安装应用程序
  8.4.4 安装apache
  8.4.5 打包镜像
  8.4.6 创建代理
  8.5 本章小结
 第9章 使用marajo开发博客系统
  9.1 初始化开发环境
  9.1.1 handlers
  9.1.2 resources
  9.1.3 static
  9.1.4 templates
  9.2 创建资源(resource)
  9.3 创建处理器
  9.4 配置应用程序
  9.5 运行应用程序
  9.6 创建自定义模板
  9.6.1 清单页面的模板
  9.6.2 编辑博客的模板
  9.7 本章小结
术语表

编辑推荐

  详述如何打造性能、可扩展性、可用性俱佳的云计算架构模式。  实现高效的数据处理以及如何充分发挥多主机集群部署的优势。

图书封面

图书标签Tags

评论、评分、阅读与下载


    构建云应用 PDF格式下载


用户评论 (总计10条)

 
 

  •   详述如何打造性能、可扩展性、可用性俱佳的云计算架构模式
      实现高效的数据处理以及如何充分发挥多主机集群部署的优势
  •   构建云应用:概念、模式和实践(详述如何打造性能、可扩展性、可用性俱佳的云计算架构模式)(云计算技术系列丛书)这本书不错
  •   是进行IaaS开发程序员的入门级好书,详细 介绍了如何由传统应用向云计算IaaS服务开发的方法。
  •   书中的具体案例很详细,不是属于专业术语非常强的书籍,大多能看懂。不错
  •   喜欢 谢谢
  •   详实,讲解比较深入
  •   学习用了
  •   补充这方面的知识
  •   发货速度比较快,书的质量也比较好
  •   一般般,了解一下概念
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7