엔지니어들이 저지르는 가장 비용이 많이 드는 클라우드 실수는 기술적인 것이 아니다
요약
엔지니어링 팀이 비즈니스 목표를 간과하고 기술적 완벽함이나 벤더 종속 방지에만 집중할 때 발생하는 비용 문제를 다룹니다. 초기 단계에서는 이식성보다 제품 출시 속도와 모멘텀을 확보하는 것이 비즈니스 가치 창출에 더 중요함을 강조합니다.
핵심 포인트
- 기술적 우아함보다 비즈니스 가치와 제품 출시 속도가 우선되어야 함
- 과도한 벤더 종속 방지 노력은 운영 복잡성과 개발 지연을 초래함
- 초기 스타트업은 관리형 서비스 활용을 통해 모멘텀을 확보해야 함
- 클라우드 불가지론적 설계는 조직의 규모와 규제 요구사항에 따라 결정해야 함
엔지니어링 팀은 기술적 선택을 두고 토론하는 것을 좋아합니다.
클라우드 네이티브 (cloud-native)로 갈 것인가, 아니면 클라우드 불가지론적 (cloud-agnostic) 방식으로 갈 것인가?
관리형 서비스 (managed services)를 사용할 것인가, 아니면 추상화 계층 (abstractions)을 구축할 것인가?
유연성 (flexibility)을 최적화할 것인가, 아니면 속도 (speed)를 최적화할 것인가?
이러한 논의들은 종종 매우 기술적으로 들리지만, 가장 큰 클라우드 실수들은 기술 때문에 발생하는 경우가 드뭅니다.
그것들은 팀이 그 이면에 있는 비즈니스를 고려하지 않고 아키텍처 (architecture) 결정을 내릴 때 발생합니다.
그리고 그것은 믿을 수 없을 정도로 비용이 많이 들 수 있습니다.
엔지니어들이 잘못된 문제를 해결할 때
첫 번째 제품을 만드는 스타트업을 상상해 보십시오.
창업자들에게는 사용자, 피드백, 그리고 수익이 필요합니다. 매주가 중요합니다.
하지만 엔지니어링 팀은 이론적으로 여러 클라우드 제공업체 (cloud providers)에서 실행될 수 있는 인프라를 설계하는 데 몇 달을 소비합니다.
아키텍처는 우아합니다.
코드는 이식성 (portable)이 있습니다.
문서화는 인상적입니다.
하지만 제품은 여전히 출시되지 않았습니다.
그동안 클라우드 특정 서비스 (cloud-specific services)를 사용하는 경쟁사는 더 빠르게 제품을 출시하고, 고객 피드백을 수집하며, 시장 점유율을 확보합니다.
기술적으로는 첫 번째 팀이 훌륭한 결정을 내렸습니다.
상업적으로는 그들이 패배했습니다.
미래 대비 (Future-Proofing)의 숨겨진 비용
많은 엔지니어링 팀은 어떤 대가를 치르더라도 벤더 종속 (vendor lock-in)을 피하도록 교육받습니다.
서류상으로는 합리적으로 들립니다.
실제로 종속을 피하는 것은 종종 그 자체의 비용을 발생시킵니다:
- 추가적인 엔지니어링 노력
- 더 높은 운영 복잡성 (operational complexity)
- 더 느린 개발 주기
- 더 큰 유지보수 부담
- 제품 출시 지연
아이러니한 점은 팀들이 때때로 결코 일어나지 않을 마이그레이션 (migration)으로부터 자신을 보호하기 위해 몇 년을 소비한다는 것입니다.
가상의 미래를 준비하는 비용이 위험 자체보다 더 커지게 됩니다.
왜 속도가 유연성보다 더 가치 있는 경우가 많은가
초기 단계의 기업들은 다른 규칙 세트 하에서 운영됩니다.
그들에게는 완벽한 인프라가 필요하지 않습니다.
그들에게는 모멘텀 (momentum)이 필요합니다.
관리형 데이터베이스 (managed databases), 클라우드 네이티브 AI 서비스, 서버리스 (serverless) 플랫폼, 그리고 제공업체 특정 도구 (provider-specific tooling)를 사용하는 것은 개발을 극적으로 가속화할 수 있습니다.
인프라를 관리하는 데 쓰지 않는 매 시간은 제품을 개선하는 데 쓰이는 시간입니다.
이 단계에서는 이식성 (portability)보다 속도가 더 많은 비즈니스 가치를 창출합니다.
목표는 가능한 모든 미래를 견뎌낼 수 있는 인프라를 구축하는 것이 아닙니다.
목표는 비즈니스가 미래를 누릴 자격이 있음을 증명하는 것입니다.
클라우드 불가지론 (Cloud-Agnostic)이 타당해지는 시점
조직이 성장함에 따라 우선순위가 변합니다.
수백만 명의 사용자를 서비스하는 기업은 스타트업이 겪지 않는 다음과 같은 과제에 직면합니다:
- 규제 준수 (Regulatory compliance)
- 지리적 확장 (Geographic expansion)
- 벤더 집중 리스크 (Vendor concentration risks)
- 엔터프라이즈 조달 요구사항 (Enterprise procurement requirements)
- 비즈니스 연속성 계획 (Business continuity planning)
그 시점이 되면 유연성 (flexibility)이 더 가치 있어집니다.
조직은 단일 클라우드 제공업체에 대한 깊은 의존성을 피해야 할 정당한 이유를 가질 수 있습니다.
한때 불필요한 복잡성이었던 것이 전략적 보험이 될 수 있습니다.
핵심적인 차이는 타이밍입니다.
아키텍처는 비즈니스 성숙도와 일치해야 합니다
GeekyAnts의 엔지니어링 팀이 공유하는 가장 실질적인 관점 중 하나는, 클라우드 아키텍처가 엔지니어링 철학보다는 비즈니스 단계와 일치해야 한다는 것입니다.
제품-시장 적합성 (product-market fit)을 최적화하는 스타트업은 회복 탄력성 (resilience)을 최적화하는 글로벌 엔터프라이즈와는 다른 우선순위를 가집니다.
두 접근 방식 모두 틀린 것은 아닙니다.
그들은 서로 다른 문제를 해결하고 있는 것입니다.
실수는 팀이 자신의 비즈니스를 검증하기도 전에 수십억 달러 규모의 기업을 위해 설계된 아키텍처 패턴을 채택할 때 발생합니다.
던져야 할 진짜 질문
다음과 같이 묻는 대신:
"우리는 클라우드 네이티브 (cloud-native)가 되어야 할까요, 아니면 클라우드 불가지론 (cloud-agnostic)이 되어야 할까요?"
이렇게 물으세요:
"지금 당장 우리에게 가장 중요한 비즈니스 결과는 무엇인가?"
만약 답이 성장이라면, 속도가 가장 중요할 수 있습니다.
만약 답이 회복 탄력성이라면, 유연성이 가장 중요할 수 있습니다.
만약 답이 규제 준수라면, 아키텍처 결정은 규제 준수를 지원해야 합니다.
기술은 비즈니스 목표를 뒷받침해야 하며, 그 반대가 되어서는 안 됩니다.
마치며
엔지니어가 저지르는 가장 비용이 많이 드는 클라우드 실수는 잘못된 제공업체를 선택하는 것이 아닙니다.
잘못된 데이터베이스 (Database)를 선택하는 것도 아닙니다.
잘못된 인프라 패턴 (Infrastructure pattern)을 채택하는 것도 아닙니다.
가장 비용이 많이 드는 실수는 비즈니스 현실을 무시한 채 기술적 이상향 (Technical ideals)을 위해 최적화하는 것입니다.
훌륭한 엔지니어링은 단순히 확장 가능한 시스템 (Scalable systems)을 구축하는 것만이 아닙니다.
그것은 비즈니스가 현재 처한 단계에 맞는 적절한 시스템을 구축하는 것입니다.
왜냐하면 최고의 아키텍처 (Architecture)는 가장 정교한 것이 아니기 때문입니다.
비즈니스가 앞으로 나아갈 수 있도록 돕는 아키텍처가 바로 최고의 아키텍처입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기