加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长百科 > 正文

孙杰:“容器技术在企业落地的探索和实践”

发布时间:2018-03-31 20:06:42 所属栏目:站长百科 来源:站长网
导读:近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥
副标题[/!--empirenews.page--]

近年来,云计算开源技术逐渐成为云计算发展的重要支撑和导向,改变了以往的信息技术进化模式,引领软件技术标准的发展和创新,深刻影响着整个信息技术产业的发展格局。为进一步探索我国云计算开源技术发展模式,加速云计算与各行业的深度融合,更好地发挥云计算在经济社会创新发展中的支撑和引领作用,促进我国云计算产业快速、健康发展。

由中国信息通信研究院主办、中国通信标准化协会支持的"OSCAR云计算开源产业大会"将于2018年3月21日-22日在国家会议中心举行。在22日下午的工业使用开源论坛上,北京中油瑞飞信息技术有限公司资深架构师孙杰就《"容器技术在企业落地的探索和实践"》进行了演讲!

孙杰

以下为演讲实录:

孙杰: 当今容器技术被广泛关注,已经有越来越多的企业开始布局或者已经采用容器技术来构建自己的云基础设施。很多传统行业和互联网企业相比在容器技术方面起步稍晚,但近两年随着容器关注度的空前火热,企业进步也很快,大力推进容器相关能力的建设。基于 Docker 的容器,是一种更轻量级的虚拟化,我们称之为 CaaS,就是容器级服务。它涵盖了 IaaS 跟 PaaS 两者的优势,可以解决应用的部署、开发运维、微服务这些问题,而且能够更快的加速业务的交付。容器可以说它是一种先进的技术,但怎么把它变成一种先进的生产力,企业能不能把这个技术给用好,怎么用好,大概有这样九个问题,这也是我们长期的思考和探索实践。

企业要用正确的姿态拥抱容器并且使用好容器,需要在应用容器技术时考虑清楚以下九个关键问题:

1、企业容器云方案设计需要遵循什么原则?

2、容器云技术产品如何选型?

3、容器云的网络应该如何设计?

4、容器的持久化存储方案如何选择和设计?

5、容器云上日志集中管理如何设计?

6、容器应用的监控方案如何设计?

7、容器云的多租户和权限如何设计?

8、容器与 OpenStack 和 Kubernetes 集成的能力?

9、容器云如何实现高可用和跨区部署?

那么,首先第一个问题企业容器云方案设计需要遵循什么原则?

首先,我们要明确企业上容器云的目的,容器是为业务服务的,任何技术都是为了能够更好的服务业务,这是我们的出发点。其次,结合业务特点选择合适的容器框架,比如我们的业务本身是不是可以基于新型微服务架构进行改造,业务是不是具有变化快、弹性大、更新迭代快等特点。还有要和已有系统较好地对接整合,在上容器之前,企业通常都已经有比较成熟和稳定的其他 IT 系统,例如网络系统、集中监控系统、安全防护系统等。

为避免重复建设,同时也为了容器平台能够更容易被接受和使用,应让容器平台融入企业原有的整个 IT 系统,而不是另起炉灶重新建设。容器平台要承载生产业务,也需要满足安全的监管合规要求,例如隔离不同安全等级的应用、支持对应用容器的安全漏洞扫描、安全有效的防火墙策略管理等。生产环境的业务要求高可用性、连续性,还应该考虑整个容器应用层面的高可用性和数据连续性、安全可靠。

建设容器平台的目的是为应用带来灵活、弹性、节省资源等优势,这要求应用最好具备微服务架构、无状态化等特点,让这些优势更好地发挥。但不适合容器化的应用也不能勉强,否则容器平台建设后,如果不能给应用和业务带来预期的价值,不仅浪费了大量企业投入,还使得容器平台的价值得不到认可。这是每一个投入大量精力和热情进行容器平台建设的人最不愿意看到的结果。

容器本身的特点和好处,我就不复述了,大家都比较清楚,容器一个是低成本、轻量级的,而且便于迁移,启动的时候特别快。它直接可以构建在物理主机的OS系统上,像以前的虚拟化可能要多一层,然后在这之上才会有你的虚拟机的操作系统。容器和虚拟机占用CPU资源的情况对比,像Docker大概在1.6%,像KVM占用资源大概14.6%,占用的内存资源对比,Docker平均每个容器只有46兆,KVM基本上185兆,同样的规格,Docker的性能2倍于你的KVM.Docker的镜像非常小,而虚拟机的镜像基本上在3G、4G,甚至像Windows这样的都在5G、6G.这样来看容器有比较大的资源节省,而且性能又提高了。

应用容器技术带来的挑战和改变,大家可以看到,容器带来的改变,第一,它可以直接通过镜像封装你的应用,可以根据你的dockerfile命令行直接构建你所需要的应用,提供了一种比较广泛认可的交付协议。第二,资源的提供者可以无差别的对待你的资源需求,为构建统一的IT支撑平台提供了可行性。另外就是研发流程自动化(CI)、 应用模式化(微服务、弹性)、 标准化、自动化,这些都可以做到更快的响应业务的变化。

容器面临的主要挑战,就是平台化才能产生效益,但是标准不太统一。还有就是平台化需要侵入应用结构。大量传统应用遗产需要改造,这是比较消耗人力和资源的。

第二个,容器云技术产品如何选型?技术选型这个问题有很多复杂的影响因素,包括技术和非技术两方面,不同的组织情况下也不尽相同。

一个企业在应用新技术前,还需要考虑 IT 部门自身的技术能力,包括开发能力、运维能力,同时对自身业务系统从开发平台、开发过程、开发规范等有决定能力。如果企业自身的开发和运维能力不强,则采用成熟的 PCF、OpenShift 等方案是不错的选择。如果考虑现有系统对接需求,包括监控、网络、安全需求等,特别是现有网络架构对容器的网络方案有较大影响时,应该考虑使用 Kubernetes、Mesos、Swarm 等开源方案更便于定制,也能较好的融入现有 IT 系统。

Kubernetes、Mesos、Swarm 这三个开源方案都是行业内比较火热的资源编排解决方案,但它们各自的立足点各有千秋。从应用的发布环节来比较:Docker 的 Swarm 功能,以及 Kubenetes 的编排,Mesos 的调度管理,很难直接决出高低。换言之,如果加上企业级应用场景,来辅佐容器技术选型,则会显得更有意义。

企业规模不大,应用不是太复杂

这时 Docker Swarm Mode 还是比较好用的,集群的维护不需要 Zookeeper,Etcd 自己内置,命令行和 Docker 一样用起来顺手,服务发现和 DNS 是内置的,Overlay 网络是内置的。

企业规模大一些、应用够复杂

这时集群规模有几百个节点,很多人就不愿意使用 Docker Swarm Mode 了,而是用 Mesos 和 Marathon.因为 Mesos 是一个非常优秀的调度器,它的双层调度机制可以使得集群规模大很多,Mesos 的优势在于第一层调度先将整个 Node 分配给一个 Framework,Framework 的调度器面对的集群规模小很多,然后在里面进行二次调度。如果有多个 Framework,例如有多个 Marathon,则可以并行调度不冲突,同时 Mesos 在传统数据计算方面拥有较多的案例,相信也是企业选型时考虑的要素之一。

企业规模大、业务复杂、应用粒度更细

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读