在IaaS阶段 , 服务厂商只提供虚拟机 , 虚拟机之上的软件栈都由用户管理 , 包括操作系统、持久化层、中间层、用户程序 。 在IaaS层面用户只是减少了关心底层硬件 , 而PaaS层面希望能够进一步解放用户 , 让用户真正只需关注应用本身 。
- PaaS主要功能
早期PaaS平台 , 更多关注运行时环境与依赖服务 , 而目前的PaaS平台新增大量的支持服务 , 包括:认证授权、系统日志、应用监控等 , 以上都是应用开发的常见需求 。 原则上:共用内容就应该抽象出统一通用的组件 , 由框架和平台来实现 。 让用户只关心逻辑或应用本身 , 避免重复造轮子 。
- PaaS早期代表Cloud Foundry
它主要功能包括以下:
- 应用打包、分发部署
- 以容器的方式运行应用
- 【罗永浩|图文并茂!带你深度解析Kubernetes】均衡负载
- 服务监控、异常重启
但其最终并未成为PaaS主流 , 是因为其存在一个核心不足:它只对应用和配置进行了打包 , 而没有打包整体依赖(所谓的整体依赖包括:中间环境、操作系统文件) 。 所以它的包在跨平台运行时 , 会出现运行失败的现象 。 这个问题非常致命 。
而且 , 早期Cloud Foundry主要是针对单一Web应用的管理 , 对分布式应用所需的各项能力均未涉及 , 例如:服务发现、弹性扩缩等 。
(五)DockerDocker公司的前身是dotCloud , 它是2010年成立 , 提供Paas服务的平台 。 但当时Cloud Foundry做的相对完善和开放 , 2012年底dotClound濒临倒闭 , 创始人决定把内部的打包平台开源出去 。 因此 , 2013年3月dotCloud公司在github平台上开源了其内部的容器项目Docker 。 Github开源之后 , 受到了业界的热烈追捧 , 从而Docker大火 。 公司后来也改名为Docker 。
Docker的成功 , 主要是通过镜像完美解决了开发、测试、生产环境不一致的问题 。 它的口号是:Build、Shipand Run any App、Anywhere , 即一处构建 , 到处运行 。
Docker的核心技术有三个:NameSpaces做视图隔离、Cgroups做资源限制 , UnionFS联合文件系统 , 统一mount 。 通俗理解:NameSpaces、Cgroups通给进程设置属性 , 实现进程的隔离与限制 , UnionFS给进程构造文件系统 。 这三项技术均有linux内核提供 , Docker本身并没有创造新的技术 。
但是Docker创造性的通过镜像整体打包了应用的依赖环境 , 包括:操作系统文件、中间依赖层、APP 。
- 整体打包之后 , 镜像变大 , 又该如何优化?
- 当分层之后 , 在宿主机上如何合并多个层?
- 罗永浩|为何小商贩大多喜欢用微信支付,却很少使用支付宝?什么原因?
- 罗永浩|罗永浩称拿火烤钟薛高精神有问题:直击钟薛高卖得贵
- 罗永浩|罗永浩官宣新创业公司名字,看来锤子真的被放弃了!
- 罗永浩|罗永浩称不会再有“真还传2” 所有让写担保的都不签了
- 罗永浩|罗永浩称拿火烤钟薛高精神有问题:劝网友先看检测报告再黑
- “快来”为你解读视联网发展阶段之婴儿篇“快来直播”带你了解视联网发展阶段视联网的发展趋势...|“快来”为你解读视联网发展阶段之婴儿篇
- 罗永浩|罗永浩直播间拍蚊子为自己正名:让投资人放心
- 罗永浩|又一位互联网大佬宣布移居海外!!
- 锤子科技|和锤子科技说再见!罗永浩:新公司已经成立!
- 罗永浩|罗永浩谈钟薛高卖得贵:品质碾压哈根达斯 还没它贵!