運び屋 (A carrier(forwarder) changed his career to an engineer)

Network / Cloud Native / Kubernetes / コンテナー / SRE / DevOps

SRE / DevOps / Kubernetes Weekly Reportまとめ#46(12/13~12/18)

English Version of this blog is here.

この記事は2020/12/13~12/18発行の下記3つのWeekly Reportを読み、備忘録兼リンク集として残しているものです。

なるべく情報を早く届けたい/共有したいので、ブログのリンクを確認次第、先行公開しています。自身のコメントは随時追加しています。

  • 誰かの情報源や検索工数削減などになれば幸いです。
DEVOPS WEEKLY ISSUE #520 December 13th, 2020
SRE Weekly Issue #248 December 13th, 2020
KubeWeekly #244 December 18th, 2020
  • この記事を読んで疑問点や不明点があれば、URLから本文をご確認の上、ご指摘頂ければ幸いです。
  • 理解が浅いジャンルも、とにかくコメントする様にしていますので、私の勘違いや説明不足による誤解も多々あろうかと思います。
  • 情報量が多いので文字とリンクだけに絞っております。
  • 各レポートで取り上げられている記事には2019年以前のものもあり、必ずしも最新のものという訳ではない様です。

DEVOPS WEEKLY ISSUE #520 December 13th, 2020

News

Databases have limits that if you build a popular service and run it for a long time you’ll undoubtedly hit and need to plan for. This post talks about one such case, migrating a single table with 70 billion records and growing at more than 100 million rows a week.
  • タイトルは「The Boring Option」。
  • Strava Foundation社のEngineeringチームによる移行事例紹介。
  • アクティビティIDの64ビット整数形式へのロールオーバーを処理するための複数年のプロジェクトを先日、完了した。この移行作業は、セグメントエフォートデータの読み取りおよび書き込みアクセスをモノリシックRailsアプリからサービスの裏側に移動するという、最後の1年間のプロジェクトで完了した。
I wrote a post this week for SecAdvent, an introduction to the topic of software bill of materials, applicable use cases and in particular looking at the CrystalDX set of specifications and tools.
  • タイトルは「A QUICK INTRODUCTION TO SOFTWARE BILL OF MATERIALS AND CYCLONEDX」。
  • 冒頭にオープンソースのサプライチェーンの複雑さに言及し、下記Wikipediaの「bill of materials(BOM)」の意味を引用し、software bill of materials(SBOM)を説明している。アイデアとして新しくは無いが、関心を寄せているいくつかのアクティブな産業があるとのこと。
    • A list of the raw materials, sub-assemblies, intermediate assemblies, sub-components, parts, and the quantities of each needed to manufacture an end product.
  • 「CYCLONEDX」を、典型的なアプリケーションを構成するさまざまな言語とドメインのすべてをカバーする標準の作成に取り組んでいるプロジェクトの1つとして紹介している。CYCLONEDXはOWASPDependency-Trackの作業の一部として設計されたプロジェクトで、XMLとJSONの両方のスキーマを提供し、ソフトウェアコンポーネントの単純な構成と複雑な構成を記述するための形式を定義している。
Lots of teams have small home-grown monitoring services that sometimes see less testing and automation than the services they monitor. Sometimes changes to those services can lead to unexpected downside like with this interesting incident report.
  • タイトルは「It’s Just a Monitoring Change」。
  • タイトルにある軽口を戒め、上記のEditorが言っているように「監視の単純な変更のように見えても、実際には収益を生み出すサービスを停止させる原因になる可能性がある」ということを実例を交えて解説している。
Large organisations are rapidly changing how they work, adopting lots of devops practices and better integrating previously separate business units. This post summarises some of that towards a new operating model.
  • タイトルは「The New Operating Model Is Upon Us」。
  • 「新しいオペレーティングモデル」に関する主要な研究プロジェクトに取り組んできた筆者の解説。 筆者が話し合った組織にはPMO主導の年間ポートフォリオガバナンス、そして以下の共通の課題があった。
    • How to balance product team autonomy with the need for specialist expertise
    • How to ensure necessary coordination without flow-inhibiting bureaucracy
    • How to engage with organizational risk management professionals and their valid concerns
    • How to structure product-team-based organizations (in particular, the pros and cons of the so-called “Spotify model”)
    • The evolution of functional silos (think I&O) into true internal “product teams” (increasingly called “platform teams”)
Terraform, or other infrastructure as code tools, provide a programming language. But how often do we apply patterns and practices learned from other programming languages? This post takes us through a nice refactoring exercise to make the point.
  • タイトルは「Infrastructure-as-code-as-Software」。
  • ソフトウェアエンジニアリングの原則を使用して、Infrastructure as codeをより堅牢で信頼性の高いものにすることは学習可能なスキルであることを伝え、その学習に役立つ以下8つのステップを解説している。
    • 1/8 📒Readability
    • 2/8 🍴Separation of Concern
    • 3/8 🔗Loose Coupling
    • 4/8 🤼 Conway’s law and Service Oriented Design
    • 5/8 📡Inter Layer Communication
    • 6/8 ♻️Reusability and Abstraction
    • 7/8 📄Static Code Checking
    • 8/8 🔒 Dependency Locking
Another post on applying structure and patterns to Terraform. This post looks at the roles and profiles pattern which evolved from the Puppet community and applying it to Terraform and Terragrunt.
  • タイトルは「The Role-Profiles Pattern Across Infrastructure as Code。
  • PuppetLabsがRole-Profilesパターンを利用して多くの複雑なデプロイメントの手助けを推進してきた方法から入り、TerraformとTerragruntを利用した手法を解説している。
How do we relate conversations about digital transformation at the business level to devops practices and to agile software development? This post takes a run at providing an answer, and discusses why this is relevant to leaders at different levels of an organisation.
  • タイトルは「Accelerating Digital Transformation: What Every CEO Needs to Know About Software Delivery Automation」。
  • 「The DT(Digital Transformation) becomes the all-encompassing term used by CIOs and C-level execs for any sort of technological evolution.」と定義し、 経営幹部(C-level execsもしくはCxO)が組織のソフトウェア機能を理解しようとする際に考慮すべき以下4つの要因を中心に解説している。
    1. Software delivery success ultimately depends on decisions made by the CEO of an organization
    2. Software metrics don’t focus on business results
    3. Organizational silos slow down processes
    4. Operational excellence is key.
Access control systems can be complex, and Kubernetes RBAC is no exception. This post covers some behind-the-scenes details as well as pitfalls to avoid.
  • タイトルは「Kubernetes RBAC Security Pitfalls」。
  • Kubernetes認証を設計、構成、または監査する際に知りたいと思われる一般的な間違いと脆弱性をいくつか紹介している。以下が免責事項として書かれている。
    • This post is not a complete guide to Kubernetes or RBAC security and only covers a few specific aspects.
Lots of organisations deploy to Linux but develop on other platforms. Sometimes it’s useful to have a local linux VM. This post covers how one open source project has been adopting multipass.
  • タイトルは「containerd development with multipass」。
  • 筆者が18ヶ月前にcontainerdに対して直接開発するプロジェクトを開始した際に、MacのDockerとKubernetesでは不十分であり、Linux環境が必要となったため、タイトル通りcontainredとMultipassを利用するようになった経緯と方法を解説している。

Events

Workplace culture often gets relegated because it's so intangible, but it will make or break your Cloud Native transformation. Join Holly Cummins and Jamie Dobson for insights, conversations and of course, industry gossip. Sign up for Container Solutions' last WhatTheFinar of the year: Tuesday 15th Dec, 11am CET.
  • Container Solutions社のイベント「WTF Is Cloud Native Culture?」を取り上げている。
  • 今回はIBM社のHolly Cummins氏をゲストとして迎えている。紹介ではタイトルが「Worldwide Development Leader, IBM Garage」になっているが、LinkedInのプロフィールを見る限り今月から→「Innovation Leader, Corporate Strategy SPEED」になっている。
  • 上記の通り、90分の講座が開催予定。12/15(火) 11:00CET(Central European Time zone)なので、日本時間では19:00開始。

Tools

Bicep is a new and experimental declarative language which compiles down to Azure Resource Manager (ARM) templates.
  • Azureリソースを宣言的にデプロイするDomain Specific Language(DSL)プロジェクト「Bicep」のGitHubページ。
  • 冒頭に下記注意書きがあるので、利用する場合は要注意かつ動向に注目が必要。
    • Note: Bicep is currently an experimental language and we expect to ship breaking changes in future releases. It is not yet recommended for production usage. Please take a look at the known limitations prior to opening any issues.
  • ARMおよびARMテンプレートに対する透過的な抽象化であり、ARMテンプレートで実行できることはすべて、bicepで実行できる(一時的な既知の制限を除く)。
Localizer is a no-frills development tool for Kubernetes that aims to let you mainly ignore Kubernetes, instead proxying services so they appear as local services on the host.
  • Kubernetesを利用した開発者環境向けの飾り気のないローカル開発用の新たなCLIツール「localizer」のGitHubページ。
  • 「Telepresence、Skaffoldなどのツールはすべて、ユーザーがKubernetesの使用に慣れるという問題を解決しようとしているが、 Kubernetesの表面積が大きいことを考えると、これはかなり大きな作業であり、開発者はデプロイ先のプラットフォームに関心が無い」という前提および課題に沿って開発されている。
A handy small utility for any AWS admin. Provide an AWS IP address and digaws will return details like region, AWS service and more.
  • AWS用admin用digツール。AWSが所有するIPアドレス、リージョンおよびその他の情報をdig可能な「digaws」のGitHubページ。
  • 例として、NetflixのEC2が動いているEUのリージョンが。。。

SRE Weekly Issue #248 December 13th, 2020

Articles

SLOs That Lie – SRE Journal

It’s really easy to get an “uptime” SLO wrong, and a lying SLO can give you a false sense of security.

Piyush Verma — Last9

  • サービスアップタイムを計測するオプションとしてPrometheusOperations(旧称 Stackdriver)などに触れ、サービスダウンタイムを計測するオプションとして下記の3つを解説。
    • Option 1: SDK (Measure at each caller)
    • Option 2: Uptime (actually Downtime) Monitors
    • Option 3: State-based Monitors
  • Conclusionは以下。
    • There is not one single SLO. They are formed at layers, and uptime SLO of one could be error SLO of another.
    • The uptime number is massively aggregated, and always approximate.
    • As the uptime reaches the higher 9s, the support structure and the mindset needs to shift towards proactive efforts, since waiting on an outage and then reacting to bring it up will not always work.
It’s Just a Monitoring Change

I love this quote. I feel like this is the “root cause” of every incident:

As for the underlying cause of the incident (or the “root cause” if you insist on using such language), that has to be the fact that our assumptions as teams or individuals are ultimately formed by our past experiences.

Oliver Leaver-Smith — Sky Betting & Gaming

Complexity Has to Live Somewhere

I really love the concept of requisite complexity. This article has me thinking about a big project I’m working on in a new light.

Fred Hebert

The Boring Option

They expected to max out an integer primary key column sometime in 2021. Then the pandemic hit and their timetable suddenly accelerated along with their traffic.

Jeff Pollard — Strava

  • 上記DEVOPS WEEKLY ISSUE #520で取り上げているので割愛します。
Scary sysadmin Halloween stories

I shouldn’t enjoy reading these so much… got any of your own to share?

Dean Wilson

  • Gremlin社が最近実施した「#talesfromtheNOC」と呼ばれるTwitterハッシュタグチャレンジとして、恐ろしいシステム管理者の話を共有するように招待した話を共有している。
Borrow Expertise With Runbook Automation

The idea of borrowing expertise makes me think of Bainbridge’s Ironies of Automation.

Mandi Walls — PagerDuty

  • タイトルに沿って、以下の4つの項目で解説している。
    • What Is Runbook Automation?
    • Borrow Expertise From Your Experts
    • The Benefits of Automation
    • Learn More About Runbooks and Automation
Heroku Incident #2127 Follow-Up: Issues with starting new dynos

Heroku’s report explains how their service was impacted as a result of the big Amazon Kinesis outage a couple weeks back.

Heroku

  • 上記の記載通り、上流のプロバイダー(AWS)の提供サービスKinesisの障害がHerokuのユーザーに影響を与えたが、Heroku社としてもそうであるべきでは無いと考え、改善策(今回の手動復旧ではなく、自己回復復旧案)を提示している。
Setting Business Goals with SLO

This primer focuses on ensuring that your SLOs actually match up with business objectives.

Irving Popovetsky — Honeycomb

  • 冒頭に「2021年の目標を設定する季節」であることを挙げ、今後の年間目標を設定する際にSLOを使用する方法(および使用しない方法)の実際的な例を以下の項目に沿って紹介している。
    • Aligning business goals and engineering work
    • The common language of SLOs
    • Getting started with SLOs in the real world
    • Gathering data for your own SLOs
    • Setting your company goals this year

Outages

上記各社の障害情報


KubeWeekly #244 December 18th, 2020

The Headlines

Editor’s pick of the highlights from the past week.

Cloud Native Computing Foundation receives renewed $3 Million Cloud Credit Grant from Google Cloud

Today, CNCF announced that Google Cloud has recommitted $3 million for another year in cloud credits to maintain its support of the Kubernetes project. This grant is a continuation of Google Cloud’s $3 million per year investment in Kubernetes development and distribution, which started back in 2018. The grant has primarily gone to – and will continue to support – scalability testing and maintenance of the infrastructure required to run Kubernetes development, which is indispensable for ensuring Kubernetes remains battle-tested and enterprise-ready.

  • Google社のCNCFへの年間$3 millionの投資継続のお話。
  • 記事にある通り、IstioのOpen Usage Commons行きの件もあり、CNCFへのコミット継続具合が危惧されていましたが、今後はどうなっていくのでしょう。
    • KubeCon NAではDIAMONDスポンサーであり、続いて開催されている自社イベントのre:Inventと合わせてAWSの存在感を大きく感じていますが、来年はどうなるか楽しみです。

ICYMI: CNCF Webinars

You can view all CNCF recorded and upcoming webinars here.

CNCF Member Webinar: Reducing your Kubernetes Cloud Spend

Webb Brown, CEO @Kubecost Niko Kovacevic, Founding Engineer @Kubecost

  • Kubecostチームが、パフォーマンスや信頼性を犠牲にすることなく支出を削減するための実践的な例とベストプラクティスを提供している。
CNCF Member Webinar: Implementing automated managed k8s service (자동화된 관리형 K8s 서비스 구현)

Mason Choi(최문혁), Senior Engineer @Samsung SDS Kangsub Song(송강섭), Senior Engineer @Samsung SDS

  • 「This webinar has passed.」との記載があり、動画は無し。英語のスライドはリンク先のページで見れるので気になる方は確認を。
CNCF Member Webinar: Argo: Real enterprise-scale with k8s

Al Kemner, Principal Software Engineer and Architect @New Relic Daniel Jimbel, Staff Engineer @New Relic Caleb Troughton, Product Manager, Telemetry Data Platform @NewRelic

  • ArgoCDとRolloutsを使用してKubernetesでのカナリアデプロイメントプロセスを管理する方法を詳細に解説している。
CNCF Member Webinar: Machine learning for K8s logs and metrics

Larry Lancaster, Founder and CTO @Zebrium

  • ログとメトリクスの機械学習手法について説明し、実際にどのように見えるかを示している。

kubernetes.us10.list-manage.com


The Technical

Tutorials, tools, and more that take you on a deep dive into the code.

Deploying to OpenShift using GitHub Actions

TimEtchells, OpenShift

  • Red Hat Actionsの概要を説明し、簡素化できるワークフローの部分について説明し、OpenShiftでアプリケーションをすばやく簡単に稼働させる方法を示している。
Create a Kubernetes Operator in Golang to automatically manage a simple, stateful application

Priyanka Jiandani, Red Hat

  • Kubernetes Operatorを使用してステートフルアプリケーションをデプロイする方法を示している。
  • このOperatorは、operator-sdkプロジェクトを使用して、カスタムリソースを使用したSQLにWordPressをデプロイしている。
How to use Kubernetes resource quotas

Mike Calizo, Red Hat

  • タイトルに沿って以下を解説している。
    • What are resource quotas?
    • Prerequisites
    • Set up a resource quota
    • Deploy the pods
    • Clean up
    • Planning your quotas
K8Spin Operator: Kubernetes multi-tenant operator. Enables multi-tenant capabilities in your Kubernetes Cluster.
  • Kubernetesのmulti-tenant operatorである「K8Spin Operator」のGitHubページ。Featureは以下。
    • Enable Multi-Tenant: Adds three new hierarchy concepts (Organizations, Tenants, and Spaces).
    • Secure and scalable cluster management delegation: Cluster Admins creates Organizations then delegating its access to users and groups.
    • Cluster budget management: Assigning resources in the organization definition makes it possible to understand how many resources are allocated to a user, team, or the whole company.
Portainer For Kubernetes

Saiyam Pathak, Civo

  • YoutTube動画にて以下について以下4つのポイントで解説している。
    • Motivation and vision behind Portainer
    • We explore Portainer Features and how can we use it
    • We discuss both CE and BE edition
    • We also talk about the community involvement
How to monitor multi-cloud Kubernetes with Prometheus and Grafana

Inlets blog

  • クラウドプロバイダー全体に分散している、またはオンプレミスで実行されている複数の分離されたKubernetesクラスターで実行されているサービスを簡単に接続できることを読者が理解できることを目指して解説している。

The Editorial

Articles, announcements, and morethatgive you a high-level overview of challenges and features.

Akri, with Kate Goldenring

Adam Glick and Craig Box, Kubernetes Podcast from Google

The Level Up Hour (S1E19): Containers, data science and replication

Langdon White, Chris Short, and Matt Micene, Red Hat

  • 上記3名がタイトルに沿って解説しているYouTube動画。
Kubernetes Clinic Spotlight on Tabitha Sable: Helping people level up

Kendall Miller, Fairwinds

  • Tabitha Sable氏をゲストとして迎え、インタビュー形式で質疑応答を実施している。
The Cloud Native Landscape: The orchestration and management layer

Catherine Paganini and Jason Morgan, Buoyant

  • Cloud Native Landscapeの各カテゴリを技術者以外の読者やcloud nativeを始めたばかりのエンジニアへの説明に焦点を当てているシリーズの記事。
  • 今回は以下の大項目で解説している。
    • Orchestration and Scheduling
    • Coordination and Service Discovery
    • Remote Procedure Call
    • Service Proxy
    • API Gateway
    • Service Mesh
    • Conclusion

kubernetes.us10.list-manage.com


Upcoming CNCF webinars

気になるWebinarがあれば登録してチェックを。今週は今のメッセージが出ていました。

Thanks again for participating in CNCF webinars in 2020! Stay tuned for our expanded Online Programs in 2021.

いかがでしたか?気になる記事や情報はありましたか?

私もまだ内容を咀嚼出来ていないものが多々ありますので、この備忘録兼リンク集を活用しながら理解を深めていきたいと思います。

では、また。

Bye now!!

Yoshiki Fujiwara