Sort by - linked count
-
Kubernetes
-
DevOps capabilities
#DevOps DORAによって報告されているFour Keysにおけるソフトウェアデリバリの高パフォーマンスチームが兼ね備えている複数のケイパビリティ 当初は24個で24 key capabilitiesと呼ばれていたが、State of DevOps Reportのアップデートによって内容は変化している DORA | Capabilities
-
Pod
-
ドメイン駆動設計
Domain Driven Design #Software Design ドメイン(事業領域)ファーストでプロダクト設計を行う考え方 エリック・エヴァンスのドメイン駆動設計にて初めて紹介された
-
HTTP
Hypertext Transfer Protocol #Network
-
コンテナ
Cloud Nativeアプリケーションの基本要素 OOPと比較すると、コンテナイメージはクラス定義でコンテナはインスタンスのような関係性
-
CNCF
-
DevOps
#Agile 2009年に10+ Deploys Per Day: Dev and Ops Cooperation at Flickrにて初めて登場した言葉 開発とオペレーションを一つのチーム内で両立させる 広義な用語ではあるが、共通して以下のような手法が定義されることが多い Continuous Integration Continuous Delivery Infrastructure as Code マイクロサービス
-
マイクロサービス
#Software Design #API Architecture DDDにおける境界づけられたコンテキストに対応する形でサービスを用意し、サービス間通信を行う設計パターン マイクロという名前の通り、サービスインターフェースが小さく疎結合になっていて各サービスの責務が凝集されていることが望ましい
-
Fast Flow
DevOps capabilitiesのうちの分類の一つ
-
チームトポロジー
#Team Organization チームトポロジーの書籍にて完成形としてまとめられた、コンウェイの法則を中心に据えた適応型の組織設計モデル。DevOpsとも深く関連がある チームファーストな考え方で以下の4つのチームタイプを説明している ストリームアラインドチーム プラットフォームチーム イネイブリングチーム コンプリケイテッド・サブシステムチーム 最も中心となるのはストリームアラインドチーム それぞれのチーム間の関係性に関して3つのインタラクションモードが説明されている コラボレーションモード X-as-a-Serviceモード ファシリテーションモード
-
ロードバランシング
#API Architecture #Network 外部からの大量トラフィックを捌けるよう用意された重複データを持つ多数のリソースサーバー群が均等に使用されるよう制御する役割 アプリケーションの可用性を高め、リバースプロキシと同様にサーバーを保護するセキュリティ機能が組み込まる ロードバランシングとは? - ロードバランシングアルゴリズムの説明 - AWS
-
Datadog
-
Protocol Buffers
Protobuf #API Architecture Googleによって開発されたインターフェース定義によるバイナリエンコーディングライブラリ。 フィールド名のエイリアスとして扱うフィールドタグ(数値)によってバイトを節約している。 フィールドタグによる互換性に関する仕様の要点は以下。 フィールドの追加 未使用のタグ番号を割り当てることで前方互換あり 必須でなければ後方互換あり フィールドの変更 フィールド名の変更は前方・後方互換あり フィールドの削除 追加時の前方・後方と逆 またProtocol Buffersはフィールド制約である optional と repeated 間の互換性にも対応している。これはバイナリ上でフィールド情報を単純に複数回並べているため。 Protocol Buffers Documentation
-
境界づけられたコンテキスト
#Software Design 境界づけられたコンテキスト DDDにおいて、集約(モジュール)の集合に対して定めるドメインモデリング上の境界 以下、原著から抽出 モデルが適用されるコンテキストを明示的に定義すること。明示的な境界は、チーム編成、そのアプリケーションに特有の部分が持つ用途、コードベースやデータベーススキーマなどの物理的な表現などの観点から設定すること。その境界内では、モデルを厳密に一貫性のあるものに保つこと。ただし、境界の外部の問題によって注意を逸らされたり、混乱させられたりするのを避けること。 Eric Evans | エリック・エヴァンスのドメイン駆動設計 | P344
-
テスト駆動開発
Test-Driven Development #エクストリームプログラミング #Programming
-
Climate for Learning
DevOps capabilitiesのうちの分類の一つ
-
Fast Feedback
DevOps capabilitiesのうちの分類の一つ
-
ログ
Observabilityにおけるテキストベースの記録 Observability Whitepaperを参考にすると、ログにはいくつかのカテゴリがある Application Logs Security Log System Log Audit Log Infrastructure Log またログレベルとして以下の4パターンがある ERROR WARNING INFO DEBUG
-
分散トレース
Observabilityにおいて分散トランザクションの各コンポーネントで何が発生したかを追跡する、単にトレースと呼ばれることもある 各コンポーネントに対応するデータポイントはスパンと呼ばれ、分散トレースはスパンの集合を扱う Observability Whitepaper
-
メトリクス
#Observability システムの状態を表すために収集された数値、例としてログを元に時間単位のHTTPリクエスト数をメトリクスとして収集する等 ログやトレースとは異なり詳細なデータは抜けているため、システムで何が起きているかの調査のスタート地点(アラート)となることが多い Observability Whitepaper システム状態を表すために収集されたスカラー値であり、オプションでタグが付与され、数値をグループ化したり検索したりすることがある オブザーバビリティ・エンジニアリング | P55
-
Martin Fowler
-
市谷聡啓
-
gRPC
-
Eric Evans
-
技術的負債
Technical Debt
-
スクラム
#Agile スクラムの三本柱は 透明性(Transparency) 検査(Inspection) 適応(Adaptation) 以下の5つの価値基準によって成功を導くとされている 確約(Commitment) 集中(Focus) 公開(Openness) 尊敬(Respect) 勇気(Courage)
-
Docker
-
APIゲートウェイ
#API Architecture #Network 外部トラフィックに対してリバースプロキシ・ロードバランシングが持つようなネットワークのルーティング・セキュリティと可用性の向上に加え、以下のような機能横断的な要件を扱う役割 認証 認可 レートリミット リトライ サーキットブレーカー etc.
-
MySQL
-
エリック・エヴァンスのドメイン駆動設計
-
リバースプロキシ
#API Architecture #Network 外部トラフィックに対して単一のサーバーへルーティングを行い、サーバーの保護や負荷分散を行う役割
-
Kubernetes Service
-
吉羽龍太郎
-
Kubernetes Nodes
-
エクストリームプログラミング
#Agile
-
コンウェイの法則
#Team Organization 1968年に提唱された法則 原文は以下 システムを設計する組織は、そのコミュニケーション構造をそっくりまねた構造の設計を生み出してしまう Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure. Conway’s Law
-
REST
Representational State Transfer #API Architecture HTTPを基礎とするアーキテクチャ上の制約、定義 Architectural Styles and the Design of Network-based Software ArchitecturesにRESTfulとみなされるための定義が書かれている 第一にサービス提供者と利用者のやり取りがモデル化されていること、が定義となる
-
Kubernetes Deployment
-
モニタリング
既知の障害状態に対してメトリクスを設定し、アラートを飛ばすようなリアクティブ(反応的)なシステム
-
Robert C. Martin
-
集約
#Software Design DDDにおいて不変条件を適用するエンティティや値オブジェクトのようなオブジェクトのグループ単位 原文は以下 エンティティと値オブジェクトを集約の中にまとめ、各集約の周囲に境界を定義すること。各集約に対してルートとなるエンティティを1つ選び、境界の内部に存在するオブジェクトへのアクセスはそのルートを経由して制御すること。外部のオブジェクトが参照を保持できるのは、ルートのみとすること。内部のメンバに対する一時的な参照を渡してよいのは、単一の操作で使用する時だけだ。ルートがアクセスを制御するので、内部が知らないうちに変更されることはなくなる。この取り決めにより、どんな状態変化においても、集約内にあるオブジェクトと集約全体に対して、不変条件をすべて強制することが現実的になる。 Eric Evans | エリック・エヴァンスのドメイン駆動設計 | P127
-
BDD(Testing)
Testing文脈のBDD サイクルとなるプロセスとして3項目存在する 発見(Discovery) 定式化(Formulation) 自動化(Automation)
-
kube-scheduler
-
リレーショナルデータベース
#Data Store
-
OSI参照モデル
Open Systems Interconnection (OSI) #Network ネットワーク通信機能(プロトコル)を7つの層に分割するフレームワーク OSI参照モデル - Wikipedia OSI モデルとは何ですか? - 7 OSI レイヤーの説明 - AWS
-
カナリアリリース
Canary Release #Continuous Delivery リリース時に旧環境と新環境を同時に稼働させ、一部のユーザーに絞って新環境を限定公開し徐々に移行していくことでパフォーマンス劣化等の問題がないかをテストするリリース手法 ブルーグリーン戦略との違いはトラフィックを徐々に切り替える点 Canary Release
-
RPC
Remote Procedure Call #Network #API Architecture リモート上のリクエスト発行をプログラミング言語の関数呼び出しのように利用できるよう抽象化したもの。 ただし実際に関数呼び出しと同等に利用できるわけではなく、ネットワーク上の様々な不測の事態を考慮する必要がある。
-
和智右桂
-
レートリミット
#Security #API Architecture 以下のような目的でAPIの使用回数を制限する、制限を超過した時はHTTPの場合一般に429エラーを返す処理 STRIDEにあるようなDenial of Service(サービス拒否)からアプリケーションを保護する カスケード障害の可能性を制限する リソースの使用量を測定し従量課金に利用できる レートリミットの実装アルゴリズムには以下のようなものがある 固定ウインドウ(Fixed window) 固定期間内の制限 スライディングウインドウ(Sliding window) 直近の期間内の制限 トークンバケット方式(Token bucket) 総リクエスト数(トークンのバケツ)を定義しリクエストごとにトークンが利用される。バケツは定期的に充填される リーキーバケット方式(Leaky bucket) リクエストが処理される速度は固定で、バケツから溢れ出るリクエストを漏れ(リーキー)として扱う APIゲートウェイを利用している場合、ゲートウェイに配置するとよい