在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 。
- 整体打包之后 , 镜像变大 , 又该如何优化?
- 当分层之后 , 在宿主机上如何合并多个层?
- 罗永浩|MIUI 14“剃刀计划”砍向应用臃肿:微信文件重复存储问题终于解决
- Java|24位博主,带你了解自媒体的真相
- 华为|不同职业的人怎么选华为PC?带你对号入座
- tiktok|新东方、罗永浩纷纷入局,TikTok海外发展势头走高,值得注意哪些趋势?
- 骨传导耳机|骨传导耳机伤耳朵吗?带你一分钟了解骨传导耳机
- 华硕|双12大促来了!带你种草全新华为“书房三宝”
- 罗永浩|现阶段物联网还无法建构在不同系统之间
- 短视频|【海归求职网CareerGlobal】13年500强企业工作经验资深行业顾问带你深入了解产品经理岗位!
- 燃气热水器|双增压零冷水,这冬天云米AI燃气热水器Super带你酣畅淋漓地洗澡
- 苹果|Apple Music新功能来袭 带你了解卡拉OK伴唱
