블로그

마슬로의 자동화 욕구 계층

로리 맥비티 썸네일
로리 맥비티
2017년 9월 7일 게시

지금 컨테이너보다 더 인기 있는 것이 있다면 그것은 아마도 서버리스와 같이 컨테이너를 기반으로 하는 것일 것입니다. 현재 블록에서 "멋진" 아이일 뿐만 아니라 현대 애플리케이션에 자동화와 오케스트레이션*이 얼마나 중요한지에 대한 초점이기도 합니다.

거의 매일 컨테이너 아키텍처에 새로운 구성 요소가 추가되고, 그에 따라 적절한 수준의 자동화가 이루어집니다. 컨테이너 세계에서는 어떤 일이라도 자동화될 수 있습니다. 다양한 API와 구성/템플릿 기반 아티팩트에 대한 의존성으로 인해 컨테이너 기반 환경 내에서 자동화가 거의 지속적으로 발전하고 있습니다. API 경제가 기업의 디지털 혁신에 중요하다면, 다른 API 경제는 IT의 디지털 혁신에 중요합니다.

컨테이너 환경도 예외는 아니며, 프로덕션 환경으로 지속적으로 확대되면서 업스트림(N-S) 서비스가 이러한 매우 불안정한 환경 내에서 확장 및 제공되는 앱을 제공할 수 있을 뿐만 아니라 자동화 및 오케스트레이션 계층에서 이러한 앱과 통합되는 것이 점점 더 중요해지고 있습니다.

그 이유는 이 기술 "스택"의 일부 계층이 다른 계층보다 변동성이 더 크기 때문입니다. 예를 들어 컨테이너의 생성과 파괴는 전체 클러스터의 생성 및 파괴보다 훨씬 더 규칙적으로 발생합니다. 실제로 Data Dog HQ의 Docker Adoption 보고서는 "2017년 3월 현재 Docker를 실행하는 Datadog 고객의 약 40%가 Kubernetes , Mesos, Amazon ECS , Google Container Engine 또는 다른 오케스트레이터도 실행하고 있었습니다."라고 언급합니다. 자동화/오케스트레이션은 컨테이너의 성공에 매우 중요하며, 특히 핵심 부분에서 그렇습니다. 즉, 우리가 앞으로 나아갈 때 일부 자동화 요구 사항은 가능한 한 빨리(그리고 철저하게) 충족되어야 한다는 것이 필수적입니다. 이는 다른 모든 것의 기반이 되기 때문입니다. 

이는 클라우드 환경에도 해당됩니다. 결국 자동화와 오케스트레이션의 필요성을 촉진하는 것은 변동성뿐만 아니라 민첩성도 있습니다. 클라우드 컴퓨팅과 관련된 복잡한 "셀프 서비스" 모델은 유틸리티 컴퓨팅 모델 내에서 클라우드 컴퓨팅의 탄력적이고 주문형 아키텍처 개념을 지원하기 위해 자동화를 요구합니다. 클라우드와 컨테이너 모두에 공통적으로 필요한 자동화 요구 사항이 식별 가능하며, 이를 통해 비즈니스에 대한 가치를 이해하는 데 필요한 기반이 마련됩니다.

마슬로의 욕구 계층과 매우 유사하게 자동화 욕구 계층은 성장을 가능하게 하는 더 높은 순위의 욕구로 나아가기 위해 충족되어야 하는 "결핍" 욕구가 있다는 전제에 기반을 둡니다.

더 높은 수준의 성장 요구를 충족하기 위해서는 먼저 낮은 수준의 적자 요구부터 충족해야 합니다. 부족한 욕구가 충족되면 그 욕구는 사라지고, 우리의 활동은 아직 충족시키지 못한 다음 욕구를 충족시키는 방향으로 습관적으로 향하게 됩니다. 이제 이것이 우리의 가장 중요한 요구사항이 됩니다. 그러나 성장 요구는 계속해서 느껴지고, 참여가 이루어지면 더욱 강해질 수도 있습니다. 이러한 성장 욕구가 적당히 충족되면 자아실현이라 불리는 가장 높은 수준에 도달할 수 있습니다. -- https://www.simplypsychology.org/maslow.html

본질적으로, 이 특정 자동화 요구 사항 계층은 애플리케이션과 그 복합 서비스의 확장과 관련된 기본적인 요구 사항에 초점을 맞춥니다. 이 개념을 처음 제시한 매우 재능 있는 F5 엔지니어는 다음과 같이 설명합니다. "하단의 자동화는 가장 자주 발생하고 애플리케이션이 온라인 상태를 유지하는 데 필수적이기 때문에 가장 가치가 있습니다. 맨 위의 자동화는 덜 자주(아마도 "한 번만") 발생하고 많은 사람들이 이미 수동 작업을 하고 있는 동시에 발생하기 때문에 가치가 가장 낮습니다."

계층구조-자동-필요

이는 컨테이너/가상 머신 및 앱의 생성/파괴를 자동화하는 데 필요한 "기본적인" 요구 사항이며, 이는 규모뿐만 아니라 규모의 효율성 에도 중요합니다. 이러한 효율성은 비용을 제한하고 전통적으로 (비용이 많이 드는) 수동 작업에 부과되는 규모의 부담을 덜어주는 데 중요합니다. 오늘날 이런 일이 발생하는 양과 빈도를 고려하면 자동화는 선택 사항이 아닌 필수 사항입니다. 이는 결핍 요구 사항 이므로 충족되지 않을 경우 덜 자주 발생하는 고차원의 자동화에 대해 걱정할 이유가 거의 없습니다. 

이는 특히 컨테이너에 해당하며, Data Dog에서 "컨테이너의 평균 수명은 2.5일인 반면 모든 회사에서 기존 및 클라우드 기반 VM의 평균 수명은 23일입니다."라고 언급했을 때 다시 한 번 검증된 것으로 보입니다. 이는 자동화의 영향을 받는 것으로 보입니다. "오케스트레이터를 사용하여 Docker를 실행하는 조직에서 컨테이너의 일반적인 수명은 하루 미만입니다. 오케스트레이션 없이 Docker를 실행하는 조직에서 컨테이너는 평균 5.5일 동안 존재합니다."

컨테이너와 앱의 생성/파괴를 자동화하는 기능은 조직이 기존 환경과 클라우드 기반 환경 모두에서 컨테이너의 이점을 얻는 데 필요한 규모의 속도와 민첩성을 실현하는 데 필수적입니다.

상위 자동화 요구 사항은 대부분 라우팅 요구 사항이며 성장 요구 사항에 해당합니다. 기본적인 (결핍적인) 욕구가 충족되면 성장 욕구가 추구됩니다. 클러스터 생성/파기 및 라우팅 변경은 드물게 발생하며 앱이 제대로 구축되고 확장이 가능해지면 비로소 가치가 생깁니다. 개발/테스트 환경에서 프로덕션 환경으로 마이그레이션하고 애플리케이션을 제공하여 비즈니스 가치를 제공해야 하는 경우 이러한 기능은 필수적입니다. 결국, 응답할 수 없는 앱으로 라우팅하는 것은 굶주린 사람을 껴안는 것과 같습니다. 따뜻하고 흐뭇한 느낌은 음식에 대한 기본적인 욕구를 충족시키지 못합니다. 2016년 Mesosphere가 사용자를 대상으로 실시한 설문 조사에 따르면, 응답자의 62%가 이미 프로덕션 환경에서 컨테이너를 사용하고 있는 것으로 나타났습니다. 컨테이너 중심 컨퍼런스 DockerCon에서 2017년 Portworx가 실시한 설문 조사에 따르면 응답자의 67.2%가 프로덕션에서 컨테이너를 사용하고 있는 것으로 나타났습니다. 즉, 컨테이너를 도입하는 조직의 하위 집합에는 라우팅 요구 사항이 점점 중요해지고 있다는 의미입니다.

컨테이너 자동화 필요성

기업의 자아실현의 궁극적인 목표인 성장은 전체 계층이 충족될 때까지 달성될 수 없습니다. 즉, 전체 "스택"이 자동화되고 조율될 때까지는 달성될 수 없습니다. 따라서 NS 데이터 플레인에서 주로 일하는 사람들이 하향식으로 작업을 조정하여 먼저 환경의 확장 요구 사항을 충족하고, NS에서 EW 트래픽으로의 전환이 이루어지는 라우팅 요구 사항까지 처리해야 합니다. 이는 Kubernetes와 같은 컨테이너 오케스트레이터를 중심으로 보다 긴밀하게 결합된 생태계의 지속적인 개발에서도 분명하게 나타납니다. 최근 개발 중 하나는 NS가 EW 서비스로 원활하게 전환되도록 보장하기 위해 레이어 7(URI/API)에서 라우팅하는 인그레스 컨트롤러를 포함하여 "라우팅" 요구 사항에 집중되었습니다. 이 구성 요소 역시 라우팅 요구 사항을 충족하고 조직의 계층 구조를 지속적으로 높여 성장을 실현하기 위해 결국 통합(자동화)되어야 합니다. 

이를 컨테이너별 구성으로 변환하면 컨테이너 환경 자동화 요구 사항을 성장을 실현하기 위한 확장 요구 사항을 지원하는 네트워크의 서비스에 매핑할 수 있습니다. 컨테이너와 네트워크/애플리케이션 서비스 구성 모두 자동화가 필요합니다. 앱을 확장하기 위해 수백 개의 컨테이너를 만들면서 이를 관리하는 서비스를 동시에 자동화하지 않으면서 앱의 요구 사항은 충족되지 않습니다. 이러한 네트워킹 구성 요소는 기본 컨테이너 구성 요소로 존재할 수도 있고, 컨테이너 환경에 기본적으로 맞게 조정된 기존 앱 서비스로 존재할 수도 있습니다. 구현 세부 사항은 아키텍처와 운영 요구 사항에 따라 다르지만 성공을 실현하기 위해서는 두 가지 구성 요소가 모두 필요합니다. (확장) 및 성장(라우팅) 요구 사항을 충족해야 합니다. 

모든 경우에서 컨테이너와 클라우드의 성공은 해당 생태계에 크게 의존하며, 이는 디지털 변환 이니셔티브를 통해 비즈니스 성장에 중요한 자동화와 오케스트레이션을 가능하게 하기 위해 다른 API 경제에 의존한다는 것을 의미합니다. 

 

* 컨테이너 세계에서 자동화와 오케스트레이션의 개념이 혼동되어 서로 대비되는 것처럼 보이는 것은 실망스럽습니다. 하지만 지금은 그런 건 무시하고 그 고지식한 생각을 내면에 간직하도록 노력하겠습니다. 내 머릿속에서. 외침. 절실히.