루비를 활용한 클라우드 관리: Nifty Cloud 사례를 중심으로

[29M01] Cloud management with Ruby (ja)

작성자
RubyKaigi
발행일
2025년 10월 05일

핵심 요약

  • 1 Nifty Corporation은 다수의 내부 서비스에 Ruby on Rails를 활용하며, 클라우드 인프라 관리 자동화를 위해 Ruby 기반 도구 및 SDK 개발에 집중하고 있습니다.
  • 2 클라우드 컴퓨팅(IaaS)은 '프로그래밍 가능한 데이터 센터' 개념을 통해 서버 조달부터 미들웨어 설정까지 인프라 작업을 자동화하여 개발자의 애플리케이션 개발 집중을 돕습니다.
  • 3 Wakame-hueman과 같은 Ruby 기반 클라우드 컨트롤러는 스케일 아웃/인 등 복잡한 클라우드 운영 절차를 자동화하여 효율적인 시스템 관리를 가능하게 합니다.

도입

본 발표는 Nifty Corporation이 Ruby 언어를 활용하여 클라우드 인프라를 효율적으로 관리하는 방법과 자사의 Nifty Cloud 서비스 사례를 소개합니다. Nifty는 Ruby on Rails를 기반으로 다양한 웹 및 CGM(Consumer Generated Media) 서비스를 개발해왔으며, 오픈 소스 플러그인 제공, 대학 기부 강좌, RubyKaigi 후원 등 Ruby 커뮤니티에 적극적으로 기여하고 있습니다. 특히, 클라우드 컴퓨팅이 제공하는 '프로그래밍 가능한 데이터 센터'의 이점을 극대화하여 인프라 운영의 자동화를 목표로 하고 있습니다.

클라우드 컴퓨팅과 엔지니어의 역할

클라우드 컴퓨팅은 네트워크를 통해 컴퓨터 처리 능력을 서비스 형태로 이용하는 것을 의미하며, 소유에서 이용으로의 패러다임 전환을 가져왔습니다. 특히 IaaS(Infrastructure as a Service)는 서버, 네트워크 등 인프라를 제공하는 형태로, 엔지니어에게는 ‘프로그래밍 가능한 데이터 센터’로서의 가치를 제공합니다. 이는 수동으로 진행되던 인프라 작업을 프로그램으로 자동화하여 휴먼 에러를 줄이고 개발자가 핵심 애플리케이션 개발에 집중할 수 있도록 돕습니다.

인프라 작업의 자동화 필요성

기존 애플리케이션 출시를 위한 인프라 작업은 설계, 서버 조달, 네트워크 설정, 미들웨어 설치 및 설정(Apache, MySQL 등), 로깅, 권한 설정, 모니터링 툴(Munin, Puppet, God) 도입 등 복잡하고 반복적인 과정으로 이루어집니다. IaaS 도입으로 서버 조달 및 네트워크 설정은 GUI나 API를 통해 몇 분 내에 가능해졌지만, 미들웨어 설정과 같은 부분은 여전히 수동 작업이 필요하여 완전한 자동화가 이루어지지 않는 한계가 있었습니다.

Ruby 기반 클라우드 관리 도구

이러한 한계를 극복하고 모든 인프라 절차를 자동화하기 위해 Ruby 기반의 다양한 클라우드 관리 도구가 등장했습니다. Amazon Web Services(AWS)의 경우 aws-sdk-ec2, aws-sdk와 같은 Ruby SDK는 물론, ec2-rails, 그리고 Wakame-hueman과 같은 클라우드 컨트롤러가 있습니다.

Wakame-hueman: 클라우드 컨트롤러

Wakame-hueman은 클라우드를 쉽게 사용하기 위한 원격 절차 실행 엔진으로, Ruby로 작성된 오픈 소스 소프트웨어입니다. 이는 스케일 아웃(Scale-out) 및 스케일 인(Scale-in)과 같은 클라우드 운영 절차를 쉽게 구축할 수 있도록 지원합니다. Wakame Master가 각 서버의 Wakame Agent 및 IaaS 자체에 명령을 실행하여 인프라 설정 작업을 자동화합니다. 예를 들어, 갑작스러운 트래픽 증가 시 Nifty Cloud와 Wakame-hueman을 연동하면 단 한 줄의 명령으로 웹 서버를 증설하고 로드 밸런서에 자동으로 추가하는 작업을 수행할 수 있습니다.

Nifty Cloud 서비스와 미래

Nifty Cloud는 인터넷을 통해 서버, 네트워크 등 인프라를 제공하는 IaaS 서비스입니다. 5분 이내 서버 준비, 시간당 12엔부터 시작하는 종량제 과금, 쉬운 스펙 변경 및 스케일링이 특징입니다. Nifty는 @nifty 서비스를 운영하며 쌓은 높은 운영 실적을 바탕으로 약 160개의 자사 서비스를 Nifty Cloud에서 운영 중입니다.

Nifty Cloud는 향후 클라우드 API(현재 SOAP 베타, REST 버전 예정) 및 Ruby SDK를 제공하여 자동화 기능을 더욱 강화할 계획입니다. 또한 서버 복사 기능, 자동 스케일링, 기본 모니터링 기능(CPU, 메모리), 리소스 상황 그래프 리포트 등 다양한 신규 기능을 개발 중입니다. Nifty Cloud는 엔지니어의 일상적인 작업을 간소화하고 반복적인 작업을 자동화하는 데 기여하고자 합니다.

결론

Nifty Corporation은 Ruby 언어의 강력한 이점을 활용하여 클라우드 인프라 관리의 자동화를 적극적으로 추진하고 있습니다. '프로그래밍 가능한 데이터 센터'라는 IaaS의 본질적 가치를 실현하기 위해 Wakame-hueman과 같은 Ruby 기반 도구를 통해 복잡한 인프라 운영 절차를 간소화하고 있습니다. Nifty Cloud는 국내 서비스로서 낮은 지연 시간을 강점으로 내세우며, 향후 Ruby SDK와 다양한 자동화 기능을 추가하여 엔지니어들이 더욱 쉽고 효율적으로 클라우드를 활용할 수 있는 환경을 제공할 계획입니다. 이는 Ruby 개발자들에게 Nifty Cloud를 통한 새로운 클라우드 관리 및 애플리케이션 배포 경험을 제공할 것으로 기대됩니다.

댓글 0

댓글 작성

0/1000
정중하고 건설적인 댓글을 작성해 주세요.

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!