brunch

You can make anything
by writing

C.S.Lewis

by 안영회 습작 Feb 10. 2023

CNCF는 PaaS를 대체한다

베터코드 인사이트의 시작 17편

이번에는 지난 글에서 예고한 대로 Cloud Native Computing Foundation (CNCF)에 대해 쓸 예정이다. 다만, 이전에는 강한 자극을 준 표를 기준으로 상상에 기초해서 글을 썼는데 CNCF는 이미 한글로 된 글이 꽤 있을 듯하여 이들을 조사한 후에 생각을 덧붙이는 식으로 진행한다.


Cloud Native Computing Foundation (CNCF)

그래도 애초의 두 원문의 간략한 설명을 보는 일은 의미가 있을 듯하다. 테크 자이언트들이 어떻게 소개했느냐 하는 관점이 드러나기 때문이다. 먼저 오라클의 웹 문서 소개 내용을 보자.

The CNCF was formed in 2015 in response to the abundance of organizations and services adopting cloud native systems. A project created by the Linux Foundation, the CNCF is an open source software foundation that promotes the adoption of cloud native technologies. CNCF has more than 400 members, including public cloud providers, enterprise software companies, and technology startups. Microsoft, Oracle, VMware, Intel are some of the Platinum members of CNCF.

몇 가지 눈에 띄는 사실을 추리면 2015년 리눅스 재단에 의해 만들어진 프로젝트이며, 오라클 외에도 마이크로 소프트나 인텔 등의 테크 자이언트가 회원사로 있다. 다음 단락의 내용은 이전 글에서 필자가 짐작한 내용과 일치한다.

The CNCF exists to ensure that cloud native technology is accessible, available, and reliable. It fosters a community that’s dedicated to projects such as Kubernetes, Prometheus, and CoreDNS, while supporting organizations that build sustainable environments that orchestrate containers within a microservice architecture.

<Cloud Native가 만드는 규모의 경제>편 자체가 위 글과 상응하지만, 앞부분의 관련 내용을 발췌해 보자.

각각은 별도의 노력이 필요하지만, 규모의 경제는 인프라의 집적과 응용의 집적이 함께 만날 때 극대화된다

인프라 기술 집적에 전념하고(dedicated to projects such as Kubernetes, Prometheus, and CoreDNS) 동시에(while) 마이크로 서비스 아키텍처 다시 말해서 Cloud Native에 걸맞은 모듈 형태의 소프트웨어 구축하는 조직을 돕겠다고(supporting organizations that build sustainable environments that orchestrate containers within a microservice architecture) 말한다. 엄밀히 따지고 들어가면 표준(sustainable environments that orchestrate containers) 자체에 대한 제약이 있다. 이는 리눅스 재단의 정체성이 걸린 문제이니 커다란 제약사항으로 보기 어렵다. MS의 새로운 수장이 리눅스를 사랑한다는 표현을 내걸고 혁신을 끌어갈 때, 적어도 클라우드 위에서 운영체제는 하나로 통일된 것처럼 보였다.


CNCF Cloud Native Landscap

오라클 문서에서는 뒤 이어 Cloud Native Landscape를 설명한다. Cloud Native로 이행하기 위한 청사진으로 제시한 듯하다.

landscape.cncf.io에 접근하면 상호작용 형태의 Landscape를 볼 수 있다. 종전에 PaaS라고 불리던 영역이 2개 계층(Orchestration & Management, App Definition and Development)으로 분화되고, 각 계층이 또 여러 개의 기능 분류로 묶여서 Landscape를 구성하고 있다. 청사진이면서 동시에 시장(marketplace)이기도 하다. 불과 10년 전쯤 뜨겁던 PaaS란 개념은 이제는 낡은 용어로 사라진 듯하다. 그러고 보니 요즘 주변에 그런 말을 쓰는 사람도 없네.


이번에는 아마존 웹 문서의 CNCF 소개를 보자. 아마존은 한 단락만 할애하고 있다.

The Cloud Native Computing Foundation (CNCF) is an open-source foundation that helps organizations kick start their cloud-native journey. Established in 2015, the CNCF supports the open-source community in developing critical cloud-native components, including Kubernetes. Amazon is a member of CNCF.

오라클만큼 큰 기대를 걸고 있지는 않다는 사실을 알 수 있다. 내부 구성이 어떻든 그냥 AWS를 쓰는 고객들이 많은데, 외부 전문가(리눅스 재단)에 의한 기술 촉진을 특별히 기대할 이유가 없다. 클라우드 후발주자들이 CNCF발 변화에 대해 기대하는 바가 더 많은 것은 당연한 이치다. 하지만, 강자인 아마존도 거대한 흐름에 뒤떨어질 수는 없으니 회원사로 참여한다고 짐작할 수 있다.


불변(Immutable) 인프라와 선언형(Declarative) API

이제 한글로 된 CNCF 설명 문서를 훑어볼 시간이다. 구글링 첫 페이지 결과 중에서 오픈나루의 웹 문서가 가장 충실했다. 두 가지 사실 정도가 앞서 배운 바에 덧붙일 내용이다.


하나는 클라우드 네이티브 선언문(Cloud Native Definition v1.0)에 등장하는 문구다.

클라우드 네이티브 기술은 조직이 퍼블릭, 프라이빗, 그리고 하이브리드 클라우드와 같은 현대적이고 동적인 환경에서 확장 가능한 애플리케이션을 개발하고 실행할 수 있게 해 준다. 컨테이너, 서비스 메쉬, 마이크로서비스, 불변(Immutable) 인프라, 그리고 선언형(Declarative) API가 이러한 접근 방식의 예시들이다.

프로그래밍 배경 지식이 필요한 내용이라 모든 독자들에게 이해할 수 있게 설명할 수는 없지만, '불변(Immutable) 인프라, 그리고 선언형(Declarative) API' 등은 재사용 관점에서는 이상적인 형태를 추구한다는 의미가 된다. 불변(Immutable)은 상태에 의존하여 다르게 작동하는 까다로움을 제거하는 일인데, 매번 똑같이 돌아간다는 것이 보장된다면 재사용 입장에서는 최고의 상황이 된다. 그리고, 선언형(Declarative)은 짐작하기에는 AI의 힘을 이용하려는 의도처럼 보인다. 아무튼 뜻만 보면 선언만 하고 구체적인 사항은 공급자가 선택지를 제공하려는 움직임으로 추정할 수 있다.


CNCF의 기술 성숙도 관리

마지막으로 눈에 띄는 내용은 CNCF가 하위 프로젝트(단위 기술과 그 개발 공정을 동시에 뜻함)의 기술 성숙도를 관리하는 체계다. 이미 아파치 재단에 익숙한 분들은 거의 유사하다는 사실을 눈치챌 것이다. 인프라 사용자(소프트웨어 개발 조직이나 개발자) 입장에서 선택을 쉽게 해 주겠다는 의도다.[1]

CNCF의 프로젝트 페이지에 가서 보니 2023년 1월 현재 모두 20개의 기술이 졸업(graduated) 단계에 있었다.


맺음말

애초에 링크드인을 통해 받아 본 이미지의 '데브옵스' 정의 때문에 이어온 글이다. 글을 쓰는 과정에서 Cloud Native의 잠재력을 깨닫게 되었고, CNCF의 활동과 회원사 규모 등을 보니 내 입장(?)에서는 꼭 알고 있어야 할 내용을 뒤늦게 따라간 듯도 하다.


주석

[1] 더불어 개별 프로젝트 입장에서도 성숙도 기준을 볼 수 있지만, 이 글의 범위를 벗어난다.


지난 베터코드 인사이트의 시작 연재

1. 추적성(Traceability)과 그 쓰임새

2. 베터 어드민의 아기 발걸음 그리고 작명

3. Funnel을 마케팅 말고 engagement 분석에?

4. 디지털 대전환기란 나에게 무엇인가?

5. 기술 부채는 무엇인가?

6. 폭포수 방식 설계는 기술 부채를 남긴다

7. 기술 부채는 낮은 코드 품질에 대한 것이 아니다

8. loosely-coupled: 빠르게 재구성하는 힘

9. 건강한 조직이 만들어지는 배경

10. 구축 사업 관리에 가려진 기술 부채

11. 기술은 쓰임새(use case)에 따라 고르고 조합한다

12. Ubiquitous Language 만들 결심

13. 회사 대표가 엔지니어에게 충분한 권한을 주는가?

14. Cloud Native가 무슨 말인가?

15. Cloud Native가 만드는 규모의 경제

16. Cloud Native 승자는 집적이 가능한 개발 조직

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari