본문 바로가기

클라우드 운영 팁

클라우드 운영 ~ 역할과 책임(R&R) 어떻게 구분할 것인가? 내 역할에 맞는 Azure 서비스 고르기

IT 운영 업무는 역할과 책임이 나름 명확합니다. 크게는 인프라와 애플리케이션/서비스로 구분할 수 있습니다. 더 세분해 들어가면 서버, 스토리지, 네트워크, 보안, 개발 등으로 나눌 수 있죠. 그렇다면 클라우드는? 조금 애매합니다. 기존에 하던 데로 각자 할 일을 나누려고 보면 뭔가 좀 묘하죠. 걸쳐 있는 영역들이 많아서 그렇습니다. 각자 역할, 주어진 일에 맞추어 클라우드 서비스를 골라야 하죠. 이럴 때 도움이 되는 기준 세 가지 질문을 알려 드립니다. 여럿이 모여 이 세 가지 질문을 던져 보면 각자 할 일이 무엇인지, 그리고 내가 필요한 클라우드 서비스는 무엇인지 알 수 있습니다. 

첫 번째 질문: 어디까지 내가 통제할 것인가?

통제권을 기준으로 하면 크게 IaaS, PaaS, LaaS로 구분할 수 있습니다. IaaS 담당자가 해야 할 일은 애플리케이션을 운영할 수 있는 서버(가상 머신), 운영체제, 네트워크, 보안 등을 설정하고 지원해야 합니다. 애저에서 쓸 수 있는 서비스는 Azure Virtual Machines Azure Container Instances가 있는데요, 이들 서비스는 배포와 관리가 쉽습니다. 따라서 담당자는 가상 머신이나 네트워크, 스토리지 같은 자원 프로비저닝보다는 주로 운영체제 쪽에서 하는 작업에 신경을 더 써야 하고, 이 부분에서 통제력을 갖게 됩니다.  

PaaS의 경우 애저의 경우 Web Apps를 누가 관리할 것인가를 정하면 되겠네요. PaaS 담당자는 운영체제에 대한 통제권이 없습니다. 따라서 책임질 일도 없죠. PaaS 담당자가 해야 하는 일은 애플리케이션 운영 환경에 대한 설정입니다. 가령 .NET, Java, Node.js, PHP, Python 등의 개발과 애플리케이션 운영 환경 설정이 주요 임무라 할 수 있습니다. 

LaaS는 좀 어색하게 보이죠? 서버리스 환경이라고 하면 더 친숙할 것입니다. 'Logic as a Service'의 줄임말입니다. 애저로 따지면 Azure Functions Azure Logic Apps를 생각하면 됩니다. LaaS 담당자는 인프라에 대한 통제권이 거의 없습니다. 애플리케이션 개발 그 자체에만 집중하면 됩니다. 

SaaS 담당자는 인프라와 플랫폼을 신경 쓸 일이 1도 없습니다. 그저 필요한 SaaS를 선택해 원하는 설정을 한 다음 쓰면 됩니다. 애저의 경우 Azure Cognitive Service같이 API를 통해 이용하는 서비스나 ERP, CRM 등 전통적인 SaaS를 꼽을 수 있겠네요. 

두 번째 질문: 앱을 어디서 운영할 것인가?

다음으로 위치에 따른 관리의 역할과 책임에 대한 것입니다. 애플리케이션을 어디서 돌릴 것인가? 애저 공용 클라우드에서 운영할 것인지? 사내에 구축한 애저 스택 기반 사설 클라우드에서 돌릴 것인지? 아니면 다른 사업자의 클라우드에서 사용할 것인지? 같은 애저 환경이라도 리전 차이나 애저 거버먼트 같은 공공 서비스 영역에서 애플리케이션을 운영한다면? 원칙은 통합 관리를 하는 것이겠지만? 사업 환경, 규제 등을 고려해 위치에 따른 책임과 역할을 구분해야 할 수도 있습니다. 

세 번째 질문: 월 단위로 쓸 것인지? 며칠 쓰고 말 것인지?

활용 방식에 따른 책임을 구분하는 것도 가능합니다. 가령 꾸준히 운영해야 하는 비즈니스 애플리케이션은 24시간 365일 돌아가야 하죠. 반면에 특별한 이벤트나 프로젝트 수행같이 때때로 필요한 경우는 일 또는 주 단위로 클라우드를 쓰면 됩니다. 이를 구분하는 것도 조직 내에서 클라우드 관련 책임과 역할에 맞게 클라우드 서비스를 선택하는 데 도움이 됩니다.