《PaaS程序设计》一导读

简介:

image

前 言

编程很艰难
编程是一项很艰苦的工作。相当艰苦。当你完成代码编写并且编译成功,你很开心。可是你会发现程序存在bug,这耗费了你几小时、几天、甚至几周时间去查找、定位、解决这些问题和边界情况。当你完成所有编码并且认为不会再有更难的问题了,你还得部署代码:Vim apache.conf.vim my.cnf.vim /etc/host.iptables。当你觉得你是一个程序员时,突然你深深陷入了系统管理的泥潭中,完全不明白怎么会这样。
程序员比较擅长的事是创造性的偷懒。当一个程序员重复做同一件事情时,总有一天他会想:难道我的电脑无法帮我完成吗?大概在2005年,世界上很多程序员的改编使得apache.conf文件变化巨大。几位杰出程序员决定他们再也不愿意这样继续下去。
DevOps和PaaS两种模式的横空出世改变了应用部署模式。DevOps对apache.conf文件编辑工作的回应是:我可以编写代码模板(称为技巧或者大全)来帮我完成系统管理。PaaS对apache.conf文件编辑工作的回应是:我能编写程序来帮我进行系统管理。于是很多关于DevOps的好书问世了,例如Dan Bode和Nan Liu合著的《Puppet Types and Providers》 或者Stephen Nelson-Smith写的《Test-Driven Infrastructure with Chef》,但是几乎没有关于PaaS的书。
PaaS很棒!你在专有主机上获得的好处(例如每个应用都运行在自己的进程并系统负载均衡)在共享主机上能轻松获得(你不需要做任何配置管理,PaaS替你完成了)。但是这些好处是有代价的。你必须编写能够在PaaS环境下运行的代码。

目 录

第1章 开发者的云
1.1 开发者的困境
1.2 云能为创新做什么
1.3 云:发展历程简介
1.4 云的核心技术
1.5 管理平台与产品化平台
1.6 云计算的承诺(或者炒作)
1.7 云技术的未来5年
1.8 兑现承诺
第2章 什么是PaaS
2.1 魔术网站
2.2 开发者早期的选择
2.3 PaaS:综合两种方式的最佳方案
2.4 PaaS:现代应用的虚拟工具
2.5 重建信心
第3章 PaaS类型
3.1 不可移植的PaaS:遵照一个模板
3.2 可移植性:不再繁琐
3.3 走向公开标准
第4章 遗留应用迁移到PaaS
4.1 初步考虑
4.2 概述
4.3 资产托管
4.4 会话管理
4.5 缓存
4.6 异步处理
4.7 SQL
4.8 NoSQL
4.9 各种陷阱
第5章 在PaaS上开发新应用程序
5.1 分解庞然大物
5.2 将API应用于移动开发
5.3 JSON和REST的出现
5.4 使用基于REST的元服务
5.5 PaaS的独特贡献
5.6 摩尔定律的影响力

相关文章
|
存储 数据采集 监控
信息系统架构开发方法ADM
信息系统架构开发方法ADM
1010 5
|
消息中间件 Kubernetes 网络协议
K8S 性能优化 - OS sysctl 调优
K8S 性能优化 - OS sysctl 调优
|
6月前
|
NoSQL 安全 Java
2.2k star 单点登录框架揭秘!主流SSO太重?SpringBoot轻量级Smart‑SSO轻松接入·分布式·强踢人
Smart-SSO 是一个基于 SpringBoot 的轻量级单点登录框架,采用 OAuth2 授权码与 RBAC 权限设计,解决跨域认证、单点退出、令牌过期等痛点。支持自动续签、强制踢人、按钮级权限控制及分布式部署,适合中小团队快速构建高可用认证中台。项目已获 2.2k Star,代码开源,接入简单,是企业级应用的理想选择。[详情见 GitHub](https://github.com/a466350665/smart-sso)。
386 23
|
5月前
|
SQL DataWorks 关系型数据库
DataWorks+Hologres:打造企业级实时数仓与高效OLAP分析平台
本方案基于阿里云DataWorks与实时数仓Hologres,实现数据库RDS数据实时同步至Hologres,并通过Hologres高性能OLAP分析能力,完成一站式实时数据分析。DataWorks提供全链路数据集成与治理,Hologres支持实时写入与极速查询,二者深度融合构建离在线一体化数仓,助力企业加速数字化升级。
|
6月前
|
人工智能 前端开发 数据可视化
开发者为什么要选择低代码平台?附低代码工具选型与实施指南
本文为开发者详解低代码平台的选择与实施,涵盖选型要点、主流工具推荐及策略指导。首先分析为何选择低代码平台,适合需求多变、时间紧张或预算有限的项目。接着从业务、技术、用户三大需求维度,结合功能灵活性、可扩展性等5大评估点,提供科学选型方法。盘点了织信Informat、OutSystems等十大热门平台,满足不同场景需求。实施阶段强调培训、渐进部署与数据治理,同时提醒避免过度依赖供应商、忽视体验等常见陷阱。助开发者高效低成本达成目标。
|
人工智能 数据可视化 程序员
史上最全盘点:一文告诉你低代码(Low-Code)是什么?为什么要用?
在后疫情时代,低代码(Low-Code)+ 人工智能(AI)的组合被认为是加速社会数字化转型的重要技术。低代码通过可视化和模型驱动的理念,结合云原生和多端体验技术,显著提升了开发效率和灵活性。它不仅让专业开发者受益,还使业务人员成为“平民开发者”,弥补了专业人才缺口。此外,低代码平台能够快速响应市场变化,帮助企业构建各种应用,如四川某制造企业仅用一个月就搭建出一套内部协作和生产监控系统。结合AI的能力,低代码平台还能实现智能化的建议和优化,进一步提升用户体验和开发速度。
|
存储 容灾 NoSQL
同城双活的必修课 - 落地经验与关键挑战解析
同城双活作为一种容灾架构,通过在同一城市建立两个数据中心,以确保在一个数据中心发生故障时,系统能够快速切换到另一个数据中心,从而提高系统的可用性
1752 2
同城双活的必修课 - 落地经验与关键挑战解析
|
Kubernetes 前端开发 分布式数据库
工作中常见的软件系统部署架构
在实际应用中,会根据项目的具体需求、规模、性能要求等因素选择合适的部署架构,或者综合使用多种架构模式来构建稳定、高效、可扩展的系统。
1193 2
|
存储 SQL NoSQL
ClickHouse(16)ClickHouse日志表引擎Log详细解析
ClickHouse的Log引擎系列适用于小数据量(<1M行)的表,包括StripeLog、Log和TinyLog。这些引擎将数据存储在磁盘,追加写入,不支持更新和索引,写入非原子可能导致数据损坏。Log和StripeLog支持并发访问和并行读取,Log按列存储,StripeLog将所有数据存于一个文件。TinyLog是最简单的,不支持并行读取和并发访问,每列存储在单独文件中。适用于一次性写入、多次读取的场景。
567 0