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 ...
随机推荐
- 「小程序JAVA实战」小程序视频处理工具ffmpeg(47)
转自:https://idig8.com/2018/09/16/xiaochengxujavashizhanxiaochengxushipinchuligongjuffmpeg46/ 前面已经把视频成 ...
- js中创建table表格
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- python传值&值引用
[python传值&值引用] 和其他语言不一样,传递参数的时候,python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是“传对象引用”的方式.实际上,这种方式相当于传值 ...
- String和CharSequence
String 是java中的字符串,它继承于CharSequence. String类所包含的API接口非常多.为了便于今后的使用,我对String的API进行了分类,并都给出的演示程序. Strin ...
- 【bzoj3437】小P的牧场
3437: 小P的牧场 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 947 Solved: 542[Submit][Status][Discuss ...
- Django基础模板案例
想要用django 访问一个页面 同时传参数过去.在页面中接受参数 案例:附代码 #创建一个项目 项目名字是 yhl_test django-admin startproject yhl_test ...
- 33-wxpython多个frame之间的信息共享
https://blog.csdn.net/xyisv/article/details/78576932 https://blog.csdn.net/tianmaxingkong_/article/d ...
- Java 设计模式系列(十二)策略模式(Strategy)
Java 设计模式系列(十二)策略模式(Strategy) 策略模式属于对象的行为模式.其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换.策略模式使得算法可以 ...
- Java 设计模式系列(九)组合模式
Java 设计模式系列(九)组合模式 将对象组合成树形结构以表示"部分-整体"的层次结构.组合模式使得用户对单个对象的使用具有一致性. 一.组合模式结构 Component: 抽象 ...
- Go基本数据类型
Go基本数据类型 第一部分:基本数据类型和操作符 1. 文件名&关键字&标识符 1. 所有go源码以.go结尾 2. 标识符以字母或下划线开头,大小写敏感,比如: a. boy b. ...