Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ja] Localize monolithic apps #2571

Merged
merged 2 commits into from
Nov 3, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions content/ja/monolithic-apps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: モノリシックアプリケーション
status: Completed
category: コンセプト
tags: ["アーキテクチャ", "基礎"]
---

## これは何ですか

モノリシックアプリケーションは単独で配置できるプログラムにすべての機能を格納しており、アプリケーションを開発する時に最も簡単かつ手軽な出発点とされています。
しかし、アプリケーションが複雑になると、モノリスのメンテナンスが難しくなることがあります。
また、同じコードベースで作業する開発者が増えるため、変更が競合したり、開発者の間で直接コミュニケーションを取る必要性が高まります。

## 解決すべき問題はなんですか

アプリケーションを[マイクロサービス](/ja/microservices-architecture/)に移行するとテスト、デプロイ、実行などの運用オーバーヘッドが増加します。
そのため、製品ライフサイクルの初期段階には製品を複雑化させる物は先送り、製品が成功したと判断されるまでモノリシックアプリーケーションで設計することが有利な場合もあります。

## どのように役に立つのでしょうか

適切に設計されたモノリスはアプリケーションを起動して実行する最も簡単な方法であるため、簡潔さを維持できます。
モノリシックアプリーケーションがビジネス的に価値があると証明されれば、アプリケーションを分割し、マイクロサービス化させる事も可能です。
価値が証明される前に技術的努力を費やし、マイクロサービス基盤でアプリケーションを開発することは早計である可能性があります。
アプリケーションが価値を生まなければ、その努力も無駄になるためです。