아빠가 말씀하셨다: Compute부터 시작하라. 이제 왜 그런지 알겠다.
Source: Dev.to
Introduction
아버지에게 Azure 학습을 시작했다고 말했을 때, 한 가지 질문을 받았습니다:
“어디서부터 시작했니?”
튜토리얼, 문서 몇 개, 포털 탐색을 언급했더니, 아버지는 간단히 답하셨습니다:
“컴퓨트부터 시작해라. 클라우드의 다른 모든 것은 그 위에 쌓여 있다.”
당시엔 당연하게 들렸습니다—애플리케이션은 실행될 컴퓨터가 필요하니까요. 하지만 Azure 안의 Compute 섹션을 열어보니, 아버지가 실제로 무슨 뜻인지 알게 되었습니다.
Why Compute Matters
튜토리얼에서는 클라우드 컴퓨팅이 매우 개념적으로 느껴집니다. 확장성, 고가용성, 분산 시스템, 관리형 서비스 같은 단어들이 떠다니지만, 그것들은 여전히 아이디어에 불과합니다.
Compute 섹션을 열면 추상이 사라집니다. 바로 눈앞에 구체적인 서비스들이 보이기 때문이죠:
- Virtual Machines
- Virtual Machine Scale Sets
- Images
- Availability Sets
처음 보면 다양한 서비스처럼 보이지만, 모두 하나의 질문을 중심으로 돌아갑니다: 코드가 실제로 어디서 실행되는가?
클라우드에 데이터베이스, API, 스토리지, 인증 등 다른 모든 것이 존재하려면, 코드를 실행할 무언가가 필요합니다. 그 무언가가 바로 컴퓨트입니다.
Virtual Machines: The First Layer
가상 머신이라는 개념은 이미 알고 있었습니다: 다른 컴퓨터 안에서 실행되는 컴퓨터. Azure에서 이를 보니 느낌이 달랐습니다. 노트북에서 VM을 실행하는 대신, Azure는 데이터 센터 어딘가에 컴퓨터를 제공해 줍니다.
이 인식은 다음과 같은 책임을 동반합니다:
- 운영 체제 관리
- 종속성 업데이트
- 리소스 사용량 모니터링
- 충돌 처리
- 확장 계획
클라우드가 마법 같은 “배포” 버튼이 아니라 실제 인프라가 되었습니다.
Platform Services vs. Compute
이 관점 덕분에 Vercel 같은 플랫폼을 더 잘 이해하게 되었습니다. 그곳에 프로젝트를 배포할 때는 다음을 거의 생각하지 않죠:
- CPU
- RAM
- 운영 체제
- 로드 밸런싱
이러한 문제들은 자동으로 처리됩니다. Azure도 App Service와 Functions 같은 서비스로 유사한 추상화를 제공하지만, 더 깊이 들어갈 수 있게 해줍니다. 가장 낮은 층에서는 머신이 존재합니다. 컴퓨트를 이해한다는 것은 건물 아래의 기초를 보는 것과 같습니다.
New Questions That Matter
컴퓨트에 집중하기 전에는 배포가 최종 단계처럼 느껴졌습니다: 코드, 푸시, 배포 클릭, 다음 단계. 컴퓨트를 탐색한 뒤에는 새로운 질문들이 떠오릅니다:
- 내 앱을 실행하고 있는 머신은 몇 대인가?
- 하나가 고장 나면 어떻게 되는가?
- 트래픽이 급증하면 어떻게 대응하는가?
- 이 머신들을 계속 운영하는 비용은 얼마나 되는가?
무료 티어를 탐색하려다 계정 문제가 생겨 크게 실험하지는 못했지만, 작은 탐색만으로도 클라우드가 덜 신비롭고 더 구체적으로 느껴졌습니다.
Conclusion
이 글은 Azure와 클라우드 아키텍처를 탐구하면서 배운 내용을 기록하는 짧은 시리즈의 두 번째 단계입니다. 첫 번째 글에서는 Azure Portal을 열고 클라우드 생태계가 얼마나 방대한지 깨달은 이야기를 다뤘습니다.
이제 나는 더 단순한 사실을 발견했습니다: 모든 것은 결국 머신으로 돌아간다. Compute는 클라우드가 추상에서 벗어나 엔지니어링으로 전환되는 지점입니다.
클라우드 플랫폼을 나보다 오래 사용해 본 분들은 언제 클라우드가 “딱” 와닿았나요? 나는 이제 막 첫 번째 층을 발견한 느낌입니다.