新書推薦:
《
图以载道——传统绘画的图像叙事
》
售價:HK$
85.8
《
骨科康复学(第2版)
》
售價:HK$
250.8
《
笔记启蒙 : 英国皇家学会与科学革命
》
售價:HK$
85.8
《
汉语副词研究论集(第六辑)
》
售價:HK$
107.8
《
干戈之影:商代的战争观念、武装者与武器装备
》
售價:HK$
74.8
《
镶嵌之美:古希腊罗马的马赛克艺术
》
售價:HK$
305.8
《
后希腊化哲学:从斯多亚学派到奥利金的发展研究
》
售價:HK$
76.8
《
别纠结啦:不被情绪牵着走的通透生活指南(“当代一休”小池龙之介治愈新作!附赠精美书签!)
》
售價:HK$
64.9
|
內容簡介: |
PaaS(平台即服务)正在对Web和移动开发者产生巨大的吸引力。但是,随着新PaaS供应商的出现,以及现有供应商对其产品特性的持续升级,要知晓PaaS可以提供什么就成为一件比较困难的事情。
《PaaS程序设计》从开发者的视角对PaaS进行了透彻介绍,带领读者领略不同的PaaS模型,并且对Google App Engine、Windows Azure、Heroku、Cloud Foundry等供应商的不同类别的服务进行分解和分析。
《PaaS程序设计》全面展示PaaS如何帮助你专注于创造性的应用开发,而不是将时间花费在担心那些技术的运维问题上,不管你是创业家还是大型企业研发团队的成员,都会从中受益。
■ 介绍云从IaaS和DevOps到PaaS的发展轨迹。
■ 学习如何通过PaaS将共享Web托管的简便性和专有主机托管的可控性结合在一起。
■ 探讨可移植和不可移植PaaS方案的利弊。
■ 将最佳实践应用于迁移遗留代码到PaaS,并且理解这个过程中可能遇到的挑战。
■ 从头开始为PaaS编写REST风格的元服务。
■ 采用PaaS构建移动应用,并且通过后端服务进行扩展。
■ 审视主流PaaS供应商当前可以提供的核心服务。
■ 了解PaaS不能发挥作用的场合。
|
關於作者: |
Lucas Carlson创立了AppFog,这是一家于2013年被Century-Link收购的PaaS公司。作为一位拥有10年开发经验的专业开发者,Lucas专注于Ruby on Rail的开发。他还是《Ruby大全》的合著者,并且用不同的编程语言创建了6个库。
|
目錄:
|
前言 1
第1章 开发者的云 7
1.1 开发者的困境 8
1.2 云能为创新做什么 8
1.3 云:发展历程简介 9
1.4 云的核心技术 14
1.5 管理平台与产品化平台 15
1.6 云计算的承诺(或者炒作) 16
1.7 云技术的未来5年 16
1.8 兑现承诺 17
第2章 什么是PaaS 18
2.1 魔术网站 18
2.2 开发者早期的选择 19
2.3 PaaS:综合两种方式的最佳方案 24
2.4 PaaS:现代应用的虚拟工具 28
2.5 重建信心 29
第3章 PaaS类型 30
3.1 不可移植的PaaS:遵照一个模板 30
3.2 可移植性:不再繁琐 33
3.3 走向公开标准 39
第4章 遗留应用迁移到PaaS 41
4.1 初步考虑 41
4.2 概述 43
4.3 资产托管 44
4.4 会话管理 49
4.5 缓存 52
4.6 异步处理 56
4.7 SQL 57
4.8 NoSQL 58
4.9 各种陷阱 59
第5章 在PaaS上开发新应用程序 61
5.1 分解庞然大物 61
5.2 将API应用于移动开发 63
5.3 JSON和REST的出现 64
5.4 使用基于REST的元服务 69
5.5 PaaS的独特贡献 72
5.6 摩尔定律的影响力 74
第6章 PaaS上的移动应用 76
6.1 移动应用开发简史 76
6.2 未来应用 77
6.3 数据结构 78
6.4 调用移动客户端的元服务 79
6.5 PaaS如何让移动后端开发更容易 83
6.6 服务于更多用户 85
第7章 核心服务简介 86
7.1 非PaaS核心服务 86
7.2 评估PaaS服务 87
7.3 采用托管的数据库和PaaS以节省时间 88
7.4 缓存和PaaS: 冗余 92
7.5 解决Email的挑战 93
7.6 监控的重要性 94
7.7 负载测试 96
7.8 计划升级途径 96
第8章 为什么不选择PaaS 100
8.1 公共云与私有云 100
8.2 中小型公司:如何选择 101
8.3 大型企业级用户:如何选择 103
8.4 PaaS的限制 103
8.5 直面阻力 107
8.6 以长远的视角看待限制 108
第9章 PaaS的未来 109
9.1 OpenStack的影响 109
9.2 保持开发选项的开放 110
9.3 故障:开发者必须面对的最大问题 111
9.4 通过开源重新获取控制 112
9.5 最终的思考 115
第10章 资源 116
10.1 PaaS供应商 116
10.2 IaaS供应商 119
10.3 托管服务 120
10.4 将遗留应用迁移到PaaS 123
10.5 新兴PaaS应用开发 124
|
內容試閱:
|
第1章
开发者的云
不久前的一天,Jason Gendron突发灵感。
自己是不是能创建一个Twitter朋友圈,用户可以相互交流,而不只是一个跟一个的模式呢?于是,Jason,这位来自芝加哥的程序员,开始编写代码,注册twitclub.com(http:twitclub.com)域名,将应用部署在专用服务器上,大获成功。几个月时间,超过80 000用户使用这个服务。但成功总是伴随着挑战——人们常说的,只要能成功便非常高兴去面对的挑战。
由于拥有80 000用户,Jason一半时间用于运维,一半时间用于开发。他花在现有应用运维上的时间越来越多,几乎没有时间创新。不久之后,黑客攻击了他自己配置的服务器。黑客们发送了几TB数据,从而给Jason留下了巨额账单。最终结果是:他的时间都用来应付服务器而没有足够的时间再去更新代码。
仅仅几个月之后,Jason采用了平台即服务(PaaS),将维护职责(从软件升级到安全补丁)外包给PaaS。收效显著。自此他不用再考虑维护方面的工作,全权交给PaaS供应商处理。这样,他就可以把所有时间都放在创新上。很快他就能辞去白天的工作,全身心投入到自主创业中,带领公司扭亏为盈。
PaaS改变了Jason的生活,同样也会改变我们的。它能让我们从服务器管理中解脱出来专心于编程。
Jason经历的困境很常见,其解决方案——将服务部署在PaaS上——很有前景,基于云的开发是未来发展的方向,更简单也更经济。
1.1 开发者的困境
开发者到处都是,他们工作于小公司、政府机关、企业或者自己创业。所有开发者都在面临相同的挑战:处理开发过程的运维事项。工作环境的不同使得问题看起来不同,其实核心问题是一样的。
例如,让我们回顾一下传统的瀑布开发过程。通常,开发者编写代码并在开发测试环境里成功运行。然后就交付给IT团队,在这一环节的运维人员花几周甚至一个月时间验证应用的质量并实施部署,造成应用产品化的极大延迟。工作超期,产品测试延迟,最终,也许最难以承受的后果就是减缓了创新的速度。
速度,或者缺少速度,就成为一个问题,尤其在社交和手机应用方面。开发者需要赶一个营销活动,也许只有几周时间。采用这种典型的、按部就班的流程会浪费我们很多时间,尤其当应用存在问题需要修改时,或者仅仅是因为没有足够的速度以应付如今的社交化市场活动的要求。
另一种情况是小公司的开发者们只想完成工作,每个开发者——就像Jason Gendron一样——都努力构思着下一个Instagram或 Facebook。PaaS帮助他们解决速度的问题,节省大量资源让他们专注编码。
展望未来,节省的资源给自主创业提供了非常积极而深远的影响。
1.2 云能为创新做什么
云改变了开发者的软件开发模式,提升了开发者的工作效率,从风投创业公司直到大财团世界100强公司。
现代开发者被要求尽可能高产出。他们要在紧张的预算和更紧迫的时间内实现完美的开发工作。云的价格和便捷性被大众普遍接受。云帮助公司开发者绕开IT部门,为企业家提供对无限量数据中心的高效访问,而且无需任何前期硬件投入。
图1-1记录了风险资本从2001年开始的近10年投资交易情况。该图展示了标准化后的交易总量和交易规模数据的对比情况。从图中可以看出,几年内两组数据非常接近。但在2006年出现分化,那年Amazon公司联合EC2以及S3推出了亚马逊Web服务,基础设施即服务(IaaS)成为主流。从那时起,云分离了两组数据线,慢慢地交易规模变小而交易数量增加。
图1-1:总交易规模与标准化交易总量对比,2001~2010年
这意味着什么?又有哪些深层次的含义?
历史上第一次,交易总量和交易规模数据相互分离。到2010年,风险投资者们投入到新公司的资金只有以往的一半。这些高科技企业不再需要那么多资金。有了云,他们不再需要搭建数据中心。这是采用云之后风投的最大收益。
通过采用IaaS和PaaS等云技术而节省出的50%的资金可以用到各种业务上:不仅包括创业以及风投支持的公司,还包括中端市场和大型企业。
基础设施即服务解决了一半问题——购买和管理数据中心。另一半问题是应用运维管理。将运维从开发中分离出来是云的第二个承诺,这也是唯有平台即服务才能够提供的。
|
|