云应用开发
2013-3
清华大学出版社
《云迁移技术》《云应用开发人《构建弹性云应用》《构建混合云应用》系列丛书的内
容由浅入深,囊括了从应用迁移、架构设计,应用开发、应用集成等内容,为设计、构建或操
作云应用和云服务的架构师、开发人员、信息技术专业人士,以及有志于从事云计算应用
开发的在校学生们提供了非常好的指引和参考。
作者:(美国)贝茨(Dominic Betts) (美国)Scott Densmore (美国)Masashi Narumoto (美国)Eugenio Pace 译者:邹恒明
第1章 在开始前 1.1 关于Windows Azure 1.1.1 Windows Azure的服务和功能 1.1.2 执行环境 1.1.3 数据管理 1.1.4 网络服务 1.1.5 其他服务 1.2 开发Windows Azure应用程序 1.2.1 管理、监控和调试Windows Azure应用程序 1.2.2 管理SQL Azure数据库 1.2.3 升级Windows Azure应用程序 1.3 Windows Azure订购和收费模式 1.4 更多信息 第2章 Tailspin场景分析 2.1 Tailspin公司 2.1.1 Tailspin的战略 2.1.2 民意调查应用程序 2.1.3 Tailspin的目标和关注事项 2.2 民意调查应用程序的架构 第3章 在Windows Azure平台上托管多租户应用程序 3.1 单租户vs多租户 3.2 Windows Azure平台上的多租户架构 3.3 选择单租户还是多租户架构 3.3.1 架构上的考虑 3.3.2 应用程序生命周期管理的考虑 3.3.3 定制应用程序 3.3.4 多租户数据架构 3.3.5 财务考虑 第4章 访问民意调查应用程序 4.1 民意调查应用程序里的DNS名、证书和SSI 4.2 民意调查应用程序里的Web角色 4.2.1 目标和需求 4.2.2 解决方案概览 4.2.3 实现细节 4.3 地理位置 4.3.1 目标和需求 4.3.2 解决方案概览 4.4 身份认证和权限管理 4.4.1 目标和需求 4.4.2 解决方案概览 4.4.3 实现细节 4.4.4 在Windows Azure里保护会话标签 4.5 内容交付网络 4.5.1 解决方案 4.5.2 为BLOB容器设置访问控制 4.5.3 配置内容交付网络和保存内容 4.5.4 配置URI,s来访问内容 4.5.5 配置缓存策略 4.6 更多信息 第5章 为Windows Azure构建可伸缩的、多租户应用程序 5.1 划分应用程序 5.1.1 解决方案 5.1.2 实现细节 5.2 兔费试用和新顾客的签约过程 5.2.1 基本的订购信息 5.2.2 身份认证和权限信息 5.2.3地理位置信息 5.2.4数据库信息 5.3向顾客收费 5.4定制用户界面 5.5使用Worker角色来对应用程序进行伸缩 5.6对民意调查应用程序进行伸缩 5.6.1目标和需求 5.6.2解决方案 5.6.3实现细节 5.7引用和资源 第6章 民意调查应用程序里的数据处理 6.1多租户应用程序的数据模型 6.1.1保存民意调查定义 6.1.2保存租户数据 6.1.3保存民意调查答案 6.1.4保存民意调查答案概要 6.1.5存储类 6.1.6测试和Windows Azure存储服务 6.1.7保存民意调查答卷数据 6.2显示民调数据 6.2.1翻看民意调查结果 6.2.2会话数据的保存 6.2.3将问题显示给用户 6.2.4显示汇总统计 6.3使用SQL Azure 6.3.1 目标和需求 6.3.2解决方案 6.3.3实现细节 6.4引用和资源
版权页: 插图: 5.4定制用户界面 多租户应用程序的一个共有特点是允许订户对应用程序的外观进行定制。当前版本的民意调查应用程序允许订户使用定制的商标图像来对自己账户页面的外观进行定制。订户可以上传图像到自己的账户,而民意调查应用程序则将图像作为订户账户数据的一部分保存在BLOB存储里。 Tailspin公司计划在应用程序的未来版本里对订户可以使用的定制选项进行扩充。这些扩充包括使用商标对民意调查页面进行定制,允许订户上传瀑布风格模板(.css)文件来定制民意调查页面的外观,以与企业的品牌战略相适应等。 Tailspin公司正在对允许订户上传定制的.css文件的安全风险进行评估,并计划对站点(将要)支持的瀑布风格模板功能进行适度限制。公司将实现一个扫描机制来对订户上传的.CSS文件进行验证,以确保该文件里不包括任何民意调查站点不支持的功能。 当前的解决方案允许订户上传一个图像到一个公共的、名为logos的BLOB容器。作为上传过程的一部分,应用程序将商标图像的URL加入到租户的BLOB数据。这个BLOB存放在名为tenant的BLOB容器里。TenantController类负责读取这个URL并传递给视图(view)。 5.5使用Worker角色来对应用程序进行伸缩 伸缩性对于单租户和多租户架构都是一个问题。对于单租户架构来说,可以通过在特定的时段允许特定的操作来提高应用程序的资源利用率(例如,在凌晨2点时计算一个大型数据库的汇总统计数据),但这种方法却不太适合大部分的多租户应用程序,原因很简单:不同的租户有不同的用量模式,系统难以确定什么时段比较适合哪些操作。 幸运的是,在Windows Azure里,可以使用Worker角色来将资源密集型操作从处理用户交互的Web角色上卸载下来。在Web角色并不立即需要Worker角色的输出数据时,这些Worker角色可以以异步的方式来执行任务,从而提高资源利用率并提高Web角色的响应能力。 表5~4描述的是一些样本场景。在这些场景下,可以使用Worker角色来进行异步工作处理。这里需要提醒注意的是,不是表中所列的所有场景都来自于本书所讨论的民意调查应用程序,即有的场景(如心跳)同样适合其他的应用程序。对于每种场景,表格里给出了工作触发的方式和执行该工作可以使用的Worker角色的实例数量。
《云应用开发(第2版)》的目标读者群包括设计、构建或操作运行在云平台上或需要与云平台打交道的应用和服务的架构师、开发人员和信息技术专业人士。
纸质渣渣啊 内容还不错 上手的精品