Docker、kubernetes、微服务、SpringBoot/Cloud...好乱!到底要不要学?
Docker、微服务日益火热的今天,相信标题上这些名词大家都不陌生。但也相信有很多同学并不够清楚他们的概念,不理解它们的关系,也可能有这样的疑惑:不知道跟我有没有关系?要不要学习?怎么去学习?学哪些东西?没关系,今天我们就从头捋捋,让大家都能得到自己的答案。
Docker诞生于2013年,之后就是迅速串红、火的已经发烫。它为什么会火呢?有什么牛x的技术吗?并没有,docker的技术都是linux内核早已存在的技术,像LXC呀,cgoup呀,namespace呀,都是很早就存在的。那docker有啥高明的地方?很重要的一个就是image,它定义了一个交付标准,早期docker官网首页的三个最大的单词:build,ship,run。诠释了docker和核心:image的构建,image的传输,image的运行。docker就是定义并且实现了这些标准。那为什么直到2013年docker才出现呢?以前怎么没有人有这样的想法?其实想法一直都有,只是docker出现的时机更好,往往决定性的因素并不是技术本身,而是互联网的发展,市场的需要。
时至今日-2018年,Docker已历经5年发展,Docker公司揭露了今年最新的Docker年度数据报告,至今在Docker上的容器镜像下载次数已经超过了370亿次,容器化的应用有高达350万个,目前在LinkedIn网站上的Docker相关职缺也有15,000个。全球活跃的Docker使用者社群已有200多个,包括台湾也有。
随着docker、容器的日渐成熟,容器编排的问题就凸显出来,大量的容器怎么去管理,怎么调度,怎么启停都成了迫切需要解决的问题。有需求就有人去解决,ApacheMesos、kubernetes、docker swarm陆续登场,大有三足鼎立之势,而随着各自的发展,到了2017年下半年,google的亲儿子kubernetes的呼声越来越高,社区也更加活跃、成熟。2017年底,docker swarm和ApacheMesos陆续宣称支持kubernetes,预示着容器编排大战的结束,kubernetes已然成为容器编排领域的事实标准。
服务编排框架的成熟,使得容器的管理越来越方便、高效,容器带来的好处也随之凸显:提升资源利用率节省成本、更高效的持续集成,持续交付、解放运维、快速扩缩容,应对突发流量...
服务编排框架的成熟也让微服务的概念得以落地,同时也催生了java界微服务化的方案,像SpringBoot,SpringCloud。然而服务编排一定是对微服务的编排吗?也就是我们容器里运行的一定是微服务吗?不是的,我们可以运行任何服务,我们现有的业务可以不做任何改造就运行到容器中,让kubernetes去管理、调度。至于微服务呢,只是有了kubernetes,让微服务变得容易管理了。让我们有条件把服务拆分的足够小,足够简单。再也不用担心运维管理的复杂了。了解了docker,服务编排,微服务的关系,我们在看看他们在企业的落地情况。
下面是数人云2018年初做的it行业系统调查报告
这张图纵向的是系统更新频率,其中互联网行业的更新频率最高,有92%的服务要每月都更新,并且其中一定有很多的服务要一个月更新多次。
这张图统计的是目前企业it系统支撑所存在的问题。我们看两个比重最大的问题,一个是系统的复杂性越来越高,一个是运维管理复杂。在传统单体架构或者SOA架构下,应用如果频繁升级更新,开发团队会非常痛苦。为什么呢?企业的业务系统经过多年发展,系统往往会非常庞大,复杂性越来越高,要改动其中任何一小部分,都需要重新部署整个应用,敏捷开发和快速交付根本无从谈起。还有传统企业在长期的IT建设过程中,往往会使用到不同的技术,这导致技术栈之间差异很大,统一的管理和运维变将得非常复杂。随着这样一些问题越来越凸显,企业向微服务架构转型的需求也越来越强烈。
这张图是目前微服务架构在企业的落地情况:有6%的企业已经部分引入了Spring Cloud开发框架。另外,9%的受访企业采用了Dubbo等其他微服务框架。此外,还有51%的企业在考虑往云原生方向转型,包括公有云、私有云。由此可见,绝大部分企业是有架构转型的需求的。
这张图是2017年docker的使用情况。在接受调研的企业中,在生产环境中采用Docker的比例为9%,测试环境使用达22%。而且规模越大的企业,尤其是服务器规模在500台以上的,是Docker容器的主要采用者。另外,正在考虑评估中的占到被调研企业的一半以上。企业的关注度急剧升高,Docker使用正在快速普及。而容器和微服务相辅相成,他们成熟的时间点也非常契合。
接下来我们看几个大厂在docker上的进程。
由此可见,docker,服务编排将是企业发展的必经之路。也是我们每一位开发、架构、运维同学必须了解的内容。如果你正在找工作,docker,k8s,微服务也一定能给你的简历增加一个大大的亮点!
这么多的内容我们要怎么去系统的学习呢?
别着急,慕课网给我们准备了很好的入门课程哦:《Docker+Kubernetes微服务容器化实践》
真心的希望这门课程能够帮助到大家!让我们一起努力,变成更好的自己!
作者:
链接:https://www.imooc.com/article/28359?block_id=tuijian_wz
来源:慕课网
本文原创发布于慕课网 ,转载请注明出处,谢谢合作
Docker、kubernetes、微服务、SpringBoot/Cloud...好乱!到底要不要学?的更多相关文章
- 【SFA官方翻译】使用 Kubernetes、Spring Boot 2.0 和 Docker 的微服务快速指南
[SFA官方翻译]使用 Kubernetes.Spring Boot 2.0 和 Docker 的微服务快速指南 原创: Darren Luo SpringForAll社区 今天 原文链接:https ...
- 微服务Spring Cloud与Kubernetes比较
转 http://www.tuicool.com/articles/VnMf2y3 Spring Cloud或Kubernetes都宣称它们是开发运行微服务的最好环境,哪个更好?答案是两个都是,但他们 ...
- 【译文】用Spring Cloud和Docker搭建微服务平台
by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...
- 手把手教你用Spring Cloud和Docker构建微服务
什么是Spring Cloud? Spring Cloud 是Pivotal提供的用于简化分布式系统构建的工具集.Spring Cloud引入了云平台连接器(Cloud Connector)和服务连接 ...
- 使用 Spring Cloud 和 Docker 构建微服务架构
如何使用Spring Boot.Spring Cloud.Docker和Netflix的一些开源工具来构建一个微服务架构. 本文通过使用Spring Boot.Spring Cloud和Docker构 ...
- Spring Cloud和Docker搭建微服务平台
用Spring Cloud和Docker搭建微服务平台 This blog series will introduce you to some of the foundational concepts ...
- 基于 Docker 的微服务架构实践
本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ...
- [置顶]
Docker学习总结(7)——云端基于Docker的微服务与持续交付实践
本文根据[2016 全球运维大会•深圳站]现场演讲嘉宾分享内容整理而成 讲师简介 易立 毕业于北京大学,获得学士学位和硕士学位:目前负责阿里云容器技术相关的产品的研发工作. 加入阿里之前,曾在IBM中 ...
- Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上)
Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上) Jenkins+Docker+SpringCloud持续集成流程说明 大致流程说明: 1) 开发 ...
随机推荐
- ASP.NET MVC多语言 仿微软网站效果(转)
本文转自: https://blog.csdn.net/Cooldiok/article/details/7831351 2017年10月22日 21:31:22 Cooldiok 微软作为ASP.N ...
- python列表中元素插入位置总结
要完成的操作是把一个列表里的元素通过for循环添加到另外一个列表里,但是通过insert()方法添加到另外一个列表后却发现元素的位置与原始列表的颠倒了.如以下实例: li1 = ['] li2 = [ ...
- 【iCore1S 双核心板_FPGA】例程十四:FSMC总线通信实验——独立地址模式
实验原理: STM32F103上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- 【原】关于AdaBoost的一些再思考
一.Decision Stumps: Decision Stumps称为单层分类器,主要用作Ensemble Method的组件(弱分类器).一般只进行一次判定,可以包含两个或者多个叶结点.对于离散数 ...
- 教你一招:使用最快速的方式激活windows10专业版
1.安装win10专业版 2.在桌面新建“文本文档.txt” 3.复制如下代码到新新建的“文本文档.txt”中 slmgr /ipk VK7JG-NPHTM-C97JM-9MPGT-3V66T slm ...
- vue条件与循环
通过vue控制切换一个元素的显示也相当简单: <div id="app-3"> <p v-if="seen">Now you see m ...
- Caltech数据使用详情
Caltech官网: http://www.vision.caltech.edu/Image_Datasets/CaltechPedestrians/ 以Caltech测试集为例(大概是4095个图片 ...
- mysql语法 -- concat函数
mysql CONCAT(str1,str2,…) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL.或许有一个或多个参 ...
- Kubernetes集群部署之三ETCD集群部署
kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点复用 kubernetes 集群机器k8s-master.k8s-node-1.k ...
- [转]如何通过 App Store 审核(iOS 开发者经验分享)
CocoaChina交流社区曾经发起一个主题讨论,关于iOS开发者遇到审核失败的原因及解决办法的,有价值的回复内容如下: wubo9935 App中设计的图标与Apple原生图标类似,Apple原生图 ...