Microservices for Dynamic Change of Software Services
- 불확실한 시장환경 속에서 SW기술을 활용하여 {시제품 개발→고객반응 확인→서비스 변경}을 빠르게 반복함으로써 사업 성공률을 높이는 린스타트업 방식이 대기업까지 확산됨
- 그러나, 기존 SW서비스 기술은 사실상 전체를 한 덩어리 서비스로 구현하여, 서비스 변경 시 시스템을 셧다운하고 한꺼번에 바꿔야 하는 경우가 많아 조직 간 통합·조정 비용이 많이 드는 등 기민한 대응에 한계가 있었음
- 이의 대안으로 넷플릭스, 아마존 등은 소규모 서비스 단위로 독립성을 강화하면서도 빠른 변경이 가능한 마이크로서비스 아키텍쳐를 채택함
- 마이크로서비스는 기업 내의 경직된 기존 기술구조를 탈피하기 위해 기획 단계부터 변화를 수용하는 설계역량이 필수이며, 마이크로서비스 단위의 책임과 권한을 소규모 팀에 독립적으로 부여하는 조직구조도 뒷받침 되어야 함
- an uncertain market environment, the lean-startup strategy to rapidly repeat (prototype development → customer feedback → change of service), leading to success of a new start-up is diffusing into even large enterprises.
- However, the existing SW service technology actually implements the entire service as a monolithic structure, and when the service is changed, because it is often necessary to shut down the system and replace it at the same time, there is a limit to the agility due to the cost of integration and adjustment between the organizations.
- As an alternative to this, Netflix and Amazon have adopted a ‘microservices’ architecture that allows for rapid change while enhancing independence as a small service unit.
- Microservices require design capabilities to accommodate changes from the planning stage in order to break the rigid existing technology structure within the enterprise, it should also be supported by an organizational structure that assigns the responsibility and authority of the unit service independently to small teams.