这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

演讲(2017)

Cloud Native 演讲介绍

Cloud Native 演讲介绍(2017年)

国内的演讲:

1 - CNCF: What is Cloud Native

What is Cloud Native and why should I care

笔记说明

“What is Cloud Native and why should I care” 这个Slides来自 Alexis Richardson ,他是 CNCF TOC Chair & CEO Weaveworks,时间是 23 Feb 2017。

Weave的解决方案

Netflix率先将云原生作为一种实用工具,这里有一个重要的slides Netflix Development Patterns for Scale, Performance & Availability ,来自Netflix,2013年,应该是第一次提出 Cloud Native 的概念吧?

Weave Cloud 业务需求:

  • 24-7-365, 全球,多租户,安全等
  • 团队100%专注于快速应用开发,而不是VM管理和维护
  • 我们可以根据使用/成本来增加/减少组件
  • 不在接线上花钱(Prometheus只适用于Docker,Kubernetes ..)
  • 我们可以在任何地方运行Weave Cloud应用程序(开源而不仅仅是亚马逊)

我们的解决方案经验:对我们最重要的是什么?

  1. 自动化:很多自动化。端到端。自动化所有事情。

    如:CI / CD!编排!可观测性!

  2. 需要关注应用而不是基础设施,例如使用随时随地都能正常工作的标准包装,如容器!

  3. 需要了解并应用新的云原生模式和工具,以用于监控,日志,正常运行时间管理等,如微服务及其他!

这里有一个非常有意思的自动化实践,ABCDE:

  • App is developed & tested locally:本地开发和测试应用,这个对开发效率有非常大的帮助,的确很重要。
  • Built automatically using CI of our choice:使用我们选择的CI进行自动构建
  • Container image pushed automatically:自动推送容器镜像
  • Deployed automatically using Weave Cloud deploy service…:使用Weave云部署服务自动部署
  • …to an Execution Environment of your choice:部署到选择的执行环境

经验教训

Cloud Native需要很好的工具:

  • 开源
  • 随处运行
  • 可信赖的软件,由可靠的团队和流程管理
  • 易于监控和控制
  • 与其他工具互操作,以通用惯例的方式

基础设施必然是枯燥乏味的:

  • 要专注于您的应用,基础设施必须是枯燥乏味的
  • 使用容器
  • 使用PaaS/CaaS或您喜欢的任何容器平台
  • 注意1%的故障问题

我们需要良好的模式:

  • 微服务(和Microliths)

  • Cattle not Pets:是奶牛不是宠物

  • 可观察性和控制性

  • 通信模式 - 蓝/绿,金丝雀,智能路由和负载均衡……

Cattle not Pets 算是行业术语,或者典故了,具体解释见 https://devops.stackexchange.com/questions/653/what-is-the-definition-of-cattle-not-pets

Cloud Native是模式

模式用来干嘛:通过向他人学习来避免痛苦

  • Availability/可用性:Microservices & Netflix for everyone

  • Automation/自动化: Deployment & Management

  • 促进 CI/CD & 自动化的“ABCDE”

  • 任何地方! Containers 是可移动的

通用开源软件

  • Software is eating the world
  • Open Source is eating Software
  • Cloud is eating Open Source

如果没有通用开源软件,我们将冒着Cloud锁定的风险。

Appendix 中的 cloud native 层次关系分析非常有意思。

2 - CNCF: Cloud Native Strategy

Cloud Native Strategy

笔记说明

“Cloud Native Strategy” 这个Slides来自 Jamie Dobson,时间是 2017-02。

Strategy

何时使用策略:

  • 超越组织边界。
  • 组织缺乏关键能力。
  • 创造赢家和输家。 (还有抵抗)

元素:

  • 目标建立在更大的故事中
  • Situational Awareness:情境意识
  • Now and the future: 现在和将来
  • Coalitions: 联盟
  • Self-Supporting Actions: 自我支持行动
  • Risk: 风险
  • Courage: 勇气

A strategy is a way through a difficulty, an approach to overcoming an obstacle, a response to a challenge.

Strategy可是是克服困难的一种方式,也可是是克服障碍的一个方法,是一个对挑战的回应。

鹅和金蛋

  • Microservices.
  • Highly available.
  • Two pizza teams.
  • Auto-Scaling.
  • Load Balancing.

备注:这一段没太看懂要说啥。

经验教训

  • Lesson #1 - Don’t Steal Ideas But Rather:不要窃取想法,而是
  • Lesson #2 - Steal The Processes That Created Those Ideas:而是窃取创造这些想法的流程

这个说法非常有道理。

  • Lesson #3 - Define the Problem You Are Trying to Solve :定义要解决的问题

这张图倒是很有借鉴意义,cloud native 的能力,分组方式。

  • Infrastructure is Programmable:基础设施是可编程的
  • System Shape== Organisational Shape:系统形状==组织形状

摸着石头过河:

  • Risk and Uncertainty: 风险和不确定性

  • Current Advantage: 目前的优势

  • Potential Actions: 潜在行动

  • Lesson #4 - In Great Uncertainty Take Smaller Steps: 在有巨大的不确定性的情况下,小步前进

Triple D 的概念:

  1. 发现问题
  2. 定义材料
  3. 发布解决方案

Lesson #5 - The Quicker The Cycle Time The Quicker You Learn:循环时间越快学的越快

反模式:

Anti-Pattern #1 - Goal Heavy, Action Light: 目标重,动作轻 Anti-Pattern #2 - Doing Two Things At Once:同时做两件事情 Anti-Pattern #3 - Not Finishing What You Start:开始但不结束

这个三个反模式讲的很好。后面还有一个反模式:

Anti-Pattern - Stealing People’s Ideas. AKA Being Extremely Stupid. And Unoriginal. 窃取其他人的想法,十分愚蠢,不是原创

继续lesson:

Lesson #6 - In Times of Great Uncertainty Buy Knowledge:在有巨大的不确定性的情况下,购买知识

●Lesson #7 - Knowing When To Use Strategy:知道该何时使用策略

这里出来一个daniel pink的关于dive 驱动力的图:

Appendix - Other Useful Models 这里的附录有一些模型。

Autonomy, Mastery 和 Purpose 框架

查了一下,Pink的 Autonomy, Mastery 和 Purpose 框架,参考 https://www.mindtools.com/pages/article/autonomy-mastery-purpose.htm

根据Pink的说法,内在动机基于三个关键因素:自主,征服和目的

autonomy/自主

是知道自己生活和工作的需要。要充分激励,您必须能够控制自己的工作,做什么以及做谁。

据Pink说,自主性激励我们创造性地思考,无需遵守严格的工作场所规则。通过重新思考传统的控制理念 - 正常的办公时间,着装规范,数字目标等 - 组织可以增加员工的自主权,建立信任,并改善创新和创造力。

软件公司经常使用自主激励,其中许多公司让他们的工程师有时间在他们自己的开发项目上工作。这使他们可以自由地尝试和测试新想法,这可以为组织带来好处,例如改进的流程或创新的解决方案。

mastery/征服

征服是改善的愿望。如果你受到征服的激励,你可能会发现自己的潜力是无限的,并且你会不断寻求通过学习和练习来提高你的技能。寻求征服的人需要为了自己的利益而获得它。

例如,以征服为动力的运动员可能希望尽可能快地跑步。她收到的任何奖章都不如持续改进的重要性。

purpose/目的

如果人们不了解或不能投身于“bigger picture”,他们可能会在工作中脱离接触并失去动力。

但那些相信自己正在努力做出比自己更大更重要的事情的人往往是最勤奋,最富有成效和最积极的人。所以,鼓励他们找到他们工作的目的 - 例如,通过使用OKR或OGSM将他们的个人目标与组织目标联系起来 - 不仅可以赢得他们的思想,也可以赢得他们的心灵。

例如,为员工提供利用他们的技能使当地非营利组织受益的机会可以培养强烈的目标感。正如开发以价值观或道德为导向的公司愿景一样,鼓励人们“购买”其关键的组织目标。