Microsoft AZ-104 (Azure Administrator Associate) 자격증을 취득한 지 약 1년이 지났고, 새로운 Azure Architect 자격증에 현재 도전중에 있다. Azure Architect은 Associate 에 비해서 한층 더 깊고, 넓은 양의 지식 습득이 필요하다. 2년전에는 AWS Solution Architect Associate 을 취득하였는데, 클라우드 자격증을 공부하면서 공통적으로 느끼는 부분을 IaaS, PaaS, SaaS 의 모델로 구분하면서 이야기해보려고 한다.
Azure 혹은 AWS, GCP (Google) 의 클라우드 관련 공부를 하다보니, 한가지 재미있는 사실을 발견하게 되었는데, 그것은 바로 새로운 기술이 급격하게 소개되고, 그것을 제대로 습득되지 않은 상태 아니 정확하게 표현하자면, 새로운 기술을 인식하지도 못한 상태로 고객들은 기존의 기술들만 고집해서 사용한다는 것이다. 물론 현재 사용하는 기술이 비지니스와 최적화 되어서 더이상 고칠 필요가 없다면 문제가 없지만, 보통의 경우에는 기존의 방식에 이미 익숙해진 고객 그리고, 엔지니어와 개발자에 맞춰서 이 기술이 받아지는 지 적용이 된다. (이에 대한 글 사람-프로세스-테크놀로지 PPT는 여기를 참조하길 바란다)
피자를 구우면서 클라우드에 대해서 얘기해보자
클라우드 자격증은 잠시 뒤로하고 잠시 피자 만드는 얘기를 해보려고 한다. 테크놀로지가 필요한 궁극적인 이유는 이윤 극대화라고 할 수 있다. 모든 비지니스는 이윤을 만들어 내는 것이 최종 목표이고, 이 최종 목표를 위해서, 인력과 기술 그리고 자원을 효과적으로 조합하여서 생산성을 높인다. 예를들어, 피자를 만들어서 고객에게 서비스하는 것이 최종 목표이라고 가정한다면, 피자를 어디에서 만들 것인지, 누가 만들 것인지, 그리고 어디에서 먹을지도 중요하지만, 더 중요한 것은 값이 저렴하면서도 그 품질을 유지하면서도 최적화된 피자를 더 빠른 시간안에 만들어서 고객을 만족시키는 것일 것이다.
아래의 도표는 클라우드를 설명할 때 자주 등장하는 pizza as a service 이다. 왼쪽의 Traditional On-premise 는 클라우드가 출현하기 이전에 사용했던 IT model 이다. 하나에서 열까지 모든 것들을 비지니스를 하는 회사가 제공해야 했었다. 참고로 회사 = 우리 라는 입장에서 즉, 회사와 우리를 동일시하고 이 글을 쓰고 있다. 즉, 다이닝 테이블, 드링크, 가스, 오븐, 불, 피자 반죽, 토마토 소스, 토핑 치즈 등등 재료 뿐만 아니라 필요한 도구까지 모두 비지니스를 하는 우리가 제공해야 했었다. 이것은 Made at Home pizza 라고 칭한다. 즉, 집에서 피자를 우리가 직접 만드는 방식이다. 그러나, 이제는 누가 피자를 집에서 만들어 먹는가? 보통 재미로 만들어 먹거나, 아니면 영양을 고려한 경우가 아니면 더 많은 시간이 소요되며, 때론 더 많은 비용이 드는 Made at Home pizza는 많은 경우 현명한 비지니스의 모델이 더이상 아니다.
아래의 도표를 참조할때, 파란색은 우리가 컨트롤할 수 있는 부분을 이야기하고 (You manage), 초록색은 우리가 컨트롤할 수 없는 부분을 (Vendor manages) 즉, 우리가 할 필요없이 외주를 주는 것을 말하고 있다.
두번째 옵션 (Infrastructures as a service: IaaS) 모델은 모든 인프라 자체는 우리가 관리하고, 필요한 식자재 (피자 반죽, 소스, 토핑, 치즈 등)만 공급을 외부로부터 받는 형식이다. 즉 회사에서는 이제 재료를 받아서 피자를 굽는데에만 최선을 다하면 된다. 이를 Take and Bake Pizza라고 칭한다. 이 경우에는 피자의 식자재는 회사가 관리할 수 없지만, 그 피자의 공정과정은 회사가 책임을 지는 것이다. 많은 회사가 아직도, 이러한 방식을 이용해서 비지니스를 하고 있지만, 클라우드가 대세가 되면서 점점 오른쪽으로 (PaaS or SaaS) 형태로 바뀌고 있다. IT에서는 데이터센터를 가지고 있는 비지니스를 보통 IaaS 모델이라고 한다. 즉, 인프라는 그대로 회사가 소유하고나 렌트를 하고 비지니스에 필요한 부분 (개발)은 외주를 맡기는 형태를 의미한다.
세번째 옵션 (Platform as a service: PaaS) 모델은 이제 인트라였던 오븐, 화덕, 그리고 가스/전기 등도 우리가 관리하지 않고 외주를 주는 형태를 말한다. 피자 도표에서는 이를 Pizza Delivery 라고 한다. 즉, 모든 것은 피자가게에서 배달하되, 집에서는 테이블과 드링크가 제공하면 되는 것이다. IT에서는 이를 PaaS라고 하는데, 쉽게 얘기하면, 더이상 서버, 네트워크, 보안 등을 우리가 관리하지 않고, 우리의 공간에 우리가 원하는 어플리케이션을 만드는 것을 의미한다. 쉬운 예로는 Wix나 Godaddy에서 웹사이트를 만드는 형태가 대표적인 PaaS라고 할 수 있다. 즉 나는 컨텐트와 단순한 template을 바꿀 수 있는 것을 PaaS라고 칭한다.
마지막으로 (Software as a service: SaaS) 모델은 피자 모델로 비유하면 Dining out 즉, 모든 것 다 귀찮고 가서 먹자 형태의 비지니스 모델이다. 즉, IT 에서 기존에 만들어진 소프트웨어 자체만을 사용한다는 의미이다. Microsoft Office 365, SharePoint Online, 구글포토 등이 대표적인 SaaS 이다. 또한 우리가 자주 사용하는 YouTube, Instagram, Facebook도 SaaS 에 해당된다.
이 네가지의 비지니스 모델은 각각 장단점이 있다. 오른쪽 Dining out으로 갈수록, 우리는 더 간편해진 비지니스 모델을 가질 수 있으며, 이제 점점
SaaS 혹은 PaaS가 가격면에서도 Legacy on-prem과 IaaS를 저렴하게 되어버렸다. 또한, 기존에 필요했던 인프라를 관리하는 인력도 더 축소시킬 수 있게 되었으며, 가장 중요한 것은 똑같은 피자를 만드는데도 시간상 더 빨리 만들수 있게 되었다. 하지만, 아직도 첫번째 혹은 두번째 옵션도 장점은 있다. 특별히, 중요한 데이터 (HIPPA, PCI) 가 있을 때에는 아무래도 클라우드를 이용하기에 꺼림직한 부분이 있을 수 있다. 또한 혹시나 모를 클라우드에서 일어날 보안사고 등에서부터도 안전할 수도 있다. (반대로 인프라가 보안에 취약하면 다른 얘기지만)
내가 가진 IT스킬과 현재 열공하는 테크놀로지는 피자를 만드는 프로세스중에서 얼마만큼 필요한가?
IT 업계에서 약 20년 정도 일하다보니, 서버, 네트워크, 보안, 클라우드 등 자격증들이 점점 쌓여가고 있다. 오늘 다룬 피자 만드는 프로세스를 예로 들어보자. 내가 가진 자격증의 많은 부분이 첫번째, 두번재 옵션 (Legacy on-prem 혹은 Infrastructure as a service) 에 국한되어 있다는 것을 클라우드 자격증을 공부하면서 많이 느끼게 되었다. 물론 클라우드 안에 IaaS, PaaS, SaaS가 모두 포함되어 있다. 그런데, 정작 나는 IaaS 쪽의 클라우드만 고집하고 있다는 것을 알게 되었다.
이전에 포스팅한 80:20의 법칙을 계속 나는 사용해서 공부하는 영역을 넓혀갔지만, IaaS (인프라)라는 한계는 넘지 못하고 있었다는 것을 최근 3년 느끼고 있다. 그 말은 점점 Infra는 축소하면서 creator 쪽으로 나 역시 바뀌어 간다는 것을 의미한다. 모두가 다 개발자가 될 필요가 없다. 하지만, 중요한 것은 이러한 Infrastructure 는 언제든지 무엇인가로 대체되어 질 수 있다는 것이다. 이것은 내가 바꾸려고 노력한다고 바뀌는 것이 아니라, 우리가 속해 있는 비지니스 혹은 회사가 우리를 언젠가는 바꾸려고 할 것이다.
내가 사용하는 80:20 의 IT 원리