Brain
Science
root
/
학습 노트
/
Study Note
/
4: 소프트웨어 공학 (Software Engineering)
/
9. 클라우드 네이티브 및 AI 소프트웨어 공학
9. 클라우드 네이티브 및 AI 소프트웨어 공학
531. 클라우드 네이티브 아키텍처 (Cloud Native Architecture) 철학
532. 마이크로서비스 (Microservices) 분해 패턴
533. 비즈니스 능력에 따른 분해 (Decompose by Business Capability)
534. 하위 도메인에 따른 분해 (Decompose by Subdomain - DDD 기반)
535. 서비스 간 동기 통신 - REST API, gRPC (Protocol Buffers)
536. 서비스 간 비동기 통신 - 메시지 큐 (RabbitMQ, Kafka), AMQP 프로토콜
537. 안티패턴: 분산 모놀리스 (Distributed Monolith) - 독립 배포 불가능한 MSA
538. 이벤트 기반 아키텍처 (EDA) - 이벤트 생산자, 브로커, 소비자
539. 이벤트 버스 (Event Bus) 및 스트림 프로세싱
540. 서비스 디스커버리 (Service Discovery) - 동적 IP/Port 레지스트리 (Eureka, Consul)
541. 클라이언트 사이드 디스커버리 vs 서버 사이드 디스커버리
542. API 게이트웨이 (API Gateway) - 인증, 라우팅, 로드밸런싱, 통합(Aggregation)
543. BFF (Backend For Frontend) - 모바일, 웹 등 클라이언트 전용 맞춤형 게이트웨이
545. 서비스 메시 (Service Mesh) - 애플리케이션 외부(인프라 계층)에서 통신 제어
546. 사이드카 (Sidecar) 프록시 패턴 - Istio, Envoy, Linkerd
547. 트래픽 라우팅, 카나리 배포 제어 (Service Mesh의 역할)
548. 로컬 트랜잭션 (Local Transaction) vs 분산 트랜잭션 (Distributed Transaction)
549. 2PC (Two-Phase Commit)의 MSA 적용 한계
550. 사가 패턴 (Saga Pattern) - 로컬 트랜잭션들의 연속된 체인
551. 보상 트랜잭션 (Compensating Transaction) - 롤백을 논리적으로 수행하는 역방향 연산
552. 오케스트레이션 사가 (Orchestration Saga) - 중앙 통제기가 흐름 제어
553. 코레오그래피 사가 (Choreography Saga) - 이벤트 구독 기반의 자율적 흐름
554. CQRS (명령과 조회 책임 분리) - 쓰기 DB와 읽기 DB 분리, 동기화 문제 해결 (Eventual Consistency)
555. 이벤트 소싱 (Event Sourcing) - CRUD 대신 상태 변경 이력(Event) 자체를 추가(Append-only) 저장
556. 마이크로 프론트엔드 (Micro Frontends) - 모놀리식 프론트엔드를 독립적 팀 단위 컴포넌트로 분할
557. 모듈 페더레이션 (Module Federation) (Webpack)
558. 서버리스 아키텍처 (Serverless / FaaS)
559. 콜드 스타트 (Cold Start) 지연 문제 및 극복 방안 (Provisioned Concurrency 등)
560. 데이터 메시 (Data Mesh) - 데이터 소유권의 탈중앙화 (도메인 중심)
561. 컨테이너 (Container) 기반 배포 아키텍처
562. 도커(Docker) 이미지 계층(Layer) 최소화 기법
563. 쿠버네티스 (Kubernetes) 오브젝트 아키텍처 (Pod, Service, Deployment, Ingress)
564. 헬름 (Helm) 차트를 이용한 SW 패키지 관리
565. 오퍼레이터 (Operator) 패턴 - 쿠버네티스 사용자 정의 컨트롤러 확장을 통한 복잡한 앱 관리 자동화
566. 옵저버빌리티 (Observability / 가시성) 아키텍처
567. 메트릭 (Metrics) - 시계열 데이터 수집 (Prometheus, Grafana)
568. 로그 (Logs) - 분산 로그 수집 (ELK Stack - Elasticsearch, Logstash, Kibana / Fluentd)
569. 분산 추적 (Distributed Tracing) - 트랜잭션 경로 추적 (OpenTelemetry, Jaeger, Zipkin)
570. Trace ID와 Span ID의 전파 (Context Propagation)
571. 탄력성 (Resiliency) 및 결함 허용 (Fault Tolerance) 패턴
572. 서킷 브레이커 (Circuit Breaker) - 상태(Closed, Open, Half-Open) 기반 장애 확산 차단 (Resilience4j)
573. 타임아웃 (Timeout) 및 재시도 (Retry) 백오프(Backoff) 전략
574. 벌크헤드 (Bulkhead) - 스레드 풀 격리로 일부 장애가 전체 리소스 고갈로 이어지는 현상 방지
575. 섀도우 배포 (Shadow Deployment / 트래픽 미러링) - 실운영 트래픽을 복제하여 신규 버전에 테스트
576. 피처 플래그 (Feature Flag) 기반 A/B 테스트 및 점진적 롤아웃
577. 서버 사이드 렌더링 (SSR) 컴포넌트 아키텍처 (Next.js, Nuxt.js)
578. 정적 사이트 생성 (SSG) / 증분 정적 재생성 (ISR) 패턴
579. 오프라인 우선 (Offline-first) 아키텍처 (PWA, Service Worker, IndexedDB)
580. 웹어셈블리 (WebAssembly, WASM) 아키텍처 - 브라우저 내 고성능 네이티브 코드 실행
581. AI4SE (AI for Software Engineering) - AI를 활용한 SW 엔지니어링 패러다임 변화
582. LLM(대규모 언어 모델) 기반 코드 생성 지원 도구 (GitHub Copilot, Cursor 등)
583. AI 어시스턴트 코드 산출물의 라이선스 충돌(저작권) 이슈 및 보안 위협 (Hallucination 버그)
584. 프롬프트 엔지니어링 (Prompt Engineering) 가이드라인 설계
585. RAG (Retrieval-Augmented Generation) 패턴 아키텍처 통합 설계
586. 랭체인 (LangChain) 프레임워크 기반 AI 파이프라인 설계
587. 에이전틱 AI (Agentic AI) 시스템 - 도구(Tool)를 직접 호출하는 자율형 SW 모듈 설계
588. MLOps 파이프라인 - 데이터 수집, 모델 학습(Training), 서빙(Serving), 모니터링 자동화
589. 모델 드리프트 (Model Drift / Data Drift) 모니터링 및 재학습 루프 설계
590. 엣지 AI (Edge AI) / 온디바이스 AI (On-Device AI) - 모델 경량화 (양자화, 가지치기, 지식 증류) 아키텍처
591. 양자 컴퓨팅 (Quantum Computing) 알고리즘 (쇼어 알고리즘 등)에 대비한 하이브리드 아키텍처 연구
592. 블록체인 DApp (Decentralized Application) 아키텍처 - 프론트엔드 + 스마트 컨트랙트 + IPFS
593. 디지털 트윈 (Digital Twin) 소프트웨어 통합 통신 아키텍처
594. 메타버스 (Metaverse) 실시간 동기화 아키텍처 및 렌더링 오프로딩
595. RPA (Robotic Process Automation) 봇 결합 아키텍처
596. 로우코드/노코드 (Low-Code / No-Code) 플랫폼 아키텍처 한계와 확장성 제어
597. 헤드리스 (Headless) CMS 아키텍처 - 프론트엔드와 백엔드 분리 유연성 제공
598. 마이크로 커널 (Microkernel / 플러그인) 아키텍처 - 이클립스, VS Code 확장 구조
599. 모듈러 모놀리스 (Modular Monolith) 아키텍처 - MSA 전환 전 단계, 모듈 간 강결합 방지 아키텍처
600. 아키텍처 런웨이 (Architecture Runway) - 비즈니스 요구 수용을 위해 사전에 마련하는 기술적 기반 구조