013 云原生之容器技术
领域驱动设计(Domain-Driven Design,DDD)本质是根据业务属性将系统划分为不同的业务领域,最简单的如电商系统中的会员、商品、交易和物流等。为了配合这些业务的运行,我们需要一些支持系统,如 CMS、社交运营平台等。如果涉及个性化推荐的商业需求,大数据和 AI 平台也是必不可少的。
DDD 的子域主要分为三种类型,分别为核心子域、普通子域和支持子域。其中,普通子域和支持子域就是我们常说的通用类子域,具体业务形态体现为 SaaS 服务,或者云厂商提供的技术产品。
IaaS 位于最底层,提供服务器、存储、网络等服务。这些都属于基础设施,例如云服务器、存储服务等。PaaS 位于 IaaS 之上,是对 IaaS 资源的进一步抽象,基本屏蔽了 IaaS 层的细节,例如 Kubernetes 就属于这一层。SaaS 位于最高层,直接提供服务及服务对接,例如 Open API 集成等,都属于 SaaS 层提供的服务。
容器作为标准化软件单元,可用于将应用及其所有依赖项整体打包,使应用不再受到环境的限制,从而可以在不同计算环境之间快速、可靠地运行。
Docker 容器基于操作系统虚拟化技术,具有共享操作系统内核、轻量、无资源损耗、秒级启动等优势,极大地提升了系统的应用部署密度和弹性。更重要的是,Docker 提出了创新的应用打包规范,即 Docker 镜像,它实现了应用与运行环境的解耦,使应用可以在不同计算环境间一致、可靠地运行。
传统、虚拟化和容器化三种部署模式的对比
Kubernetes 的控制平面包含四个主要的组件:API Server(API 服务器)、Controller Manager(控制器管理服务器)、Scheduler(调度器)和 Etcd。
Deployment(无状态应用)、StatefulSet(有状态应用)、Job(任务类应用)等不同资源类型,提供了对不同类型工作负载的抽象。
gVisor 是一种进程虚拟化增强的容器,通过实现独立的用户态内核,捕获和代理应用的所有系统调用,隔离非安全的系统调用,从而间接达到安全的目的。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/78b7bc442da7cc28915c1b23f】。文章转载请联系作者。
评论