加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

CaaS在微服务开发运维中的最佳实践

发布时间:2021-01-14 21:08:15 所属栏目:安全 来源:网络整理
导读:《CaaS在微服务开发运维中的最佳实践》要点: 本文介绍了CaaS在微服务开发运维中的最佳实践,希望对您有用。如果有疑问,可以联系我们。 作者简介 李斌 阿里巴巴 高级技术专家 现在阿里云负责容器服务的开发,在加入阿里之前在 IBM 工作多年,主要从事企业应用
副标题[/!--empirenews.page--]

《CaaS在微服务开发运维中的最佳实践》要点:
本文介绍了CaaS在微服务开发运维中的最佳实践,希望对您有用。如果有疑问,可以联系我们。

作者简介

李斌

阿里巴巴 高级技术专家

现在阿里云负责容器服务的开发,在加入阿里之前在 IBM 工作多年,主要从事企业应用以及云计算的研发和运维.

前言

本文分享会有三个方面的内容:

  • 第一是单体应用和微服务,我们会讨论在微服务当中容器和容器技术提供什么的支持;
  • 第二是容器即服务;
  • 第三是容器即服务在微服务的开发运维当中起什么作用;

1、单体应用和微服务

1.1 什么是单体应用

谈到微服务,相对应的就是单体应用,单体应用的抽象示例大家可以看这个照片.

单体应用把所有的东西放在一起,内部通过模块调用完成所有的工作.好处就是上手非常快,上手快的好处就是变现也特别快,流量上的也非常快.

慢慢你发现单体应用架构上的问题就出来了,这些问题最大的情况就是自己内部依赖特别强的情况下,升级维护都有很多的麻烦.这也是微服务需要解决的问题,这背后的原因是什么,大家可能讨论了很多.

大家也许听说过康维定律这个概念,系统的架构上和组织架构是一一映射的,你可以想象程序做得越好,公司发展越快,内部组织架构也会变化的很快,慢慢就会发生组织架构和应用架构不匹配的情况.

这种情况会引起很多麻烦.康维定律并不是有好有坏,只是一个现实,存在即合理,如果真的是想解决这个问题,就是要专业人做专业的事情.

1.2 什么是微服务

有一篇文章讨论微服务相关的概念,把一个 Java 的应用当成像一个 Unix 程序一样,每个程序只做一件事情,做到最好.大的系统通过多个程序组合而成.这篇文章探讨了一个在实际项目当中怎样把一个 Java 应用做到这一点.

我的理解单体应用就是把所有的鸡蛋放在一个篮子里头,这里一个篮子就是一个进程.微服务就是把所有的鸡蛋放在所有的篮子里头,在这种情况下,微服务的好处直接解决了单体应用的问题,升级部署都会好很多.

但是问题就马上出来了,我们可以想像如果是你原来只有一个应用要维护,你的维护成本和你如果有一千个服务,一万个服务,维护的工作量差异会非常大,复杂性也非常大.

1.3 微服务神器Docker

Docker 能解决很多问题,有应用分发的一致性,保证应用在中心各个环节里头可是可以都使用的.

第二个解决了隔离性的问题,如果你一个环节里头很多个应用,出现各种依赖的问题以后很难解决,你维护的恶梦就开始了,采用 Docker 技术后,一个节点可以跑多个容器,容器之间是隔离的.

容器镜像作为一个标准打包格式,能够分发,作为一种服务部署和分发模式会非常好,我们可以用 Docker 做微服务.

1.4 理想与现实

这张图,我们想象的微服务像一个战队一样,星战重点描述的是驾驶员的勇气,后面有一个支撑平台,如果没有这个支撑平台,英雄就变成了无头苍蝇的一堆陨石飞来飞去.

我们在微服务的实践当中碰到了非常多的问题,怎么解决.我今天的题目就是用一个CaaS平台解决微服务在做的过程当中都有哪些事情.

1.5 微服务和Docker

有人问 Docker 到底做什么,本身 Docker 是一种打包的镜像模式,并且是一种运行的方式,能够让镜像以一种标准方式在各个环节里跑,这是国外的调查,有很多公司把 Docker 作为自己云战略的核心.

另外一个就是做微服务,?Docker 和微服务之间有一些千丝万缕的联系,最后一个是 ?Devops,如果一旦有了容器了,把交付标准化了,就相当于集装箱标准化以后把物流标准化一样,这就是如果咱们要用 Docker.

2、容器即服务CaaS

这是一个 CaaS 图,如果大家自己使用过 Docker 的话,可能很多人觉得这个东西上手太容易了,我们用它来解决业务问题就非常容易.

在自己的笔记本电脑上装一个 Docker 引擎,镜像拉起来应用就跑起来了,如果做一个简单的应用镜像,上手也非常容易.这会给大家造成一个很大的错觉,就是 Docker 用在生产环境里头是很容易的事情.

好多文章说 Docker ?遍地都是坑遍地都是雷,不是那么容易的事情.比如说容器的调度、控制、监控、服务发现、日志管理,甚至高可用,很多事情都要做,这实际上不是一个软件分发的机制就能解决的了.

所以 CaaS 平台出来的目标就是,CaaS 平台会让用户摆脱自己重新搭建这么一个平台的难度,让你专注于应用本身,专注于应用的发布和运行.所以这张图只是告诉大家如果一个 CaaS 平台大概会做什么事情,CaaS 平台最好的解释也是在网上大家可以看到的,就是构建,然后发布和运行.

2.1 实现Caas能提供哪些开发和运维的支持

在微服务的实践当中,这个 CaaS 到底能帮助做什么?

  • 第一个是服务的发现和路由

原来的时候应用之间互相调用的话可以用一个IP地址来互相链接,但是在云上,容器启动会非常快,也会消失迁移之类的,这是一个特性,不能假定IP地址永远在那,也不能假定这个服务的实例就某个特定的实例.

(编辑:东莞站长网)

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