docker为什么适合devops?
欢迎访问网易云社区,了解更多网易技术产品运营经验
进阶版结论:Kubernetes + Docker 是 Dev 和 Ops 融合的一个桥梁。

DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。有工具支持,运维关注代码,开发关注部署,效率和质量都能得到提升。

在软件日趋复杂的情况下,微服务架构是弹性扩展、快速迭代的优选,微服务有利于负责单个服务的小团队降低沟通成本、提升效率,众多的服务却也让研发需要关心环境交付,整个运维工作复杂度剧增。说到秒级启动、秒级自动修复、服务发现、弹性伸缩等等,使用虚拟机和使用容器并无质的差距,但有了 Docker 镜像,最大的变化是环境交付可以提前,每个开发只需多花 5% 的时间,就能换取运维 200% 的劳动,并且提高稳定性。而有了 Kubernetes 以后,运维层关注服务发现、配置中心、熔断降级也顺理成章。
微服务设计要点包括无状态化、服务拆分和服务发现、服务编排与弹性伸缩、熔断/限流/降级等,网易云的体会,Kubernetes 本身就是微服务的架构,几乎所有的组件都是无状态化的,虽然看起来复杂,但是容易定制化,容易横向扩展。Kubernetes 不仅是编排的标准,其 deployment 和 StatefulSet 分别对应无状态对应和有状态,deployment 主要通过副本数,解决横向扩展的问题;StatefulSet 的机制可以让容器里面的脚本有足够的信息,处理异常情况,实现哪怕是有状态,也能尽快修复。
更多的原理详解,请参阅:为什么 kubernetes 天然适合微服务
相关回答参考:网易云:在哪些情况下考虑用docker?
相关文章:
【推荐】 移动端互动直播(入门篇)
【推荐】 Win10应用设计的那些事儿
docker为什么适合devops?的更多相关文章
- 如何利用Docker构建基于DevOps的全自动CI
来自用户的DevOps实践分享,分享从开发代码到生产环境部署的一条龙操作的实践及经验, 包含工具技术的选型及考量.私有代码库与私有镜像库的应用等. (一)容器服务的Rancher选型 1.为什么说是下 ...
- CI Weekly #3 | 关于微服务、Docker 实践与 DevOps 指南
CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...
- 基于Github Actions + Docker + Git 的devops方案实践教程
目录 为什么需要Devops 如何实践Devops 版本控制工具(Git) 学习使用 配置环境 源代码仓库 一台配置好环境的云服务器 SSH远程登录 在服务器上安装docker docker技术准备工 ...
- Windows下搭建Docker与Kubernetes(DevOps一)
Docker与Kubernetes (二)搭建 开通 Hyper-V 安装Docker for Windows 开通Kubernetes 3.关键概念 PodKubernetes 中的最小单元,一个 ...
- 基于 Docker 实现 DevOps 的一些探索
DevOps 介绍 DevOps(Deveplopment 和 Operations 的简称),中译为开发运维一体化,可定义为是一种过程.方法.文化.运动或实践,主要是为了通过一条高度自动化的流水线来 ...
- Devops(二):CentOS7(在线)安装Docker
安装环境:Centos7.5 从 2017 年 3 月开始 docker 在原来的基础上分为两个分支版本: Docker CE 和 Docker EE.1)Docker CE 即社区免费版2)Dock ...
- 最佳实战Docker持续集成图文详解
最佳实战Docker持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境( ...
- Docker:集装箱式“运输”在软件上的实现
Docker是由PaaS提供商dotCloud在2013年年初创建的一款开源应用引擎,Docker可以自动将任何应用打包成轻量.可移植.自包涵的容器引擎.开发者构建的应用可以一次构建全平台运行,包括本 ...
- DevOps企业实践与架构
原文地址:http://www.sohu.com/a/112351816_355140 什么是DevOps及其误区 DevOps概念从2009年提出已有8个年头.可是在8年前的那个时候,为什么DevO ...
随机推荐
- Python unittest excel数据驱动
安装xlrd 下载地址:https://pypi.python.org/pypi/xlrd 安装ddt 下载地址:https://pypi.python.org/pypi/ddt/1.1.0 clas ...
- JS判断不能为空实例代码
JS判断不能为空实例代码.分享在此. 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " ...
- Nginx 图片服务器搭建
安装Nginx >yum install -y nginx 安装vsftpd http://www.cnblogs.com/eason-d/p/9057389.html 2: 创建目录 /us ...
- Lua加密
两种方式:一种用luac,一种用luajit luac加密: 1.lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,去官网下载Lua源代码包(http://www.lua. ...
- C#预编译的问题
C#预编译宏并不像C++那样编译之后就不存在了.在UNITY的C#脚本中 #if UNITY_ANDROID && !UNITY_EDITOR AndroidJavaClass jc ...
- 不可理喻的JSTL标签库
JSTL 全名为Java Server Pages Standard Tag Library(JSP Standard Tag Library),它的中文名称为JSP 标准标签函数库. Web 程序开 ...
- mac下yii安装
下载https://github.com/yiisoft/yii2-app-advanced/releases,里边没index.php文件 1.http://www.yiichina.com/que ...
- errorlevel 续2
-------siwuxie095 %ERRORLEVEL%值一览表: ATTRIB.EXE (a) Target file/folder not found = ER ...
- QEMU 代码分析:BIOS 的加载过程
http://www.ibm.com/developerworks/cn/linux/1410_qiaoly_qemubios/ QEMU 中使用 BIOS 简介 BIOS 提供主板或者显卡的固件信息 ...
- MySQL 系列(二)Jdbc
MySQL 系列(二)Jdbc 一.Jdbc 基本操作 import java.sql.Connection; import java.sql.DriverManager; import java.s ...