本文来自网易云社区

我们主要从Docker对业务架构和生产实践的角度来分析。

随着业务规模的逐渐扩大,产品复杂度也随着增加,企业需要解决快速迭代、高可靠和高可用等问题,一个自然的选择是服务化的拆分,把一个单体架构拆分成一些较小的模块。但拆分成大量小模块之后,虚拟机与服务化架构的配合就出现了很多新的挑战,于是有了对Docker的需求。

比如,在整个架构演进的过程中,各个模块都面临爆炸性的增长,模块间紧耦合则牵一发而动全身,工程臃肿,影响迭代速度,分别独立上线更有利于适应业务发展的需求。所以,微服务化需要从一开始就要做好持续集成,而Docker是很好的持续集成的工具,完成从代码提交到自动测试、自动发布的工作。在架构复杂的情况下,比如100多个模块,再加上各种副本,所有环境都由一个运维团队来完成,不仅工作量繁重,而且还容易出错,但这是使用虚拟机的模式。而如果写一个Dockerflie放到代码仓库,由开发人员来考虑开发完成之后应用部署的配置环境、权限等问题,包括测试环境的部署、联调环境的部署、生产环境的部署,问题就很好解决了。这就是Docker带来的流程变化。

随着微服务架构的逐步完善,需要解决的问题主要是如何通过服务治理、系统运维自动化提升可靠性和可用性,如何高效完成大项目的复杂协作,如何梳理功能、深化用户体验。通过不可变基础设施和IaC(基础设施即代码)可以实现,这里容器也是最佳选择。比如,不可变基础设施就是所有的改变,都应该在Git的改变里面有所体现,修改环境就是修改Dockerfile,修改配置文件也是代码层次的改变,整个环境的部署,当代码merge的时候,会触发通过容器自动部署的脚本,这能很好地保持环境的一致性。

最后,网易云容器服务为用户提供了无服务器容器,让企业能够快速部署业务,轻松运维服务。容器服务支持弹性伸缩、垂直扩容、灰度升级、服务发现、服务编排、错误恢复及性能监测等功能。

今年,网易云围绕应用和微服务打造了一站式 PaaS 平台——轻舟微服务,帮助用户快速实现易接入、易运维的微服务解决方案。

两分钟了解Docker的优势的更多相关文章

  1. 5分钟使用docker搭建一个WordPress

    环境为已安装Docker Destop的Windows系统. 过程 使用Docker拉去官方WordPress镜像再进行简单配置是可行的, 但是这里我们使用docker-compose,它会自动根据你 ...

  2. 两分钟了解REACTIVEX

    可能在之前,你就已经看过这篇响应式编程的入门.什么?太长?好吧,这都没关系,Rx并不难,你甚至可以自己实现一个这样的框架. 知道数组吧?你当然知道,这就是: [ 14, 9, 5, 2, 10, 13 ...

  3. Visual C#两分钟搭建BHO IE钩子(转)

    摘自:http://www.cnblogs.com/mvc2014/p/3776054.html 微软在1997年正式推出Browser Helper Object (BHO), 使程序员能够更好的对 ...

  4. 【公众号系列】两分钟学会SAP F1技巧

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]两分钟学会SAP F1技巧   写 ...

  5. Git两分钟指南-学习入门参考

    Git两分钟指南 http://blog.jobbole.com/78999/ GIT和SVN之间的五个基本区别 http://www.oschina.net/news/12542/git-and-s ...

  6. CSUOJ 1087 就多了两分钟

    Description Yucept21和他的室友Zyn因为宿舍没电去网吧上网,上了27分钟,Cs打电话来说来电了.所以Yucept21在第29分钟下机了,上网的费用是一块钱,然后Zyn墨迹了两分钟, ...

  7. Visual C#两分钟搭建BHO IE钩子

    微软在1997年正式推出Browser Helper Object (BHO), 使程序员能够更好的对IE进行二次开发和操作. 在通过编写BHO程序数月后, 我希望把我的一些经验告诉才开始的同志, 避 ...

  8. Spring Boot 学习系列(01)—从0到1,只需两分钟

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 快速构建 如果我们想基于spring mvc 提供一个简单的API查询服务,传统的方式,首先需要我们引入sp ...

  9. Android零基础入门第30节:两分钟掌握FrameLayout帧布局

    原文:Android零基础入门第30节:两分钟掌握FrameLayout帧布局 前面学习了线性布局.相对布局.表格布局,那么本期来学习第四种布局--FrameLayout帧布局. 一.认识FrameL ...

随机推荐

  1. SQL 关联两个表的视图总结

    视图就是一条select查询语句,是一张虚拟表. table a  , table b  以表a基表(a LEFT  JOIN b) 1.1 当update view时 更新view中表b字段并且表b ...

  2. 13、SpringBoot-CRUD员工修改操作/删除

      对于修改连接的uri 在list.html中 <a class="btn btn-sm btn-primary" th:href="@{/update/} + ...

  3. RabbitMQ之五种消息模型

    首先什么是MQ MQ全称是Message Queue,即消息对列!消息队列是典型的:生产者.消费者模型.生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息.因为消息的生产和消费都是异步的,而 ...

  4. 给已安装的NGINX添加新的模块

    给已安装的NGINX添加新的模块 2018-11-16 14:02:45   Visit  0 使用 nginx -V 查看当前nginx的信息,包括版本号和configure编译配置信息 版本号 : ...

  5. linux c 获取当前时间 毫秒级的 unix网络编程

    #include <time.h> #inlcude <sys/time.h> char *gf_time(void) /* get the time */{ struct t ...

  6. servelet跳转页面的路径中一直包含sevelet的解决办法

    解决办法1: 在web.xml配置文件中修改: <servlet-mapping> <servlet-name>LoginServelet</servlet-name&g ...

  7. C#中小写人民币转大写

    /// <summary> /// 转换成大写人民币 /// </summary> /// <param name="myMoney">< ...

  8. mysql启动错误处理

    1.当启动MySQL时,报如下错误 [ERROR] Plugin 'InnoDB' init function returned error.[ERROR] Plugin 'InnoDB' regis ...

  9. 浅谈HashMap与线程安全 (JDK1.8)

    HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型.HashMap 继承自 AbstractMap 是基于哈希表的 Map 接口的实现,以 Key-Value 的形式存在,即 ...

  10. Array方法学习小结

    原生js forEach()和map()遍历 A:相同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前 ...