Facebook Pixel
Searching...
日本語
EnglishEnglish
EspañolSpanish
简体中文Chinese
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
Production-Ready Microservices

Production-Ready Microservices

Building Standardized Systems Across an Engineering Organization
著者 Susan J. Fowler 2017 170 ページ
3.82
500+ 評価
聞く

つの重要なポイント

1. マイクロサービス:ソフトウェアアーキテクチャのパラダイムシフト

マイクロサービスの基本概念はシンプルである。それは、1つのことだけを行い、その1つのことをうまく行う小さなアプリケーションである。

マイクロサービスはソフトウェア開発に革命をもたらす。 それはモノリシックなアプリケーションを、特定の機能を担当する小さな独立したサービスに分解する。このアーキテクチャアプローチは多くの利点を提供する:

  • 開発者の生産性と速度の向上
  • スケーラビリティと柔軟性の向上
  • 新技術の採用が容易
  • 技術的負債の削減

しかし、マイクロサービスは新たな課題ももたらす:

  • 運用の複雑さの増加
  • 組織のサイロ化の可能性
  • 標準化と調整の必要性の増大

モノリスからマイクロサービスへの移行には、ソフトウェアアーキテクチャと組織構造の両方を再構築するための慎重な計画と会社全体のコミットメントが必要である。

2. マイクロサービスエコシステムの4層モデル

マイクロサービスは孤立して存在するわけではない。マイクロサービスが構築され、実行され、相互作用する環境が彼らの生息地である。

マイクロサービスエコシステムの理解は重要である。 4層モデルは、マイクロサービスアーキテクチャを概念化し管理するための包括的なフレームワークを提供する:

  1. ハードウェア層:物理サーバー、オペレーティングシステム、リソース管理
  2. 通信層:ネットワーク、DNS、サービスディスカバリー、ロードバランシング
  3. アプリケーションプラットフォーム層:開発ツール、デプロイメントパイプライン、モニタリング
  4. マイクロサービス層:実際のマイクロサービスとその設定

各層は全体のエコシステムにおいて重要な役割を果たす:

  • 下層は基盤とインフラを提供
  • 上層はサービス固有の機能とビジネスロジックに焦点を当てる
  • 明確な関心の分離により、管理とスケーラビリティが向上

効果的なマイクロサービスアーキテクチャは、すべての層を慎重に考慮し最適化することで、サービス間のスムーズな運用とシームレスな相互作用を確保する。

3. プロダクションレディネス:マイクロサービス標準化の鍵

プロダクションレディなアプリケーションやサービスとは、プロダクショントラフィックを処理する信頼性のあるものである。

プロダクションレディネスはマイクロサービスの信頼性を確保する。 これを達成するために、マイクロサービスは8つの重要な原則に従う必要がある:

  1. 安定性
  2. 信頼性
  3. スケーラビリティ
  4. フォールトトレランス
  5. 災害対策
  6. パフォーマンス
  7. モニタリング
  8. ドキュメント

これらの原則は一体となって:

  • システム全体の可用性を向上
  • 停止や障害のリスクを減少
  • 開発者の生産性と自信を向上

プロダクションレディネス基準の実装には:

  • 組織全体の賛同
  • 期待と要件の明確なコミュニケーション
  • コンプライアンスを確保するための定期的な監査とレビュー
  • エコシステムの進化に応じた継続的な改善と適応

4. 安定性と信頼性:マイクロサービスアーキテクチャの礎

安定したマイクロサービスとは、開発、デプロイ、新技術の採用、他のサービスの廃止や非推奨が、マイクロサービスエコシステム全体の不安定性を引き起こさないものである。

安定性と信頼性は信頼の基盤を形成する。 安定した信頼性の高いマイクロサービスを構築するためには、以下に焦点を当てる:

  1. 標準化された開発サイクル
  2. 包括的なデプロイメントパイプライン(ステージング、カナリア、プロダクション)
  3. 依存関係の管理と障害の緩和
  4. 安定したルーティングとディスカバリーメカニズム
  5. 慎重な廃止と非推奨手順

安定性と信頼性を確保するための主要な実践:

  • 徹底的なコードテスト(ユニット、統合、エンドツーエンド)
  • 自動化されたビルドとリリースプロセスの使用
  • 依存関係に対する防御的キャッシングとフォールバックメカニズムの採用
  • サービスアーキテクチャの定期的なレビューと更新
  • チーム間の明確なコミュニケーションチャネルの維持

安定性と信頼性を優先することで、組織は急速な開発と変化する要件に耐えうる堅牢なマイクロサービスエコシステムを構築できる。

5. スケーラビリティとパフォーマンス:成長と効率のための設計

マイクロサービスがスケーラブルでパフォーマンスが高いことを確保するためには、各マイクロサービスにいくつかの要件を求める必要がある。

スケーラビリティとパフォーマンスは効率を推進する。 スケーラブルでパフォーマンスの高いマイクロサービスを構築するためには:

  1. 定性的および定量的な成長スケールの理解
  2. ハードウェアリソースの効率的な使用
  3. リソースボトルネックの特定と対処
  4. 自動化されたキャパシティプランニングの実装
  5. 依存関係がサービスと共にスケールできることの確認
  6. 効率的なタスク処理とプロセッシングの設計

スケーラビリティとパフォーマンスに関する主要な考慮事項:

  • 適切なプログラミング言語とフレームワークの選択
  • 水平スケーリング機能の実装
  • データベース設計と使用の最適化
  • トラフィックパターンの変化に対応するモニタリングと調整
  • 定期的な負荷テストとパフォーマンスチューニングの実施

スケーラビリティとパフォーマンスに初期から焦点を当てることで、組織は需要の増加に対応し、成長と共に高い効率を維持するマイクロサービスを構築できる。

6. フォールトトレランスと災害対策:失敗を受け入れる

マイクロサービスは失敗する。頻繁に失敗し、マイクロサービスのライフタイム内であらゆる潜在的な失敗シナリオが発生する可能性がある。

失敗に備えることで成功を確保する。 フォールトトレランスと災害対策を備えたマイクロサービスを構築するには:

  1. 単一障害点の特定と排除
  2. すべての可能な失敗シナリオの文書化
  3. 包括的なレジリエンシーテストの実施
  4. 失敗検出と修復の自動化
  5. 明確なインシデント対応手順の確立

フォールトトレランスのための必須の実践:

  • 定期的なアーキテクチャレビューを実施して脆弱性を特定
  • サーキットブレーカーとフォールバックメカニズムの実装
  • 実際の失敗をシミュレートするカオステストの実施
  • インシデント対応のための最新のランブックの維持
  • 失敗から学ぶことを奨励する非難のない文化の育成

失敗の現実を受け入れ、体系的に準備することで、組織は予期しない課題に耐え、高い可用性を維持する堅牢なマイクロサービスを構築できる。

7. モニタリング:マイクロサービスの脈動

マイクロサービスエコシステムの大多数の停止は、悪いデプロイメントによって引き起こされる。次に一般的な停止の原因は、適切なモニタリングの欠如である。

効果的なモニタリングはマイクロサービスの健康に不可欠である。 プロダクションレディなモニタリングを実装するには:

  1. すべてのレベル(ホスト、インフラ、マイクロサービス)で重要なメトリクスを特定し追跡
  2. 包括的なロギングの実施
  3. 明確で情報豊富なダッシュボードの作成
  4. 適切な閾値でのアクショナブルなアラートの設定
  5. 持続可能なオンコールローテーションの確立

マイクロサービスモニタリングのベストプラクティス:

  • セキュリティやパフォーマンスを損なうことなく、すべての関連情報をログに記録
  • 一目で解釈しやすいダッシュボードを設計
  • すべてのアラートがアクショナブルであり、ランブックにリンクされていることを確認
  • モニタリング戦略を定期的にレビューし更新
  • サービスの健康に対する共有責任の文化を育成

堅牢なモニタリングプラクティスを実装することで、組織は問題を迅速に検出し解決し、高いレベルのマイクロサービスの可用性とパフォーマンスを維持できる。

8. ドキュメントと理解:マイクロサービス成功の隠れた英雄

常に玉ねぎを与えよ。

ドキュメントと理解は組織の整合性を推進する。 包括的なドキュメントと理解を確保するためには:

  1. すべてのマイクロサービスのための中央集権的で最新のドキュメントを維持
  2. 主要な要素を含む:説明、アーキテクチャ図、連絡先情報、オンボーディングガイド、API詳細、ランブック
  3. 定期的なアーキテクチャレビューの実施
  4. プロダクションレディネス監査の実施
  5. プロダクションレディネスロードマップの作成と維持
  6. 可能な限りプロダクションレディネスチェックの自動化

ドキュメントと理解を向上させるための戦略:

  • ドキュメントの更新を開発ワークフローの一部にする
  • すべてのステークホルダーにアクセス可能な明確で専門用語のない言語を使用
  • よくある質問(FAQ)セクションを実装して一般的な質問に対応
  • チーム間で定期的な知識共有セッションを実施
  • プロダクションレディネスを組織のOKRや計画サイクルに結びつける

ドキュメントと理解を優先することで、組織は技術的負債を減少させ、チーム間の協力を改善し、マイクロサービスエコシステムの長期的な成功を確保できる。

最終更新日:

レビュー

3.82 中 5
平均評価 500+ GoodreadsAmazonの評価.

本書『Production-Ready Microservices』は、スーザン・ファウラーによるもので、賛否両論の評価を受けている。読者はその高レベルの概要とプロダクション準備のためのチェックリストを評価し、マイクロサービスに不慣れなマネージャーやエンジニアにとって有用だと感じている。しかし、多くの人々は技術的な深みや実践的な例の欠如を批判している。本書は組織的な側面とプロダクション準備に焦点を当てている点で称賛されているが、一部の読者は繰り返しが多く、抽象的すぎると感じている。特に管理職にある人やマイクロサービスエコシステムの広範な理解を求める人にとって、より技術的なマイクロサービスの書籍を補完する読み物として推奨されている。

Your rating:

著者について

スーザン・ファウラーは、マイクロサービスに関する業績と職場の平等を推進する活動で知られるソフトウェアエンジニア兼著者である。彼女は、ウーバーでのセクハラと差別の経験を詳細に記したブログ投稿を公開した後、注目を集め、会社の文化に大きな変化をもたらした。ファウラーの経歴には、いくつかのテック企業での役割が含まれ、大規模な分散システムとマイクロサービスに取り組んできた。彼女の著書『Production-Ready Microservices』は、現場での実践経験に基づいている。ファウラーはまた、さまざまな出版物に寄稿しており、技術的および文化的な問題に関するテック業界の議論への貢献が認められている。

0:00
-0:00
1x
Dan
Andrew
Michelle
Lauren
Select Speed
1.0×
+
200 words per minute
Create a free account to unlock:
Requests: Request new book summaries
Bookmarks: Save your favorite books
History: Revisit books later
Ratings: Rate books & see your ratings
Unlock Unlimited Listening
🎧 Listen while you drive, walk, run errands, or do other activities
2.8x more books Listening Reading
Today: Get Instant Access
Listen to full summaries of 73,530 books. That's 12,000+ hours of audio!
Day 4: Trial Reminder
We'll send you a notification that your trial is ending soon.
Day 7: Your subscription begins
You'll be charged on Jan 25,
cancel anytime before.
Compare Features Free Pro
Read full text summaries
Summaries are free to read for everyone
Listen to summaries
12,000+ hours of audio
Unlimited Bookmarks
Free users are limited to 10
Unlimited History
Free users are limited to 10
What our users say
30,000+ readers
"...I can 10x the number of books I can read..."
"...exceptionally accurate, engaging, and beautifully presented..."
"...better than any amazon review when I'm making a book-buying decision..."
Save 62%
Yearly
$119.88 $44.99/year
$3.75/mo
Monthly
$9.99/mo
Try Free & Unlock
7 days free, then $44.99/year. Cancel anytime.
Settings
Appearance
Black Friday Sale 🎉
$20 off Lifetime Access
$79.99 $59.99
Upgrade Now →