Fork me on GitHub

The Devops Handbook Reading Notes

Reading Notes: The DevOps Handbook

Chapter 5 - Selecting Which Value Stream to Start With

  • GREENFIELD VS. BROWNFIELD 绿地项目 与 棕地项目
  • SYSTEMS OF RECORD AND SYSTEMS OF ENGAGEMENT
    • 记录型系统
      • 强调正确性和稳定性 Do it right
      • 比如一些ERP系统,人力资源系统, 财务报表系统
      • 变化速度慢
    • 交互性系统
      • 强调快速响应和反馈,侧重Do it fast
      • 比如一些电子商务系统
      • 变化速度快
  • Little fish learn to be big fish in little ponds.

Chapter 7: How to Design Our Organization and Architecture with Conway’s Law in Mind

  • Conway’s Law 康威定律

    • Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. — Melvin Conway(1967) 系统设计受限于组织自身的沟通结构。
    • 康威定律奠定了微服务架构的理论基础
  • ORGANIZATIONAL ARCHETYPES

    • Functional-oriented (OPTIMIZING FOR COST)
    • Market-oriented (OPTIMIZING FOR SPEED)
    • 起决定性作用的并不是组织形式,而是人们的行为和反应。
    • 系统的架构应该保证小团队能够独立运作,彼此充分解耦,避免不必要的沟通和协调。

STEP ONE: Flow

Chapter 9 - Create the Foundations of Our Deployment Pipeline

  • On demand creating consistent production-like environments. (including DEV, TEST, STAGE)
  • Put back environment specific change into version control.
  • Manual changes to the production environment are no longer allowed. The only way production changes can be made is to put the changes into version control.
  • CD to rebuild instead of repairing application using pipeline.

Chapter 10 - Enable Fast and Reliable Automated Testing

  • Test Pyramid
  • Integrate performance testing into our test suit

Chapter 12 - Automate and Enable Low-Risk Releases

  • Deployment vs Release

Deployment is the installation of a specified version of software to a given environment (for example, deploying code into an integration test environment or deploying code into production). Specifically, a deployment may or may not be associated with a release of a feature to customers.

Release is when we make a feature (or set of features) available to all our customers or a segment of customers (for example, we enable the feature to be used by 5% of our customer base). Our code and environments should be built in such a way that the release of functionality does not require changing our application code.

  • Release patterns
    • Environment-based release patterns
    • Application-based release patterns
  • Decoupling deployments from releases

    For environment-based release, we can:

    • The Blue-Green Deployment Pattern
    • The Canary Release pattern

    For application-based release, we can:

    • Implement Feature Toggles
    • Dark Launch Process

Chapter 13: Architect for Low-Risk Releases

  • Evolutionary architecture “Any successful product or organization will necessarily evolve over its life cycle.”
    • strangler pattern

STEP TWO: Feedback

Chapter 14 - Create Telemetry to Enable Seeing and Solving Problems

Chapter 16 - Enable Feedback So Development and Operations Can Safely Deploy Code

  • continuously improvement by small but frequent change sets. 增量迭代改进,持续小步前行
  • contextual inquiry & customer observation 情景访谈 & 客户体验观察

Chapter 17: Integrate Hypothesis-Driven Development and A/B Testing into Our Daily Work

Techniques such as hypothesis-driven development, defining and measuring out customer acquisition funnel (客户获取渠道), and A/B testing allow us to perform user-experiments safely and easily, enabling us to unleash creativity and innovation, and create organizational learning.

  • Two major marketing strategies:
    • Direct response marketing 直效营销
      • email
      • phone call
      • postcard
    • Mass marketing or brand marketing 大众营销或叫品牌营销
      • advertisement

A/B testing techniques were pioneered in direct response marketing. A/B 测试在直效营销中率先使用的。

Chapter 18 - Create Review and Coordination Processes to Increase Quality of Our Current Work

  • Pull Request

    Pull request are the mechanism that lets engineers tell others about changes they have pushed to a repository on GitHub. Once a pull request is sent, interested parties can review the set of changes, discuss potential modifications, and even push follow-up commits if necessary.

    It shifts our reliance away from periodic review,inspections and approvals from review board, and moving to integrated peer review performed continually as a part of our daily work. 将摆脱对评审委员会定期评审、审核和审批的依赖,用不间断的同行间评审取而代之。

    • Small batch sizes of each PR also applies to code reviews.

      “Ask a programmer to review ten lines of code, he’ll find ten issues. Ask him to do five hundred lines, and he’ll say it looks good.”

STEP THREE: Continual Learning And Experimentation

Chapter 19: Enable and Inject Learning into Daily Work

ESTABLISH A JUST, LEARNING CULTURE

The only sustainable competitive advantage is an organization’s ability to learn faster than the competition.

  • Blameless postmortem
  • Controlled introduction of failures into production to create opportunities to practice. Injecting faults into the production environment (such as Chaos Monkey) is one way we can increase our resilience.
  • Game Day 演练日

Chapter 20: Convert Local Discoveries into Global Improvements

Propagation of expertise and knowledge to rapidly enable and accumulate organizational learning.

  • ChatOps Tools: Use persistent chat room tools, such as Hubot, Slack, and MS Team. Instead of Lync and Outlook which are not broadly persisted.
  • Create a single, shared source code repository for entire organization.
  • Encourage experimentation. “buoys, not boundaries.”

    Instead of drawing hard boundaries that everyone has to stay within, we put buoys that indicate deep areas of the channel where you’re safe and supported. You can go past the buoys as long as you follow the organizational principles. After all, how are we ever going to see the next innovation that helps us win if we’re not exploring and testing at the edges? As leaders, we need to navigate the channel, mark the channel, and allow people to explore past it.

Chapter 23 - Protecting the Deployment Pipeline

  • Reduce reliance on separation of duty

减少对职责分离的依赖,比如我们作为开发人员登陆不了Production 服务器,无法获取Web服务器IIS的Logs, 其实减少了我们可以获得的产品运行时的反馈,妨碍了我们对质量,性能的负责。

Continue reading →

HOW TO WRITE

How To Write

Tips

  • use simple word
  • use short word
  • remove duplicate
  • keep sentence short
  • 多用主动式语句,少用被动式语句

Avoiding Common Mistakes

  • Jargon

    Use jargon when you are sure your audience can understand.

  • Unnecessary details

    Remove unnecessary words.

Planning What You’re Going To Write

  • Prepare

    Define the purpose of the writing, gather information and compose the outline.

  • Drafting
  • Revising
  • Proofreading
Continue reading →

名利驱使知识与娱乐泛滥

名利驱使知识与娱乐泛滥

这些年互联网正在发生一些变化,打着各种旗号来收费。

有人说知识付费是为了鼓励更多优质资源的产生,我不太同意这样的观点。 我认为那些默默耕耘的大师,会得到他所满足的回报,也许是金钱的,也许是名气,又或者是精神享受。

而现在的情况是,互联网大军利字当前,成不成名姑且不管,至少可以先弄点小利。这种先后顺序的变化导致了互联网上 知识和娱乐的泛滥。人们趋之若鹜,没有什么知识和创造,也要恶搞搏眼球获得 利益。这对我们的互联网世界是种污染……

于是直播火了,青年男女晒一晒,露一露就可得到鲜花和小礼物,
于是抖音火了,各种撩妹版本,
于是喜马拉雅有声付费节目限时促销,
于是各种知识付费的小密圈,
各种订阅和打赏。
很多人就像卖艺乞讨一样,求得打赏; 或者像江湖郎中和算命的一样,骗取钱财。

而且这还影响了本来好好搞知识和艺术创作的人,无心专心于本分,急于求名,迫切地让知识变现, 浪费了大量的精力在准备这些节目来讨好或诱骗听众或观众。我不反对真正有知识的大师给我们带来启发的同时,获得更好的社会回报。 但是不应该让至少付费的噱头忽悠大众趋之若鹜,为了金钱无病呻吟,污染网络环境和浪费我们的时间。

Continue reading →

Windows 10 April 2018 Update

系统升级和颠覆思维

Windows 10 2018.04 更新

周末在家,升级了下我的工作PC的系统。

更新后版本

Windows 2018 Apri 更新

新功能

  • Win + Tab : Task View / Activities Timeline (记录你在PC上近期的活动,方便回溯)
  • Focus Assist : 免打扰
  • Edge (PDF Reader / Read aloud / Print) (优化的内嵌PDF 阅读器,支持语音朗读; 支持局部打印)
  • Win + H Dictation (语音听写输入)
  • Build-in curl / tar Unix tool

立夏

今天朋友圈,公众号让我知道今天立夏,了解了一下知识。

  • 立夏养心
  • 立夏下雨,利于庄稼。(今天果然下雨,果真是及时雨)

颠覆画地为牢者

早些年听歌真的是千千静听就够了,这些年版权之争,导致没有版权的歌曲被迫从你常用的听歌软件下架(网易云音乐的一片灰),财大气粗的可以一张专辑的一首歌曲就砸2000万买断,谋划着有朝一日 干掉对手,独自称霸,慢慢盈利。 再到后来的政府干预,表面和解,商人利心不死。 会不会哪天这些带版权的流行歌曲不再那么火了,网络的数据在暴增,各种直播,抖音,小视频,人人都可以发表,这时听那些大腕明星的歌就不那么痴迷了呢?也没那么急迫了呢? 如果真会这样,有这样的颠覆性的娱乐方式,那么商人们苦心经营的画地为牢就是白忙一场。

早些年看电视机,后来迅雷,暴风影音看看电影,老是欠星爷一张电影票。 现在视频网站搞独家,VIP,后来搞各种盒子骗我们入手,然后又在盒子上搞会员,VIP,再到智能电视,同样又是独家资源,会员,VIP。 然后希望数亿人下班后抱着遥控器就源源不断地做贡献了。 我们突然知道时间浪费,电视首罪。为了节约时间搞别的新玩意,会不会有那么一天,我们不爱看电视了? 家庭客厅的装修也颠覆了沙发配电视的固定格式? 也许将来能耐心好好追个剧,就像现在安静下来读完一本书一样难。

Continue reading →

All Tags

mindset

devops

book

ci

communication

jenkins

自媒体

hometown

geek life

cloud

ai