2주차
I-1. MS introducing - Auto - indep - deployable - Colla 일관/단순/대응성부족한 Monolith에 대응 - Scale(타기술일때/유지 포함)
- 5가지 Benefits : Small Services - Technology Choice - Individual Deployment(DevOps) - Scaling - Agility
- 1990년대 Objest oriented arch. - Service oriented Arch.(기술을 섞어서 쓰는 방식) - Micro service oriented arch.
- 개발자 생산성, 복잡한 상호관계, 자동화 배포, 모니터링 어려움
- SPA : Single Page Application
3주차
i-2. Arch. MS 어떻게 MS를 구축할 것인가? 기존 Mono. 있을때. ACID
- DDD(Domain Driven Design) - Seam을 잘 찾아내야 함(bounded contexts) - 함정(CRUD 모두 해야 하는 것은아니다 등)
i-3. Building MS - Hosting은 containers. (PAAS + 장점)
- Templates - logging, Health check,Configuration, Autoentication, Bulid scripts
I-4. Communicating - API gateway(Synchronous) - Event bus(Asynchronous)
- Synchronous는 계속 연결되어야 - 그래서 HTTP를 이용 - Restful API(Get, Post, Put, Delete)
- Resilience Communication
- Service Discovery
4주차
I-5. Web2.0 & RESTful Web Services
- 웹 -> 포털 -> 플랫폼(Any to Any)
- programmableWeb - 전세계 API 집합소
- REST의 4가지 원칙 - HTTP methods(CRUD)사용, Stateless(상태 기억 없음-연결 유지하지 않음), URI(URL,URN두가지)로 리소스표시, XML/JSON으로 데이터 표시
- REST verbs(GPPD)/noun(verbs의 목적어)
5주차
I-6. MS기술
I-7. Designe MS
6주차
ii-1. how-to-scope-microservices-using-bounded-contexts
II-2. how-to-architect-asynchronous-microservices
7주차
II-3. soa 2.0 soap(Sync.) + EDA(Async.)
ii-4. API based MS
ii-5. MSA Compose(Patterns)
8주차
ii-6. Across MS Data Consistency
- ACID - Atomicity, Consistency, Isolation, Durability
- CAP Theory - 실패가 일어 났을때 중점적으로 선택하여야 할 것, 일관성(Consistency)이나 데이타 이용능력(availability(MSA는 이쪽))냐 - C 중점은 Two Phase Commit(Prepare/Vote) - 보안이 Saga Pattern/ A 중점은 Eventual consistency(BASE)
II-7. api gateway - centralize access - Spring Cloud FrameWork
9주차
ii-8.Split Mono. - Microdatabase : Funciton first design(<->data first design 데이터를 공유하는 게 목적이 아님)
- DB design pattern(Event Driven-Massage Brocker)
- CQRS( Command and Query Responsibility segrigation(분리)) - (OS) Axon
- 쪼개는 방법 - greenfield pattern, Brownfield Migration
10주차
II-9. MS Resilient - Failure 형태 - Bulkheads DP - MS의 강점
A-1. Docker COntainer
11주차
II-10. Backwards Compatible_Version 상호 호완성
II-11. Define & Document
12주차
A-2. Kubernetes - google cloud
A-3. K8s - Benefit.
13주차
ii-12. Centralized Logging - K8s 가능
II-13.Reporting
II-14. Deployment Automation - K8s 가능 - CI&CD Tool - Jenkins
II-15. Cloud Based MSI - On Premise는 스스로 모든 요소를 가지고 개발하는 것, MS는 Cloud가 유리 DevOps.