작성자: 권순재, [email protected]
배경
- 연구실에서 가상화된 자원을 생성하고 사용하는 것이 익숙하지 않은 분들을 위해 Cloudplatform을 제작.
- Cloudplatform을 개발하면서 Multi-Tiered Architecture가 사용됨.
- 비즈니스 서비스 처리 속도보다 API 처리속도가 빨라 BottleNeck 발생
- 기획 당시, 배포중이던 사이드 프로젝트가 의문의 공격자에 의해 VM서버가 해킹.
- API Server의 보안성을 확보하고, 서비스의 안정성을 확보하기 위한 방법은 무엇일까? 란 의문의 갖게됨.
- Cloud 자원은 생성되어있으나, Cloud Service를 제공하는서버 DB에는 정보가 누락되어 있는 Inconsistency 문제 발생
구체화 - CLAFOMA 역할을 수행하는 컴포넌트를 설계하자
- 클라우드 서비스 API Endpoint를 은닉하자 ( Conceal )
- 클라우드 서비스 서버를 Local Area Network에서만 Access할 수 있게 하자 ( Limited Access )
- 클라우드 서비스 API의 원자성, 지속성, 일관성을 확보 ( Atomicity , Consistency, Durability)
- 클라우드 서비스 API를 FlowControl을 진행하자 ( Flow Control )
- 클라우드 서비스 API Observer ( Observer )
- 클라우드 서비스 API Transaction Log의 분석 자료를 제공하자 ( Metering )
- Transaction을 관리하는 서버는 중요한 정보를 담지 않으며, 인증 Token을 관리할 수 있어야한다. ( Auth But Not Important )
Transaction Policy
1. Default Transaction 처리 과정