需求层次理论是由心理学家艾伯特·马斯洛设计的,它是一种解释人类动机的心理学理论,它由多层次的人类需求模型组成,通常被描述成金字塔内的等级层次。马斯洛使用诸如生理、安全、归属感和爱、尊重、自我实现和自我超越等来描述人类动机通常所经历的阶段。作为人类,首先需要满足我们的基本需求,然后是心理上的需求,只有这样我们才能想到自尊和实现全部的潜能:

马斯洛需求层次

一、Kubernetes能满足微服务的马斯洛需求

这种描述需求的方法非常重要,已经应用于许多其他领域,如员工敬业度、云计算、软件开发、DevOps等等。所以对于微服务来说也同样适用,为了微服务的成功,清晰的需求列表必须满足。List如下:

微服务的需求层次结构

一旦列出了微服务的主要问题(对每个人来说可能会有不同的顺序),就会发现Kubernetes容器编排引擎确实能够很好地覆盖这些需求中的很大一部分。我把Kubernetes也添加到图中。

首先,对于基础层,需要一些计算资源,并且理想的情况下,拥有一个由基础设施服务云提供商管理的可伸缩的标准操作环境。其他先决条件是,自动化的CI/CD流程和工件注册表,Kubernetes可以帮助我们运行和管理。我们仍然需要一些专门的软件,比如构建的Jenkins,以及工件存储库,比如按需 Sonatype Nexus for Docker和Maven for Docker Hub。

Kubernetes可以帮助管理多个隔离环境(名称空间)、管理资源(配额和限制)、存储分配(持久卷)、执行部署和回滚(部署)、自动调度(调度)、服务发现和负载平衡(服务)、弹性和容错(pod健康检查)。

对于某些需求,我们还需要一些额外的工具,如Docker或rkt用于容器实现,应用程序内的弹性库(如Netflix的Hystrix)与Kubernetes弹性特性相结合。然后,Kubernetes可以管理应用程序配置,并帮助运行最好的集中式日志记录、度量收集和跟踪软件,随着服务数量的增加,这些也变得非常重要。

根据微服务的性质,企业有一些特定的需求。对于API驱动的微服务,需要专门的API管理解决方案,也可以处理服务安全性(Kubernetes没有提供)。但是Kubernetes可以轻松地帮助企业运行有状态的服务(有状态的设置)、批处理作业(job)和调度作业(cron job)。

通过一个平台提供的所有这些特性,用户可以执行一些更智能的活动,如应用程序和基础设施自动伸缩和自修复,通过自动放置、自动重启、自动复制、自动伸缩。

对于Kubernetes所满足的所有这些需求,团队所剩下的就是精简开发流程,拥抱DevOps文化以实现快速交付,并在组织层面达到反脆弱性。

二、关于Kubernetes你需要知道的8件事

这是《计算机周刊》与 Carlos Sanchez 的问答环节,Sanchez 是 CloudBees 的工程师,CloudBees是持续交付和集成软件服务的提供商。其中开源持续集成工具Jenkins,是CloudBees服务的重点。

《计算机周刊》的开源内部人士(Computer Weekly Open Source Insider,简称:CWOSI)提出了8个与Kubernetes最相关的问题,试图揭开这个问题的核心,因为2017年Kubernetes经历了知名度的大幅提升。

CWOSI #1:对于那些不了解Kubernetes的人,你如何总结和定义这项技术?

Sanchez: Kubernetes是一个开源平台,旨在自动化容器的部署、缩放和操作。它是一种允许在大规模集群上运行容器的技术。它支持跨大型数据中心的隔离应用程序的执行。

CWOSI #2:为什么Kubernetes会在你的观点中出现——为什么我们需要它?

Sanchez: Docker确实成功地制造了容器。事实上,谷歌已经运行了很多年几十亿的容器。Kubernetes从谷歌的经验中得出了这种规模的容器运行,导致谷歌将这项技术引入开源世界,从而使其他人更容易地管理容器。

至于为什么我们需要Kubernetes,这是因为对于大型和小型的组织来说,容器变得越来越重要,授权开发团队在大规模的分布式环境中运行,以便在DevOps和持续交付实践中更快地交付软件。在这种情况下,任何能够简化容器的有效操作和管理的东西都将受到企业的热烈欢迎。

CWOSI #3:Kubernetes本质上是开源的,但是有多少开发人员在为一项本质上是基础设施的技术贡献代码呢?

Sanchez:总的来说,有超过1400名贡献者。谷歌、红帽和微软都被包括在其中。最近,亚马逊和阿里巴巴已经成为参与这项技术的几家最大的公司。CNCF管理整个技术。

CWOSI #4:容器化技术是否最终意味着每个单独的组件在验证其目的和最终交付特定的产出或功能的方面更负责?

Sanchez:容器通常与微服务体系架构相关联。每个组件都期望完成一个特定的协议。这些组件有一个目的,它们有由这个协议和API标记的输入和输出。他们必须能够履行他们的职责。它们应该是独立的,并在体系结构中发挥特定的作用,其中有成百上千种服务共存。

CWOSI # 5:什么时候不需要Kubernetes…当企业不需要大规模或跨多个机器的时候吗?

Sanchez:Kubernetes是一个复杂的系统。如果企业有规模来证明部署的合理性,那么采用这种技术是有意义的。例如,如果只使用一两台虚拟机,或者没有任何更高的要求,企业可能不需要Kubernetes ,Docker自己就足够了。也就是说,谷歌或Azure提供的当前云服务让我们很容易从Kubernetes和大规模开始。

CWOSI #6:能给我们解释一下Kubernetes pod吗?

Sanchez:Kubernetes pod实际上是一组在同一个主机上运行的容器。这些容器具有一定的特点。例如,它们共享相同的网络空间和资源。真正的Kubernetes pod是由需要共存的容器组成的。

CWOSI #7:让Kubernetes出错,并把错误的实施组合在一起有多容易?

Sanchez:这又回到了安装上——这是一个复杂的软件,需要专门的专业知识。这就是人们使用谷歌Kubernetes引擎或Azure容器服务的原因。

也就是说,有越来越多的工具,无论是开源的还是商业的,比如kops、kube-aws或者kubeadm都可以帮助执行正确的安装。如果您不使用其中一个安装程序来简化安装,那么在此过程中可能会犯错误。

CWOSI #8:在你看来,Kubernetes在接下来的几年中会如何发展?

Sanchez:将会有越来越多的Kubernetes产品从不同的供应商进入市场,不仅仅是云提供商,还有操作系统提供商。Kubernetes将成为集群的实际操作系统。另外,Kubernetes将会发展成为一套标准API,允许企业运行集群架构。

我们看到云提供商正在破坏基础设施,这样企业就可以运行Kubernetes,而无需运行服务器。因此,我们将看到供应商提供Kubernetes作为服务,企业将能够在云中运行容器,而不必担心机器。AWS已经宣布了提供这一服务的意向,这一趋势将继续在其他供应商中施行。

原文链接:
1、Kubernetes and theMicroservices Hierarchy of Needs
https://thenewstack.io/introd...

2、CloudBees:9 things you need to know about Kubernetes
http://www.computerweekly.com...

马斯洛理论告诉你,Kubernetes可以满足微服务的这些需求相关推荐

  1. 使用spring boot+kubernetes构建完整微服务平台

    微服务架构被认为是构建大型复杂系统的最佳理论指导,其采用了分而治之.单一职责.关注点分离等方法论来设计系统架构.微服务的实现方式和思路有很多种,本文简述基于kubernetes的微服务平台建设思路及技 ...

  2. 为什么 kubernetes 天然适合微服务

    最近总在思考,为什么在支撑容器平台和微服务的竞争中,Kubernetes 会取得最终的胜出,事实上从很多角度出发三大容器平台从功能方面来看,最后简直是一摸一样. 参考 Docker, Kubernet ...

  3. 后Kubernetes时代的微服务

    \ 本文要点 \\ 当前微服务架构依然是最流行的分布式系统架构风格.Kubernetes和云原生运动已大规模地重新定义了应用设计和开发中的一些方面.\\t 在云原生平台上,服务仅具备可观测性是不够的. ...

  4. 服务网格——后 Kubernetes 时代的微服务(前言)

    目录 重要观点 阅读本文之前 Kubernetes vs Service Mesh kube-proxy 组件 kube-proxy 的缺陷 Kubernetes Ingress vs Istio G ...

  5. Service Mesh(服务网格)——后 Kubernetes 时代的微服务

    本文转载自:宋净超的博客 这不是一篇教程,本文试图带您梳理清楚 Kubernetes.Envoy(xDS 协议)以及 Istio Service Mesh 之间的关系及内在联系.本文介绍了 Kuber ...

  6. 微服务理论与实践[1]-什么是微服务

    微服务理论与实践[1]-什么是微服务 什么是微服务 微服务 (Microservices) 是一种软件架构风格,将应用程序构造为围绕业务的小型自治服务的集合 微服务以专注于单一责任与功能的小型功能区块 ...

  7. 【系统架构理论】一篇文章搞掂:微服务架构

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文基于<Spring 微服务实战>一书进行总结和扩展,大家也可以自行研读此书. 一.Spring.云计算.微服务简介 ...

  8. 使用Netsil监控Kubernetes上的微服务

    ubernetes是容器编排和调度领域的王者,它击败了竞争对手Docker Swarm和Apache Mesos,开启了闪耀的未来,微服务可以自修复,可以自动扩展,可以跨zone,region甚至跨云 ...

  9. Java / Cloud:如何快速创建支持Kubernetes的REST微服务

    可以肯定地说,如今微服务与云的结合风靡一时. 微服务的开发比以往任何时候都多,从而导致应用程序部署数量增加. 在过去的十年中,开发了诸如Docker和Kubernetes之类的容器化和编排工具,从而使 ...

最新文章

  1. 七种方法实现单例模式
  2. android快速充电实现_Android 8.0 慢充和快充提示语的实现原理
  3. 基于python实现网络课程秒刷系列二
  4. vue移动端实现电子签名画板
  5. Linux下安装海康威视工业相机客户端
  6. wpsppt怎样让图片模糊_PPT怎么设置图片由模糊到清楚?
  7. 网络安全--风险评估
  8. 2016中国工程建设项目管理发展大会议程
  9. Win10系统下CMD命令提示符输入ipconfig命令无法使用的解决方法
  10. 16哈理工新生赛 B 修建传送门 (双指针)
  11. 9.C++例2-10 输入一系列整数,统计出正整数个数i和负整数个数j,读入0则结束。
  12. JavaBean技术的应用——购物车
  13. 联想电脑一开机出现Checking Media Presence……
  14. js中history对象
  15. linux关于登录变成192login
  16. 服务器ghost备份后无法进入系统还原,使用Ghost备份/还原系统的速度很慢原因分析与解决...
  17. Excel根据某一列的内容对另一列进行分组汇总
  18. < C++11新特性(部分学习)>——《C++高阶》
  19. 如何将浏览器设置对应的国家?
  20. Ubuntu 安装 eyeOS

热门文章

  1. unix 命令 vi操作 相关命令总结
  2. Windows日志筛选
  3. C语言下实现冰雹猜想的算法
  4. 落草QQ群成员提取器,邮件群发
  5. 414_删除二维码外面多余白边
  6. 干货 | 想学数据分析不知道该读什么书、从哪本读,翻遍专业知识类网站最全的整理!
  7. 5G旗舰标配LPDDR5,宁配吗?
  8. 猫扑视频未被处罚,此猫扑非彼猫扑
  9. video 在安卓版本上小窗口播放,IOS 微信 video小屏幕播放,微信全屏video
  10. 小甲鱼C++ 30 错误处理和调试技巧1 鬼扯内容