소프트웨어 전문지 마이크로소프트웨어 394호는 클라우드(Cloud)와 백엔드(Back-End)를 주제로 담았습니다. 도커, 오픈스택, PaaS, 마이크로 서비스 아키텍처 등 마소 394호의 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]
클라우드는 크게 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service)로 나눌 수 있다. 이 세 가지 중 어느 서비스 모델을 선택하느냐에 따라 구축 범위와 클라우드 제공 업체의 책임 범위가 달라진다.
오픈스택은 IaaS에 해당하는 사설 클라우드를 구축할 때 사용하는 오픈소스 프로젝트다. 공용 클라우드가 많이 발전했지만, 회사의 업무 특성이나 대외비 보관 등의 목적으로 인해 사내에 전용 클라우드 인프라를 구축해야 하는 경우는 얼마든지 있을 수 있다. 하지만 현재 대표적인 공용 클라우드 업체 3사에서 사내에 클라우드 서비스를 구축해 줄 수 있는 업체는 단 한 곳뿐이다. 상용 솔루션을 활용하더라도 사내 고유 환경과 100% 들어맞을 수 없고, 커스터마이징 또는 추가 개발 및 연동을 하고자 해도 자유롭게 구축하기에는 명확한 한계가 있다. 그렇다면 회사에서 선택할 수 있는 옵션은 ‘오픈소스’를 활용하는 것이다.
그러나 단순히 오픈스택이 오픈소스 프로젝트라는 이유만으로 지금까지 사랑받고 있는 것은 아닐 것이다. 다른 클라우드 오픈소스 프로젝트도 존재하지만, 오픈스택이 기업에서 가장 많이 사용될 뿐 아니라, 컨트리뷰터에 의해 활발하게 개발이 이어지고 수정되기 때문이다. 오픈소스를 도입해 본 엔지니어라면, 프로젝트의 지속성과 많은 참고 문서의 존재가 얼마나 중요한지 알고 있을 것이다. 현재 오픈스택은 포춘지 선정 100위 기업 중 50%가 이미 도입해 사용하고 있다.
오픈스택은 몇 개의 컴포넌트로 구성돼 있을까? 처음에는 하이퍼바이저를 이용한 가상 컴퓨팅, 스토리지, 운영체제 이미지 저장 정도로만 출발했으나, 현재 오픈스택 공식 홈페이지에 나와있는 컴포넌트의 총 개수는 40개다.
오픈스택에서 중요한 것을 뽑으라면 무엇이 있을까? 데브스택을 설치할 때 하나의 노드에 모든 서비스를 설치하지만, 실제 운영 환경이라면 오픈스택의 노드는 컨트롤러 노드, 컴퓨터 노드, 스토리지 노드로 나뉜다. 여기에 부합하는 서비스인 가상 컴퓨터, 저장소, 네트워크, 인증 등 4가지가 핵심이라고 볼 수 있다. 아마존이 처음 S3라는 스토리지 서비스와 EC2라는 컴퓨트 서비스를 시작한 것을 떠올린다면, 쉽게 이해할 수 있을 것이다.
인프라 가상화로 출발한 오픈스택은 이제 클라우드 시장 내에서 많은 사용자를 확보하고 안정기에 접어들었다고 할 수 있다. 또한 현재 클라우드 시장의 트렌드는 공용 클라우드 혹은 사설 클라우드만 사용하는 것에서, 둘을 병행해 사용하는 하이브리드 클라우드 사례가 늘고 있다. 오픈스택은 다양한 환경에 적용되기 위한 컴포넌트 개발이 활발하기 때문에, 앞으로도 발전 가능성이 충분하다고 할 수 있다.
오픈스택은 클라우드를 운영하는 엔지니어와 오픈소스에 기여하기를 원하는 개발자에게 아주 좋은 프로젝트가 될 수 있다. 운영자는 오픈소스를 통한 노하우 공유로 도움을 주거나 개발자와 상호 교류할 수 있고, 개발자는 수많은 개발자의 집단 지성과 노하우가 들어간 코드를 보며 프로젝트 개발에 참여할 수 있다.
클라우드와 네트워크 개발에 관심 있는 개발자 및 운영자 그리고 IT 종사자 모두 참고하는 데 매우 유용한 프로젝트가 될 것이라 생각한다.
장태희 필자의 사설 클라우드의 끝판왕 오픈스택에 대한 자세한 내용은 ‘마이크로소프트웨어 394호(https://www.imaso.co.kr/archives/3939)’에서 확인할 수 있다.
- [마소 394호] 플라스크 효과적으로 사용하기
- [마소 394호] 스토리체인이 사이드체인을 선택하기까지
- [마소 394호] 모바일 앱 테스트 자동화용 디바이스팜 구축
- [마소 394호] 되돌아 보는 1만 개의 클라이언트 문제
- [마소 394호] 클릭만으로 도커 개발 환경을 완성시켜주는 애저 PaaS
- [마소 394호] DDD와 MSA로 쇼핑몰 구축하기
- [마소 394호] 이스티오 서비스 메시를 이용한 MSA 구축
- [마소 394호] 제대로 구성하는 마이크로서비스 아키텍처
- [마소 394호] 아마존 API 게이트웨이와 AWS 람다로 구성하는 다운로드 서버
- [마소 394호] AWS EC2와 트래비스CI를 활용한 무중단 배포 서비스
- [마소 394호] 스타트업의 좌충우돌 CI/CD 구성
- [마소 394호] AWS 이메일 서비스 써보니
- [마소 394호] 클라우드의 성능 품질 이야기
- [마소 394호] 클라우드 시대 토종 호스팅 업체의 변신
- [마소 394호] 데이터베이스의 게임 체인저, 오라클 클라우드
- [마소 394호] 알아두면 쓸데없는 신비한 TLS 1.3
- [마소 394호] 다시 보는 PaaS, 어디서 와서 어디로 가는가
- [마소 394호] 코드로 관리하는 인프라스트럭처, 테라폼
- [마소 394호] 더 웨더 컴퍼니의 데브옵스
- [마소 394호] 개발운영 퀀텀 점프를 위한 도커
- [마소 394호] IT 서비스와 모니터링 역사
- [마소 394호] 오픈스택 커뮤니티 동고동락
- [마소 394호] 데브옵스를 꿈꾸는 개발자를 위한 안내서
- [마소 394호] RxJava로 생각하기