이 문서가 다루는 것
- 비즈니스 민첩성이 왜 중요하고, 어떻게 달성할 수 있는가?
- 클라우드 네이티브 애플리케이션은 어떠한 구조를 가지는가?
- 마이크로서비스의 설계상 특징은 무엇인가?
- 마이크로서비스를 달성하기 위한 조건은 무엇인가?
세 줄 요약
- 비즈니스 민첩성은 사용자 피드백을 반영해 빠르게 개선한다는 점에서 중요하다. 애플리케이션 자체가 빠르고 탄력적으로 개발, 운영되어야 한다. 애플리케이션을 기능으로 작게 쪼개서 여러 서비스로 만들어 기능별로 유연한 배포와 확장을 하며, 더 경제적으로 클라우드 사용이 가능하다.
- 마이크로서비스는 기능별로 나뉘며, 각 서비스가 각 데이터 저장소를 가지고 내부로 캡슐화한다. 서비스간의 REST 통신으로 서비스를 느슨하게 연결한다.
- 마이크로서비스를 통한 비즈니스 민첩성을 달성하려면 다음 조건을 충족시켜야 한다. 기능별로 팀을 나누고, 제품 중심으로 지속적인 개발 방식을 선택한다. (애자일) 유연한 인프라는 클라우드로, 개발 지원 과정은 devops나 IaC의 도움을 받는다. 데이터 일관성과 비즈니스 일관성을 지키기 위해 결과적 일관성을 지원하는 비동기 이벤트 처리를 사용한다. 실패에 빠르게 대응할 수 있도록 테스트와 모니터링 체계를 갖춘다.
비즈니스 민첩성