정책 리스크를 파악하십시오. 정책에 대한 질문을 일상 언어로 하십시오. 데모 신청하기 →

Published:

클라우드에서 모두가 자동화하는 이유

by FireMon

제가 클라우드에 대해 이야기하는 자리에 계신다면 결국 다음과 같은 말을 듣게 되실 것이 거의 확실합니다

“클라우드 보안은 아키텍처에서 시작해 자동화로 끝납니다.”

저는 같은 말을 반복하는 사람입니다. 이는 단순한 말장난이 아니라, 거의 10년 가까이 규모를 막론한 다양한 조직과 함께 클라우드 분야에서 깊이 일해 온 경험에 근거한 것입니다. 반복해서 확인되는 한 가지 일관된 사실은, 조직이 일정 규모에 도달하면 운영을 자동화하기 시작한다는 점입니다. 그리고 그 시점은 해마다 클라우드 여정에서 점점 더 앞당겨지고 있습니다.

제가 이를 아는 이유는 먼저 직접 겪었고, 그다음에는 제가 함께 일했거나 대화했거나 그저 스쳐 지나가며 살펴본 모든 조직이 똑같은 길을 걷는 것을 지켜보았기 때문입니다.

우리는 모두 콘솔에서 수작업으로 관리하는 것에서 시작합니다.

당연한 일입니다. 바로 그곳에서 가입하고 클라우드를 사용하기 시작하니까요. 배우기에 가장 좋은 곳이며, 대부분의 콘솔에는 시작을 돕는 마법사, 안내, 각종 팁이 마련되어 있습니다. 하지만 더 복잡한 환경을 구축하거나 단순한 환경을 여러 벌 복제하면서 복잡성이 커지기 때문에, 이 방식은 오래 확장되지 못합니다. 반복 작업을 위해 웹 기반 사용자 인터페이스를 클릭해 나가는 일은 그다지 효율적이지 않으며, 점점 더 많은 시간이 들고 답답해집니다. 이는 단지 클라우드 제공업체의 사용자 인터페이스가 형편없어서만은 아닙니다(솔직히 말해 일부는 꽤 형편없긴 합니다). 생각해 보면 우리는 데이터 센터의 사실상 모든 측면을 단 하나의 웹 인터페이스에서 관리하려 하고 있는 것입니다. 그런. 일은. 일어나지. 않습니다.

그래서 자연스러운 다음 단계는…

명령줄 인터페이스를 사용하는 것으로 옮겨 가는 일이지만, 여기에도 동일한 복잡성이 따릅니다. 데이터 센터를 운영하는 데에는 지속적인 운영은 차치하고 초기 프로비저닝만 해도 수많은 구성 요소가 관여합니다. 늘 쓰는 명령어는 쉽게 기억할 수 있지만, 이 정도 규모의 모든 것을 머릿속에 담아 둘 수 있는 사람은 없습니다. 그리고 결국 같은 작업을 위해 같은 명령어를 반복해서 입력하는 일로 귀결됩니다.

게다가 이 모든 것은 한 사람이 하나의 계정을 관리한다고 가정한 경우입니다. 그러나 작은 스타트업조차 여러 계정에 걸쳐 반복 작업을 관리해야 합니다.

그와 동시에…

개발 팀은 이미 API를 직접 다루며 클라우드의 여러 구성 요소를 애플리케이션에 통합하고 있습니다. 처음에는 S3 버킷 몇 개를 관리하는 정도로 단순하게 시작하겠지만, 곧 글로벌 규모의 데이터베이스부터 머신러닝 엔진까지 모든 것을 관리하는 수준으로 빠르게 확대됩니다. 이것이 PaaS를 애플리케이션에 통합하고 클라우드에서 가장 본질적인 가치를 끌어내는 방식입니다.

개발 팀은 또한 Terraform이나 CloudFormation 같은 도구를 빠르게 활용해 인프라를 코드로 정의합니다. 이를 통해 개발/테스트/운영 환경을 구축하고 모든 것을 일관되게 유지할 수 있습니다.

머지않아(물론 때로는 몇 년이 걸리기도 합니다) 보안과 운영 조직도 직접 자동화를 활용하기 시작하며, 대개 세 가지 주요 영역에서 이루어집니다.

  1. 새로운 환경을 구축하고 배포 파이프라인과 통합하기 위한 Infrastructure as Code(IaC)의 활용. IaC를 통해 일관되고 재현 가능한 환경을 구축하고 기본 보안 및 운영 요구 사항을 프로비저닝할 수 있습니다. 개발자 역시 개발/테스트/운영 환경을 정의하는 데 IaC를 사용합니다. 모두에게 이득이며, 제가 함께 일한 모든 기업이 결국 매우 빠르게 이를 도입하게 되었습니다.
  2. 평가와 모니터링을 위한 자동화. 핵심 문제는 서로 흩어져 있는 클라우드 리소스에 대한 가시성을 유지하는 일이며, 이는 모든 리소스가 동일한 계정에 있을 때에도 마찬가지입니다. 콘솔로도 많은 것을 볼 수 있지만, 자동화를 이용하면 귀사에 중요한 것을 보여 줄 수 있습니다. 이는 사실 기존 인프라 대비 엄청난 이점입니다. 기존 환경에서는 데이터 센터의 서버를 추적하는 일 같은 것에조차 터무니없는 비용을 써야 했습니다. 클라우드에서는 API 호출 한 번이면 되는 일인데 말입니다.
  3. 운영을 위한 자동화. 어긋난 부분이 보이기 시작하면 이를 바로잡고 싶어집니다. 게다가 자연스럽게 자동화할 수 있는 워크플로가 매우 다양합니다. 이 정도 수준의 자동화는 대부분의 기존 인프라에서는 설령 가능하더라도 비용상 감당하기 어렵지만, 클라우드에서는 그저 업무의 자연스러운 연장선일 뿐입니다.

클라우드의 핵심 이점 중 하나는 분리입니다…

필요한 리소스만 담아 환경을 격리함으로써 개발자들이 서로의 영역을 침범하지 않고 빠르게 움직일 수 있게 하는 것입니다. 그러나 이는 곧 재현 가능한 프로세스와 관리의 필요로 이어지고, API가 바로 거기 있으니 자동화하는 것이 자연스러운 수순입니다.

아이는 외부 자극이 없는 격리된 공간에서 자라더라도 기고, 걷고, 결국 뛰게 됩니다(정말로 이런 실험을 해 본 적은 없다고 약속드립니다). 자연스러운 발달 과정입니다. 클라우드 자동화도 마찬가지입니다. 이는 클라우드에서 무엇이든 대규모로 운영하기 위한 본질적인 요건일 뿐이며, 누구나 결국에는 그 지점에 도달합니다. 관건은 그 지점에 효과적으로 도달하는 것입니다.

클라우드에서 모두가 자동화하는 이유 - www.firemon.com