Azure

AWS만 쓰던 사람이 Azure 써 보는 이야기: (4) 컨테이너

AWS만 썼던 사람이 Azure 쓰는 이야기 마지막 편으로 컨테이너 관련 서비스를 살펴 보겠습니다.

컨테이너가 나오기 전에는 서버에 필요한 것들을 세팅하고, 애플리케이션 소스나 실행 파일을 올리는 형태로 서비스를 제공했습니다. 관리해야 할 서버 개수가 늘어나면서 서버 관리 방법이 복잡해졌는데요. Ansible, Chef와 같은 구성 관리 툴 덕분에 많은 서버에 같은 설정을 쉽게 수행할 수 있게 되었습니다.

그러다가 Docker와 같은 컨테이너 빌드 툴이 나왔습니다. Dockerfile을 작성하고, 빌드만 하면 애플리케이션에 필요한 의존성과 애플리케이션을 컨테이너 이미지로 배포할 수 있게 되었습니다. 그리고 컨테이너 개수가 급격하게 많아지면서, 컨테이너 기반 애플리케이션을 어떻게 운영해야 할 지 고민하게 되었죠. 그동안 다수의 컨테이너를 운영하기 위한 많은 방법이 나왔지만, 결국 Kubernetes로 수렴하는 것 같습니다. 일단 AWS, Azure 외에도 많은 클라우드 서비스들이 Kubernetes는 기본적으로 지원하는 것만 봐도 알 수 있습니다.

AWS만 쓰던 사람이 Azure 써 보는 이야기: (3) 스토리지

1편, 2편에 이어서 AWS만 써 온 사람이 Azure를 사용해 보는 이야기를 이어가겠습니다. 저는 인프라의 가장 중요한 구성요소는 네트워크, 컴퓨팅 리소스, 스토리지라고 생각하는데요. 이번 글에서는 인프라의 가장 중요한 요소 중 하나인 스토리지에 대한 이야기를 해 보겠습니다.

Azure의 스토리지 서비스 비교하기

파일을 저장할 곳을 생각한다면 다음과 같은 기준으로 선택을 하지 않을까 싶습니다.

  • 서버 내 파일 시스템에 마운트 하는 HDD/SSD → 블록 스토리지
  • 서버에 마운트하지 않고, 자유롭게 업로드/다운로드 하는 스토리지 → 객체 스토리지
  • 여러 서버에서 동시에 연결할 수 있는 스토리지 → 네트워크 스토리지 (NFS/SMB 프로토콜 기반)

AWS와 Azure에서 각각의 용도에 맞는 서비스를 비교해 보면 다음과 같습니다. 하나씩 살펴보시죠.

AWS만 쓰던 사람이 Azure 써 보는 이야기: (2) 서버

지난 글에 이어서 AWS만 써 온 사람이 Azure를 사용해 보는 이야기를 계속하겠습니다. 이번 글에서는 AWS와 비교해서 Azure에서 가상 머신을 관리하는 방법을 이야기 해 보려고 합니다. 이번 글에서는 Azure CLI와 Terraform을 사용하는 경우가 많아서 이러한 툴이 설치되어 있으면 좋습니다.

글이 길어서 이번 글에서 다루는 내용을 간단하게 요약하겠습니다. 아래 내용을 참고해 주세요.

  • EC2 vs 가상 머신
    • 서버 크기 선택
    • OS 이미지 선택
    • 네트워크 설정
    • SSH 키 페어 관리
  • 오토 스케일링 그룹 vs VMSS(가상 머신 확장 집합)

가상 머신

AWS의 EC2와 같은 서비스로 Azure의 가상 머신(Virtual Machines) 서비스가 있습니다. 포털에서 가상 머신을 만드는 방법을 전부 알려드리지 않고, 차이점 위주로 설명해 보겠습니다.

AWS만 쓰던 사람이 Azure 써 보는 이야기: (1) 네트워크

제 커리어를 되돌아 보니, 저는 인프라를 구축하고 운영할 때 AWS만 사용해 왔습니다. AWS가 국내 뿐만 아니라 전세계에서 가장 시장 점유율이 높은 서비스임이 분명하지만, 실제로 인프라를 운영하는 입장에서는 다른 클라우드를 사용하는 경우도 많습니다. 게다가 많은 기업들은 여전히 데이터 센터에 서비스 인프라를 구축하기도 합니다. 현재 재직 중인 회사에서 개발한 솔루션은 다양한 인프라 환경에 배포하는 것을 전제로 하고 있는데요. 그러다가 최근 회사에서 Azure를 사용해 볼 수 있는 기회가 생겨서 Azure를 사용해 보았습니다. 만약 다른 클라우드 환경을 사용하게 된다면, 어떤 부분에 집중해서 인프라를 구성할 지에 대해 기록해 보려고 합니다.