클라우드서비스 씨앗

씨앗소식

씨앗 이슈리포트
[2019-11] CLOUD ISSUE 02 클라우드 파운드리 유럽 서밋에서 바라다 본 클라우드 파운드리의 진화 상세보기
[2019-11] CLOUD ISSUE 02 클라우드 파운드리 유럽 서밋에서 바라다 본 클라우드 파운드리의 진화 게시글 정보입니다.
2019.10.15 16:39
[2019-11] CLOUD ISSUE 02 클라우드 파운드리 유럽 서밋에서 바라다 본 클라우드 파운드리의 진화
02 클라우드 파운드리 유럽 서밋에서 바라다 본 클라우드 파운드리의 진화

클라우드 파운드리(CF)와 CF 재단

국내에서도 민간과 정부의 협업으로 개발한 PaaS 플랫폼인 파스-타(PaaS-TA) 플랫폼의 기반이 되는 클라우드 파운드리(CF) 플랫폼은 원래 VM웨어에서 시작한 제품이며, 아주 초기의 PaaS의 사례인 히로쿠 (Heroku)를 흉내내기 위한 시도였다고 클라우드 파운드리 재단의 CTO인 칩 칠더스가 얘기했다.1) 히로쿠는 클라우드에서 루비(Ruby) 애플리케이션을 쉽게 동작하게 하기 위한 방식으로 2009년에 시작했다.

VM웨어의 프로젝트는 EMC와 협력으로 2012년 피보탈(Pivotal)로 넘어 갔고, 이후 IBM, SAP 등이 협력하면서 오픈소스가 되었다. IBM의 블루믹스 PaaS는 2014년에 론칭했으며, CF를 구현한 것이다. 이후, 수많은 기업이 CF를 사용하면서 오픈 소스 프로젝트를 관리하기 위해 2015년 1월에 클라우드 파운드리 재단이 설립되었다.

CF는 콘테이너가 인기를 얻기 전부터 콘테이너의 초기 사용자라고 CTO 칠더스는 주장한다. 사실 도커는 2013년까지 론칭되지 않았기 때문이다. 그렇지만 CF의 배치 유닛은 ‘코드’라고 주장한다. 사전에 구워진 어떤 것이 아닌 코드로 전달할 때 개발자들은 더 많은 일을 할 수 있다는 뜻이다. 이는 CF 플랫폼을 가장 특징짓는 큰 아이디어이고, 개발자는 애플리케이션 코드를 작성한 후 이를 CF에 cf push 명령어로 보내며, 디에고(Diego)라는 컴포넌트가 이를 받아 콘테이너에 애플리케이션을 구축하는 과업을 수행한다.

사실 디에고는 말장난에서 비롯되었다고 하는데, 클러스터 안의 각 노드를 DEA(Droplet Execution Agent)라고 불렀고 초기에는 모든 것을 루비로 작성했는데, 이후 고(Go) 프로그래밍 언어로 전환했다. 그래서 DEA가 GO로 작성되었기에 디에고(DEAGO)라고 부른 것이다.

빌드 과정은 빌드팩(buildpack)이라고 부르는 컴포넌트를 사용하는데, 이 빌드팩이 콘테이너를 구현한다. 쿠버네티스 이전의 CF 아키텍처는 두 개의 중요한 레이어가 있는데, 하나는 CF 애플리케이션 런타임(CFAR)라는 PaaS이고, 다른 하나는 보쉬(BOSH)라는 도구이다. CF 환경에서 배치하는 과정에는 보쉬가 통신할 수 있는 API를 가진 인프라가 필요하다. 퍼블릭 클라우드, VM웨어의 브이스피어(vSphere)가 가상화를 위한 베어메탈 프로비저닝 시스템이 된다. 보쉬는 클라우드 인프라가 CF 플랫폼을 동작하도록 준비하는데, 많은 소프트웨어가 보쉬가 배치되기 위해 패키지화되었다.

CF는 현재 포츈 500대 기업의 50% 이상이 사용하고 있으며, CF 재단에 따르면 이 플랫폼에서 개발은 지속적으로 증가해, 한 달에 5만 번 이상의 커밋이 이루어지고 있다. 현재 CF재단의 주요 프로젝트는 CF애플리케이션 런타임, CF 콘테이너 런타임, 보쉬(BOSH), 오픈 서비스 브로커 API. 에이리니(Eirini), CF 컨테이너라이제이션, 아바쿠스, CF-로컬, 크레드허브(CredHub), 서비스패브릭, 스트라토스 등이 있다.

2017년 CF 서밋에서는 온라인 마켓플레이스 ‘더 파운드리’를 공개했으며 당시 약 3천 명의 커뮤니티 컨트리뷰터에게 공개되었다. 여기에는 현재 인증된 배포 회사 7 곳, 시스템 통합 회사 2 곳, 인프라 제공자 10 곳, 서비스&인테그레이션 207 곳, 교육훈련 14 곳, 컨설팅과 인테그레이터 5,407 곳이 등록되어 있다.

더 파운드리 마켓플레이스

그림 1 더 파운드리 마켓플레이스

CF를 K8s로 이전하기

지난 몇 년 동안 재단은 플랫폼을 쿠버네티스로 이전 하는 데에 많은 노력을 기울였다. CF의 초점은 개발자 경험에 있으며, 개발자 입장에서는 ‘여기 내 코드가 있고 이를 클라우드에서 실행해 달라. 어떻게는 상관 안한다’라는 것이라고 2015년 클라우드 파운드리 서밋에서 피보탈의 수석 부사장인 온시 파쿠리(Onsi Fakhouri)가 말했다. 개발자는 개발에 집중하고 미들웨어/인프라는 신경 안 쓰게 한다는 뜻이다. 그 반면 쿠버네티스는 복잡한 클러스터 토폴로지나 상대적으로 복잡한 배포, 자원 관리 등이 있지만 기업의 입장에서는 니즈에 맞게 세밀한 튜닝이 가능한 플랫폼이다. 따라서 쿠버네티스가 운영 플랫폼으로 빛난다면, CF는 개발자들이 쉬운 사용성에 긍정적이라고 볼 수 있다.

CF 개발자 경험을 디에고 클러스터가 아닌, 쿠버네티스 클러스터를 동작하면서 유지하게 만드는 여러 가지 방안이 있었다. 여기에는 세 가지 중요 프로젝트가 있는데, 첫 째가 CF 콘테이너 런타임(예전에 프로젝트 쿠보라고 부름)은 쿠버네티스의 인증된 배포이고, 쿠버네티스 클러스터를 관리하는데 보쉬를 계속 사용하는 것이다. 이것이 피보탈의 PKS(비포탈 콘테이너 서비스)의 기본이다.

쿠버네티스와 클라우드 파운드리 비교 [출처: jaxenter.com]

그림 2 쿠버네티스와 클라우드 파운드리 비교 [출처: jaxenter.com]

두 번째는 프로젝트 쿼크스(Quarks)이다. 이는 CFAR를 도커 이미지로 패키징해서 쿠버네티스로 배치할 수 있게 한다. 한 번 배치되면 더 이상 보쉬가 필요하지 않다. 프로젝트 쿼크스는 클라우드 파운드리 애플리케이션 런타임을 가상 머신이 아닌 콘테이너로 만들어 쿠버네티스를 쉽게 활용할 수 있게 만들기 위한 프로젝트이다. 이제 베타에 들어간 프로젝트이며 클라우드 파운드리 사용자에게 초기 시험 버전만 사용 가능하다.

프로젝트 쿼크스 로고

그림 3 프로젝트 쿼크스 로고

세 번째는 프로젝트 에이리니(Eirini)이다 (과거에는 “큐브 Cube”라고 불렀다). 이는 API로 애플리케이션을 디에고 셀이 아닌 쿠버네티스 팟(pod)에 배치하도록 한다. 에이리니는 CF를 위한 쿠버네티스 백엔드라고 부른다.2) CF 앱을 OCI 이미지와 큐브 배치를 사용해 큐브 백엔드에 배치하도록 한다. 2018년 유럽 서밋에서 발표되었지만 론칭 후 1년도 안되어서 CF의 모든 인증된 제공자로부터 지지를 받고 있다. 프로젝트 에이리니의 현재 모든 구현은 프리뷰 상태이지만 CTO 칠더스는 6개월 후에 일반에게 공개될 것으로 보고 있다.

프로젝트 쿼크스 로고

그림 4 프로젝트 쿼크스 로고

그러나 디에고 역시 진화하고 있는 중이고 쿠버네티스 기능의 일부는 디에고에 구현되기도 하고 반대로 디에고의 기능이 쿠버네티스에 반영되기도 한다. 따라서 CF와 쿠버네티스를 결합하는 것은 CF 커뮤니티에는 필수적인 스텝이다.

클라우드 파운드리 유럽 서밋

2019년 9월 네덜란드 헤이그에서 열린 클라우드 파운드리 유럽 서밋은 전 세계에서 700 명이 넘는 기업 개발자, 아키텍트, 엔지니어, 임원들이 참석을 했으며 CF의 로드맵, 훈련, 튜토리얼에 참석했고 다른 사람들이 지속적인 혁신과 애플리케이션 이식성을 위해서 CF를 어떻게 사용하는가를 살펴보았다.3) 이 행사는 클라우드 네이티브 컴퓨팅 재단(CNCF)의 후원을 받았다.

이번 서밋에서 IBM은 레드햇의 오픈시프트 콘테이너 플랫폼에 CF 엔터프라이즈 환경을 선보였다.4) 이는 그 동안 CF PaaS와 레드햇의 쿠버네티스 중심 오픈시프트는 경쟁 상태였고, 둘 다 모두 애플리케이션 개발과 딜리버리 플랫폼을 현대화하고자 하는 기업 고객을 확보하고자 했다.

최근 이런 동향이 크게 바뀌고 있다. 기술적으로는 CF가 쿠버네티스를 애플리케이션 배치를 위한 옵션으로 선택하고 있고, 사업적으로는 IBM이 레드햇을 인수한 후 그 동안 IBM이 사용한 CF를 레드햇 플랫폼에서 지원하기 위해 작업하고 있다. 일단은 CF 사용자들이 오픈시프트에서 바로 애플리케이션을 배치할 수 있는 옵션을 제공하고 오픈시프트 개발자에게는 CF 경험을 제공하는 기술적 실험을 하는 중이다.

이번에 CF 재단에서 발표한 핵심 프로젝트로는 스트라토스와 프로젝트 쿼크스(Quarks)가 있다. 프로젝트 스트라토스는 수세(SUSE)에 있는 팀에 의해 주도되는 CF 커뮤니티를 위한 오픈 소스 웹 기반 사용자 인터페이스(콘솔)이며, 인큐베이팅 프로젝트에서 공식적으로 졸업한 프로젝트이다.

프로젝트 스트라토스 화면 [출처: 깃허브]

그림 5 프로젝트 스트라토스 화면 [출처: 깃허브]

사실, 수세는 그 동안 개발했던 오픈스택 클라우드를 더 이상 판매하지 않기로 하고 클라우드 애플리케이션 플랫폼을 CF 플랫폼과 쿠버네티스 기반 콘테이너 플랫폼으로 방향을 전환하기로 한다고 10월에 공식 선언했다.5)

이 밖에도 주요 멤버에서 발표한 내용은 다음과 같다.

  • 피보탈 - 피보탈은 쿠버네티스 위에 올라가는 피포탈 애플리케이션 서비스 (PAS)의 알파 버전을 발표했다. 또한 쿠버네티스를 사용할 때 개발자와 운영자의 경험을 개선할 PAS 기능에 기반을 둔 신제품을 발표했다. 올해 초에 이 회사는 피보탈 스프링 런타임을 일반에게 공개했고, 비포탈 서비스 메쉬의 알파 버전을 소개했다. 이번에 세 번째 제품의 알파 버전을 선 보였는데, 피보탈 빌드 서비스이다.
  • 스위스콤(Swisscom) - 스위스콤 애플리케이션 클라우드에서 개발자 경험을 새로운 수준으로 올리는 기능을 발표했다. 즉, 한 번의 스위스콤 로그인으로 다중의 빌드팩 지원, 새롭게 가능해진 v3 API 등을 말한다. 또한 엔터프라이즈 서비스 클라우드에서 PKS 기반의 콘테이너 서비스의 일반 공개를 선언했다. CF 재단의 주요한 후견자인 스위스콤은 CF 에코시스템의 미래 아키텍처 방향을 적극 지원하기로 했으며, 에이리니(Eirini)와 쿼크스 프로젝트에 큰 관심을 표명했고, 쿠버네티스를 지렛대로 사용하는 PaaS 솔루션 추가 개발에 대한 가능성을 밝혔다.
  • 컨티뉴어스 딜리버리 얼라이언스 (CDA: The Continuous Delivery Alliance) - 재단 멤버인 리실리언트 스케일, 수퍼 오비탈, 스타크앤웨인, 그리고 테크플로우가 구성한 CDA는 미국 조달청 (GS)의 기술 전환 서비스 (TTS)에 의해 선정되어 정부의 cloud.gov 플랫폼을 지원하고 개선하기로 했다. Cloud.gov 역시 CF 오픈 소스 에코시스템 기반으로 구축되었으며, 개발 팀이 부처의 미션을 수행하기 위한 제품에만 집중하고 하위 서버 인프라에 대한 관리나 컴플라이언스에 지나친 비용을 사용하지 않도록 했다.
  • 애니나인스(anynines) - a9s 콘테이너를 제공하는 a9s 플랫폼의 확장을 공개했다. 여기에는 온디맨드 쿠버네티스(K8s) 서비스, a9s 하버(Harbor)에 기반한 콘테이너 등록 서비스, K8s 클러스터를 관리하기 위한 콘테이너 콘솔 등을 포함한다.
  • 아쿠아 시큐리티 – 피보탈 애플리케이션 서비스(PAS) 애플리케이션을 런타임에서 보호하기 위한 새로운 런타임 보호 기능을 일반 공개했다.
  • 스타크앤웨인 – 쉴드 v8.4를 배포한다고 발표했는데, 이는 CF, 쿠버네티스, 그리고 다른 클라우드 플랫폼의 데이터 보호를 제공한다.
  • 다이믈러는 프랑크푸르트에 새로운 데이터센터를 열 것이고 소프트웨어 정의 데이터센터 개념과 CF 멀티 사이트 시나리오를 사용할 것이라고 발표했다.

CF 재단은 최근 CF 인증 개발자 시험을 업데이트 했는데, 버전 2.0인 공개되었고 온라인상에서 완료할 수 있다고 한다. 새로운 시험은 CF 플랫폼의 최신 기능을 반영하고 있으며, 적극적으로 사용하는 개발자에 맞춰져 있다고 한다.

참고문헌

  1. The Register, “Created to mimic Heroku: Cloud Foundry explained by its chief technology officer,” Sep 18, 2019
  2. http://eirini.cf/#/ 참조
  3. Container Journal, “Developers Across Europe Descend on The Hague for 2019 Cloud Foundry Europe Summit,” Sep 11, 2019
  4. TechCrunch, “IBM brings Cloud Foundry and Red Hat OpenShift together,” Sep 12, 2019
  5. Fierce Telecom, “Suse grounds its OpenStack Cloud in favor of Kubernetes and containers,” Oct 9, 2019