MCP HubMCP Hub
스킬 목록으로 돌아가기

adapt-architecture

pjt222
업데이트됨 Yesterday
1 조회
17
2
17
GitHub에서 보기
디자인design

정보

이 스킬은 Strangler-Fig 마이그레이션, 단계적 롤아웃, 인터페이스 보존을 활용하여 구조적 시스템 변환을 실행합니다. 아키텍처 진화를 위한 계획 수립, 병렬 운영, 점진적 교체, 롤백 설계 및 마이그레이션 후 안정화를 제공합니다. 모놀리스를 마이크로서비스로 전환하거나, 핵심 시스템을 점진적으로 교체하거나, 빅뱅 방식의 변경을 피해야 할 때 사용하세요.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/adapt-architecture

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서

Architektur anpassen

Strukturelle Metamorphose ausfuehren — die Architektur eines Systems von seiner aktuellen Form in eine Zielform transformieren und dabei die betriebliche Kontinuitaet aufrechterhalten. Verwendet Strangler-Fig-Migration, Chrysalis-Phasen und Schnittstellenbewahrung, um sicherzustellen, dass das System waehrend der Transformation nie aufhoert zu funktionieren.

Wann verwenden

  • Formanalyse (siehe assess-form) hat das System als BEREIT klassifiziert
  • Ein System muss seine Architektur weiterentwickeln, um neue Anforderungen ohne Ausfallzeit zu erfuellen
  • Migration von Monolith zu Microservices (oder umgekehrt)
  • Ersetzen eines Kernteilsystems waehrend abhaengige Systeme weiterlaufen
  • Weiterentwicklung eines Datenmodells bei Beibehaltung der Abwaertskompatibilitaet
  • Jede Architekturanpassung, die schrittweise statt als Big-Bang erfolgen muss

Eingaben

  • Erforderlich: Aktuelle Formanalyse (von assess-form oder gleichwertiger Analyse)
  • Erforderlich: Zielarchitektur (was das System werden soll)
  • Erforderlich: Anforderungen an die betriebliche Kontinuitaet (was waehrend der Transformation nicht ausfallen darf)
  • Optional: Verfuegbares Transformationsbudget (Zeit, Personen, Rechenleistung)
  • Optional: Rollback-Anforderungen (wie weit muessen wir zurueckgehen koennen?)
  • Optional: Parallelbetriebsdauer (wie lange sollen Alt und Neu gleichzeitig laufen?)

Vorgehensweise

Schritt 1: Transformations-Blueprint entwerfen

Den Metamorphose-Pfad von der aktuellen Form zur Zielform planen.

  1. Die Transformation als Abfolge von Zwischenformen abbilden:
    • Aktuelle Form → Zwischenform 1 → ... → Zielform
    • Jede Zwischenform muss betriebsfaehig sein (kann Traffic bedienen, Tests bestehen)
    • Keine Zwischenform sollte schwieriger zu warten sein als die aktuelle Form
  2. Die Transformationsnaehte identifizieren:
    • Wo kann die aktuelle Form "geschnitten" werden, um die neue Architektur einzufuegen?
    • Natuerliche Naehte: bestehende Schnittstellen, Modulgrenzen, Datenpartitionen
    • Kuenstliche Naehte: Schnittstellen, die speziell fuer den Schnitt erstellt wurden (Anti-Corruption-Layer)
  3. Das Metamorphose-Muster waehlen:
    • Strangler Fig: Neues System waechst um das alte herum und ersetzt es schrittweise
    • Chrysalis: Altes System wird in eine neue Huelle verpackt; Interna werden ersetzt, waehrend die Huelle die externe Schnittstelle bewahrt
    • Budding: Neues System waechst neben dem alten; Traffic wird schrittweise umgeleitet (siehe scale-colony fuer Kolonie-Budding)
    • Metamorphe Migration: Phasenweise Ersetzung von Komponenten in Abhaengigkeitsreihenfolge (Blaetter zuerst, Wurzeln zuletzt)
  4. Die Schnittstellenbewahrungsschicht entwerfen:
    • Externe Konsumenten duerfen keine Stoerung erfahren
    • API-Versionierung, abwaertskompatible Vertraege, Adapter-Muster
    • Die Bewahrungsschicht ist temporaeres Geruest — ihre Entfernung planen
Metamorphosis Patterns:
┌───────────────┬───────────────────────────────────────────────────┐
│ Strangler Fig │ New code intercepts routes one by one;            │
│               │ old code handles everything else until replaced   │
│               │ ┌──────────┐                                     │
│               │ │ Old ████ │ → │ Old ██ New ██ │ → │ New ████ │  │
│               │ └──────────┘                                     │
├───────────────┼───────────────────────────────────────────────────┤
│ Chrysalis     │ Wrap old system in new interface; replace         │
│               │ internals while external shell stays stable       │
│               │ ┌──────────┐     ┌──[new]───┐     ┌──[new]───┐  │
│               │ │ old core │ → │ old core │ → │ new core │  │
│               │ └──────────┘     └──────────┘     └──────────┘  │
├───────────────┼───────────────────────────────────────────────────┤
│ Budding       │ New system runs in parallel; traffic shifts       │
│               │ ┌──────┐ ┌──────┐     ┌──────┐ ┌──────┐         │
│               │ │ Old  │ │ New  │  →  │ Old  │ │ New  │         │
│               │ │ 100% │ │  0%  │     │  0%  │ │ 100% │         │
│               │ └──────┘ └──────┘     └──────┘ └──────┘         │
└───────────────┴───────────────────────────────────────────────────┘

Erwartet: Ein Transformations-Blueprint, der Zwischenformen, Naehte, das gewaehlte Metamorphose-Muster und die Schnittstellenbewahrungsstrategie zeigt. Jeder Schritt ist konkret und testbar.

Bei Fehler: Wenn keine saubere Naht gefunden werden kann, muss das System moeglicherweise vorab aufgeloest werden (siehe dissolve-form), um Naehte vor der Transformation zu schaffen. Wenn die Zwischenformen nicht betriebsfaehig sind, sind die Transformationsschritte zu gross — in kleinere Inkremente zerlegen.

Schritt 2: Geruest aufbauen

Die temporaere Infrastruktur konstruieren, die die Metamorphose unterstuetzt.

  1. Anti-Corruption-Layer erstellen:
    • Eine duenne Uebersetzungsschicht zwischen dem alten und neuen System
    • Leitet Anfragen basierend auf dem Migrationsstatus an das entsprechende System (alt oder neu) weiter
    • Uebersetzt Datenformate zwischen alter und neuer Darstellung
    • Diese Schicht ist der "Kokon", der die Transformation schuetzt
  2. Parallelbetrieb-Infrastruktur aufsetzen:
    • Beide Systeme (alt und neu) muessen gleichzeitig deploybar sein
    • Feature-Flags steuern, welches System welchen Traffic behandelt
    • Vergleichsmechanismen validieren, dass alt und neu aequivalente Ergebnisse liefern
  3. Rollback-Kontrollpunkte einrichten:
    • Bei jeder Zwischenform sicherstellen, dass ein Rollback zur vorherigen Form moeglich ist
    • Rollback muss schneller sein als der Vorwaerts-Transformationsschritt
    • Datenmigration muss reversibel sein (oder Daten muessen waehrend der Transition doppelt geschrieben werden)
  4. Validierungs-Harnisch aufbauen:
    • Automatisierte Tests, die die betriebliche Kontinuitaet bei jeder Zwischenform verifizieren
    • Performance-Benchmarks, die Regressionen erkennen
    • Datenintegritaetspruefungen, die Migrationsfehler auffangen

Erwartet: Geruest-Infrastruktur (Anti-Corruption-Layer, Parallelbetrieb, Rollback, Validierung) ist vorhanden, bevor eine Transformation beginnt. Das Geruest selbst ist getestet und verifiziert.

Bei Fehler: Wenn das Geruest zu aufwaendig ist, vereinfachen: Das minimale Geruest ist ein Feature-Flag und ein Rollback-Verfahren. Anti-Corruption-Layer und Parallelbetrieb erhoehen die Sicherheit, sind aber fuer kleinere Transformationen nicht immer noetig.

Schritt 3: Progressive Umstellung durchfuehren

Funktionalitaet schrittweise von der alten Form in die neue Form migrieren.

  1. Komponenten fuer die Migration ordnen:
    • Mit der am wenigsten gekoppelten, risikoaermsten Komponente beginnen (Vertrauen aufbauen)
    • Zu kritischeren, staerker gekoppelten Komponenten fortschreiten
    • Die am staerksten gekoppelte/kritischste Komponente fuer zuletzt aufheben (das Team hat dann Erfahrung)
  2. Fuer jede Komponente: a. Die neue Version hinter dem Anti-Corruption-Layer implementieren b. Parallel betreiben: sowohl alt als auch neu verarbeiten dieselben Eingaben c. Ausgaben vergleichen — sie sollten aequivalent sein (oder die Unterschiede sollten erwartet und dokumentiert sein) d. Bei Zuversicht den Traffic auf die neue Version umschalten (Feature-Flag-Wechsel) e. Auf Anomalien ueberwachen (Monitoring-Empfindlichkeit nach der Umstellung erhoehen) f. Nach einer Stabilitaetsphase die alte Version dieser Komponente stilllegen
  3. Kontinuierliche Auslieferung durchgehend aufrechterhalten:
    • Jeder Umstellungsschritt ist ein normales Deployment, kein Sonderereignis
    • Das System befindet sich immer in einem bekannten, getesteten, betriebsfaehigen Zustand
    • Wenn eine Umstellung Probleme verursacht, auf den vorherigen Zustand zurueckrollen (der noch betriebsfaehig ist)

Erwartet: Funktionalitaet migriert Komponente fuer Komponente mit Validierung bei jedem Schritt. Das System ist immer betriebsfaehig. Jede Umstellung baut Vertrauen fuer die naechste auf.

Bei Fehler: Wenn der Parallelbetrieb Diskrepanzen aufdeckt, hat die neue Implementierung einen Fehler — vor der Umstellung beheben. Wenn eine Umstellung Performance-Verschlechterung verursacht, benoetigt die neue Komponente moeglicherweise Optimierung oder der Anti-Corruption-Layer erzeugt zu viel Overhead. Wenn das Team mitten in der Migration das Vertrauen verliert, pausieren und stabilisieren — ein halb-migriertes System in einem bekannten Zustand ist weit besser als eine ueberstuerzte vollstaendige Migration.

Schritt 4: Chrysalis-Phase managen

Die verwundbarste Phase navigieren — wenn sich das System zwischen den Formen befindet.

  1. Die Chrysalis-Realitaet anerkennen:
    • Waehrend der Migration ist das System teils alt und teils neu
    • Dieser Hybridzustand ist inherent komplexer als jeder reine Zustand
    • Komplexitaet erreicht den Hoehepunkt am Mittelpunkt der Migration und nimmt dann ab
  2. Chrysalis-Disziplin:
    • Keine neuen Features waehrend der Chrysalis-Phase (nur Transformation)
    • Minimale externe Aenderungen (nicht-essentielle Deployments einfrieren)
    • Erhoehtes Monitoring und Bereitschaftsabdeckung
    • Taegliche Check-ins zum Migrationsfortschritt und Systemzustand
  3. Chrysalis-Zwischenbewertung:
    • Am Halbzeitpunkt bewerten: Ist die Zielform noch das richtige Ziel?
    • Hat sich etwas geaendert (Markt, Anforderungen, Team), das das Ziel beeinflusst?
    • Sollte die Transformation fortgesetzt, pausiert oder umgeleitet werden?
  4. Die Chrysalis schuetzen:
    • Den Rollback-Pfad jederzeit freihalten
    • Den aktuellen Hybridzustand gruendlich dokumentieren (zukuenftige Debugger werden es brauchen)
    • Der Versuchung widerstehen, temporaeres Geruest vor Abschluss der Migration "aufzuraeumen"

Erwartet: Die Chrysalis-Phase wird als bewusste, zeitlich begrenzte Periode mit erhoehter Disziplin und Monitoring gefuehrt. Das Team versteht, dass temporaere Komplexitaet der Preis fuer sichere Transformation ist.

Bei Fehler: Wenn die Chrysalis-Phase zu lange dauert, wird der Hybridzustand zum neuen Normal — was schlimmer ist als alt oder neu. Ein Zeitlimit setzen. Wenn das Limit erreicht ist, entweder die verbleibende Migration beschleunigen oder den Hybridzustand als "neue Form" akzeptieren und stabilisieren.

Schritt 5: Metamorphose abschliessen und stabilisieren

Die Transformation beenden und das Geruest entfernen.

  1. Finale Umstellung:
    • Die letzte(n) Komponente(n) in die neue Form migrieren
    • Vollstaendige Validierungssuite gegen das komplette neue System laufen lassen
    • Performance-Test unter produktionsaequivalenter Last
  2. Geruest entfernen:
    • Anti-Corruption-Layer stilllegen (wird nicht mehr benoetigt)
    • Feature-Flags im Zusammenhang mit der Migration entfernen
    • Parallelbetrieb-Infrastruktur bereinigen
    • Den alten Systemcode archivieren (nicht loeschen) zur Referenz
  3. Post-Metamorphose-Stabilisierung:
    • 2-4 Wochen in der neuen Form mit erhoehtem Monitoring betreiben
    • Alle Probleme behandeln, die unter realen Bedingungen auftreten
    • Dokumentation aktualisieren, um die neue Architektur widerzuspiegeln
  4. Retrospektive:
    • Was lief gut bei der Transformation?
    • Was war schwieriger als erwartet?
    • Was wuerden wir naechstes Mal anders machen?
    • Das Transformations-Playbook des Teams aktualisieren

Erwartet: Die Transformation ist abgeschlossen. Das System arbeitet in seiner neuen Form. Das Geruest ist entfernt. Die Dokumentation ist aktualisiert. Das Team hat Erkenntnisse fuer zukuenftige Transformationen festgehalten.

Bei Fehler: Wenn die neue Form nach der Umstellung instabil ist, den Rollback-Pfad aufrechterhalten und die Stabilisierung fortsetzen. Wenn die Stabilisierung laenger dauert als geplant, liegt moeglicherweise ein Designproblem in der neuen Architektur vor — abwaegen, ob gezielte Korrekturen oder ein teilweiser Rollback der problematischsten Komponente angemessen sind.

Validierung

  • Transformations-Blueprint zeigt tragfaehige Zwischenformen
  • Geruest (Anti-Corruption-Layer, Rollback, Validierungs-Harnisch) ist vor Migrationsbeginn vorhanden
  • Komponenten migrieren in der Reihenfolge vom niedrigsten zum hoechsten Risiko
  • Parallelbetrieb validiert Aequivalenz bei jedem Schritt
  • Chrysalis-Phase ist zeitlich begrenzt mit Feature-Freeze-Disziplin
  • Gesamtes Geruest wird nach Abschluss der Transformation entfernt
  • Post-Metamorphose-Stabilisierungsphase verlaeuft ohne kritische Probleme
  • Retrospektive erfasst Erkenntnisse

Haeufige Stolperfallen

  • Big-Bang-Migration: Versuch, alles auf einmal zu transformieren. Dies gibt die Sicherheit der inkrementellen Umstellung auf und maximiert den Wirkungsradius. Immer inkrementell migrieren
  • Permanentes Geruest: Anti-Corruption-Layer und Feature-Flags, die nie entfernt werden, werden zu technischen Schulden. Die Geruest-Entfernung als Teil der Transformation planen, nicht als Nachgedanke
  • Chrysalis-Leugnung: So zu tun, als waere der Hybridzustand normal, fuehrt zu Feature-Entwicklung auf instabilen Grundlagen. Die Chrysalis-Phase anerkennen und ihre Disziplin durchsetzen
  • Zielfixierung: So sehr auf die Zielarchitektur festgelegt sein, dass Anzeichen einer besseren Alternative ignoriert werden. Die Chrysalis-Zwischenbewertung existiert aus diesem Grund
  • Transformationsmuedigkeit: Lange Migrationen erschoepfen Teams. Jeden Transformationsschritt klein genug halten, um in Tagen statt Wochen abgeschlossen zu werden. Meilensteine feiern, um die Dynamik aufrechtzuerhalten

Verwandte Skills

  • assess-form — Voraussetzungsanalyse, die bestimmt, ob das System fuer die Transformation bereit ist
  • dissolve-form — fuer Systeme, die zu starr fuer eine direkte Transformation sind; Aufloesung schafft die hier benoetigten Naehte
  • repair-damage — Wiederherstellungs-Skill fuer den Fall, dass die Transformation Schaeden einfuehrt
  • shift-camouflage — Oberflaechenanpassung, die ohne tiefgreifende Architekturanpassung ausreichen kann
  • coordinate-swarm — Schwarmkoordination informiert die Sequenzierung der Transformation ueber verteilte Systeme
  • scale-colony — Wachstumsdruck ist ein haeufiger Ausloeser fuer Architekturanpassung
  • implement-gitops-workflow — GitOps liefert die Deployment-Infrastruktur fuer progressive Umstellung
  • review-software-architecture — ergaenzender Review-Skill zur Bewertung der Zielarchitektur

GitHub 저장소

pjt222/agent-almanac
경로: i18n/de/skills/adapt-architecture
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

executing-plans

디자인

executing-plans 스킬은 검토 체크포인트가 포함된 통제된 배치로 실행할 완전한 구현 계획이 있을 때 사용합니다. 이 스킬은 계획을 불러와 비판적으로 검토한 후, 소규모 배치(기본값 3개 작업)로 작업을 실행하면서 각 배치 사이에 진행 상황을 아키텍트 검토를 위해 보고합니다. 이를 통해 내재된 품질 관리 체크포인트를 갖춘 체계적인 구현이 보장됩니다.

스킬 보기

requesting-code-review

디자인

이 스킬은 코드 변경 사항을 요구 사항에 따라 분석하기 위해 코드 리뷰어 하위 에이전트를 호출합니다. 작업 완료 후, 주요 기능 구현 후, 또는 메인 브랜치에 병합하기 전에 사용해야 합니다. 이 리뷰는 현재 구현체와 원래 계획을 비교하여 문제를 조기에 발견하는 데 도움이 됩니다.

스킬 보기

connect-mcp-server

디자인

이 스킬은 개발자들이 HTTP, stdio 또는 SSE 전송 방식을 통해 MCP 서버를 Claude Code에 연결하는 포괄적인 가이드를 제공합니다. GitHub, Notion 및 사용자 정의 API와 같은 외부 서비스를 통합하기 위한 설치, 구성, 인증 및 보안을 다룹니다. MCP 통합 설정, 외부 도구 구성 또는 Claude의 모델 컨텍스트 프로토콜 작업 시 활용하세요.

스킬 보기

web-cli-teleport

디자인

이 스킬은 작업 분석을 기반으로 개발자가 Claude Code 웹 인터페이스와 CLI 인터페이스 중 선택할 수 있도록 돕고, 두 환경 간 원활한 세션 텔레포트를 가능하게 합니다. 웹, CLI 또는 모바일 환경 전환 시 세션 상태와 컨텍스트를 관리하여 워크플로를 최적화합니다. 다양한 단계에서 서로 다른 도구가 필요한 복잡한 프로젝트에 사용하세요.

스킬 보기