이 글은 디지털 혁신으로 인해 발생하는 과제를 다루는 시리즈의 네 번째 블로그입니다.
규모의 비경제성.
사업을 성장시킬 때, 특히 시간이 지남에 따라, 돌봐야 할 짐이 쌓이기 마련입니다. 지원해야 하는 애플리케이션의 수가 줄어드는 경우는 거의 없습니다. 보통은 증가하며, 몇 년 만에 기하급수적으로 증가하기도 합니다. 주목할 만한 일이 아닌 시기에도 지원자 수는 4년마다 두 배로 늘어나는 경향이 있습니다. 새로운 기술이 등장하면 그 숫자는 늘어납니다.
각 앱은 운영 측면에서 더 많은 지원이 필요합니다(네트워크, 컴퓨팅, 스토리지, 보안 등). 하지만 수직적 확장만으로는 한계가 있고, 문제를 해결하기 위해 사용할 수 있는 하드웨어의 양에는 한계가 있는 것처럼 인적 자원에도 똑같은 것이 적용된다는 것을 알고 있습니다. 앱의 성장에 맞춰 운영을 계속 추가할 수는 없습니다. 그렇게 하면 관리(경비)가 늘어나고 누가 무슨 일을 담당하는지 알아내는 데 어려움을 겪으면서 의사소통이 느려지고, 더 나아가 그 사람과 실제로 대화하는 것도 어려워집니다.
이것이 바로 감소 배치의 법칙이 보여주는 것입니다. 실제로 작전 수행 횟수가 배치를 방해하는 지점이 나타나고, 여기서 상충이 시작되는 것을 볼 수 있습니다. 악마와 거래하는 파우스트처럼, 우리는 보안보다 속도를, 안정성보다 규모를 선택합니다. 결국 우리는 이론적 한계에 도달하여 개발 및 운영과 비즈니스가 다른 곳에서 해결책을 찾기 시작하는 전환점에 도달했습니다.
간단히 말해 , 점점 늘어나는 앱을 처리하기 위해 고용할 수 있는 운영 인력의 수에는 한계가 있으며, 그렇게 되면 배포 감소의 법칙에 위배됩니다 .
따라서 운영 측면에서 자동화가 매우 중요하며, 애플리케이션 증가와 보다 신속한 배포 요구에 부응해야 합니다. 아무리 빨리 타이핑하더라도 컴퓨팅은 더 빠르기 때문입니다.
하지만 자동화는 스크립팅 이상의 것이라는 점을 명심하세요.
우리는 이미 많은 스크립팅을 하고 있으며, 이는 확실히 우리가 최소한 배포 경쟁에서 우위를 점하는 데 도움이 되는 요소였습니다. 자동화가 실제로 성공하려면 장치나 애플리케이션별로 실행되어서는 안 됩니다. 그럴 리가 없습니다. 확장이 안 돼요. 기기나 앱당 하나의 스크립트를 작성한다면 자동화를 제대로 수행하지 못하는 것입니다.
자동화는 프로세스에 관한 것이어야 합니다(따라서 실제로는 오케스트레이션이지만, 그것은 넘어지지 않는 풍차와 같습니다). 그리고 일관된 실행에 관한 것입니다. 즉, 스크립트 변경뿐만 아니라 자동화를 도입해야 한다는 의미입니다. 즉, 코드로서의 인프라와 같은 DevOps의 원칙을 통합한 새로운 접근 방식을 의미합니다.
코드로서의 인프라는 비유입니다. 즉, 실제 인프라는 소프트웨어, 하드웨어, 클라우드 또는 온프레미스일 수 있습니다. 인프라의 코드 동작을 구현하기 위해 API와 배포 아티팩트를 사용할 것이므로 배포 목적과 관련해서는 구현이 중요하지 않습니다. 구성을 장치에서 분리함으로써 장치를 마치 블랙박스처럼 취급할 수 있습니다.
중요한 것은 배포 아티팩트, 즉 원하는 서비스에 대한 디바이스 프로비저닝 및 구성에 사용되는 템플릿, 스크립트 및 정책입니다. 이러한 정보는 저장소(온프레미스)에 저장됩니다. 이러한 것은 네트워크, 보안, 스토리지, 앱 인프라 등 주어진 서비스를 완벽하게 설명하며 원하는 대로 서비스를 재생성하는 데 사용할 수 있습니다. 이러한 아티팩트는 개별 작업을 자동화하는 데 사용할 수 있습니다. 즉, 방화벽 규칙 추가, 부하 분산 장치 배포, WAF 구성 등을 수행한 다음 조율된 프로세스로 결합하여 지속적인 배포를 달성할 수 있습니다.
이것이 규모의 비경제성을 해결하는 데 중요한 이유는 순수 스크립팅이 여전히 장치별 작업이기 때문입니다. 대본이 있으면 5분 걸리는 일도 5초면 끝낼 수 있습니다. 하지만 여전히 수동으로 호출해야 하며 사람이 프로세스를 주도해야 합니다. 이는 전체 *프로세스*를 자동화해야 하는 더 큰 필요성을 해결하지 못하며, 이는 디지털 경제에서 경쟁하는 데 필요한 규모의 경제를 달성하는 데 필요한 것입니다.
이 시리즈의 마지막 게시물을 기대하세요. 이 게시물에서는 컨테이너화된 환경에 배포되는 앱의 수가 증가하고 있는데도 이를 안전하고 보안적으로 제공하는 방법을 자세히 살펴보겠습니다.