■ 클라우드 네이티브 (Cloud Native)
클라우드 네이티브 : 클라우드 컴퓨팅 모델을 사용하는 것을 전제로 설계된 시스템과 서비스
CNCF(Cloud Native Computing Foundation)에서는 클라우드 네이티브를 아래와 같이 정의하고 있습니다. 공식 문서를 참조하여 클라우드 네이티브가 무엇인지 공부해봅시다!
(CNCF : 2015년 리눅스 파운데이션 (Linux Foundation) 산하에 설립된 재단이자 클라우드 네이티브 오픈소스 기술들을 추진하고 관리하는 단체입니다. 또한 처음 Cloud Natvie라는 용어를 사용한 재단입니디. 구글이 CNCF에 쿠버네티스(kubernetes)를 기증한 걸로 유명하죠. 즉 클라우드 네이티브를 가장 잘 정의하고 있는 재단이라고 생각하면 될 것 같습니다.)
클라우드 네이티브 기술은 조직이 퍼블릭, 프라이빗, 그리고 하이브리드 클라우드와 같은 현대적이고 동적인 환경에서 확장 가능한 애플리케이션을 개발하고 실행할 수 있게 해 준다. 컨테이너, 서비스 메쉬, 마이크로서비스, 불변(Immutable) 인프라, 그리고 선언형(Declarative) API가 이러한 접근 방식의 예시들이다.
이 기술은 회복성, 관리 편의성, 가시성을 갖춘 느슨하게 결합된 시스템을 가능하게 한다. 견고한 자동화 기능을 함께 사용하면, 엔지니어는 영향이 큰 변경을 최소한의 노력으로 자주, 예측 가능하게 수행할 수 있다.
Cloud Native Computing Foundation은 벤더 중립적인 오픈 소스 프로젝트 생태계를 육성하고 유지함으로써 해당 패러다임 채택을 촉진한다. 우리 재단은 최신 기술 수준의 패턴을 대중화하여 이런 혁신을 누구나 접근 가능하도록 한다.
클라우드에 대해 잘 이해하고 있으신 분이라면 위 내용을 쉽게 받아들일 수 있지만, 클라우드에 대해 잘 모르시는 분이라면 이해하기 힘들 것이라고 생각됩니다. 그렇다면 저랑 같이 한 문장을 읽어봅시다 !
"클라우드 네이티브 기술은 조직이 퍼블릭, 프라이빗, 그리고 하이브리드 클라우드와 같은 현대적이고 동적인 환경에서 확장 가능한 애플리케이션을 개발하고 실행할 수 있게 해준다."
*용어집* 퍼블릭 클라우드(Public Cloud) : 인터넷을 통해 불특정 다수에게 제공하는 클라우드 서비스. 데이터 센터를 두지 않기 때문에 서버 및 네트워크 등 인프라 관련 초기 투자가 필요 없음. 제공하는 서비스에 따라 Iaas, Paas, Saas 등으로 나뉘며 인프라를 서비스 형태로 이용하는 것이 Iaas다. ex) : aws, gcp, azure (Iaas) 프라이빗 클라우드(Private Cloud) : 특정 기업 그룹에게만 제공하는 클라우드 서비스. ex) 그룹사 내에서 데이터 센터를 공동으로 사용하는 것 하이브리드 클라우드(Hybrid Cloud) : 프라이빗 및 퍼블릭 클라우드가 함께 동작하는 클라우드 서비스 ex) 보안에 신경써야 될 것을 프라이빗 클라우드로 관리하고 그 외에 것들은 퍼블릭 클라우드로 제공 |
사실 위 글을 읽어도 감이 잡히기 힘들겁니다. 저도 그랬거든요! 더 이해가 쉽도록 상황을 예시로 들어서 설명해보겠습니다. (단순 기존 레거시(legacy) 환경을 클라우드에 올리는 것이 클라우드 네이티브 기술이 아닙니다)
Ex) 요즘 고객의 요구사항과 비지니스 전략이 빠르게 변하고 있습니다. 그에 따라 앱/웹 등 다양한 애플리케이션들도 빠르게 변화해야 하는데요. 기존 환경에서는 하지 못했던 일 단위로 사용자에게 변화된 애플리케이션을 보여주는 일(배포)을 클라우드 네이티브 기술을 도입한다면 가능합니다.
아래 표는 실제 클라우드 네이티브 기술을 도입한 사례입니다. 하루에 100번 이상씩 배포를 진행해서 사용자들에게 더욱 최신화 된 정보를 제공하고 있습니다.
Netflix | 프로덕션에서 600 개 이상의 서비스가 있습니다. 하루에 100 회 배포 합니다. |
Uber | 프로덕션 환경에서 1000 개 이상의 서비스가 있습니다. 매주 몇 천 번 배포 합니다. |
프로덕션 환경에 3,000 개 이상의 서비스가 있습니다. 하루에 1000 번 배포 합니다. |
■ 참고 자료
- https://www.saviantconsulting.com1
- http://www.opennaru.com/kubernetes/cloud-native-computing-foundation-cncf/
- https://cloudmt.co.kr/?p=3927
- https://docs.microsoft.com/ko-kr/dotnet/architecture/cloud-native/definition
잘못된 정보가 있다면 댓글로 남겨주세요 !
'DevOps > Cloud' 카테고리의 다른 글
[AWS] EBS 생성 후 EC2에 mount 하기 (0) | 2022.05.12 |
---|---|
[AWS] 스프링 부트를 외장 톰캣으로 EC2에 배포하기 (0) | 2021.08.23 |
[AWS] EC2 에 톰캣(Tomcat) 설치하기 (linux에 Tomcat 설치하기) (0) | 2021.08.23 |
[AWS] 윈도우(Window)에서 EC2로 접속하기(XSHELL) (0) | 2021.08.23 |
[AWS] 프리티어 계정으로 EC2 인스턴스 생성 (0) | 2021.08.23 |