[Openstack] 1. 구성 및 특징
0. 클라우드와 Openstack
개인적으로 생각하는 클라우드와 관련된 가장 인상적인 얘기는
블랙 프라이데이의 서버 부하를 감당하기 위해 많은 서버를 구매한 Amazon이
평소에 남는 서버를 활용하기 위해 클라우드 사업을 시작하면서 AWS를 탄생시켰다는 얘기다.
Amazon의 CTO가 클라우드 컴퓨팅 사업은 E-Commerce와 별개로 독자적으로 기획했다고 밝혔으나 링크 (출처 : quora)
많은 사람들이 이 이야기를 하는 이유는
클라우드 컴퓨팅의 장점과 특성을 이해하는데 도움이 되기 때문이라고 생각한다.
이 클라우드 컴퓨팅을 개발자 개인이 이해하고 학습하는데는 역시 오픈소스 만한게 없다고 생각한다.
IaaS 형태의 대표적인 오픈소스로 Openstack이 있으며
각 기업의 기술 블로그와 보도자료 등을 통해 국내외 클라우드 서비스제공업체들이
Openstack의 Component들을 활용해 서비스를 제공하는 경우가 있음을 알 수 있었다.
Openstack을 공부하고 구현해보면서 IaaS, PaaS에 대한 이해를 키워봐야겠다.
1. Openstack의 구성 및 특징
1) 각 코어 기능이 독립된 프로젝트로 구성
2) 6개월 주기로 새로운 버전 출시
3) 최근 기조는 새로운 기능보다 안정성 및 성능 개선 주력
1) 각 코어 기능이 독립된 프로젝트로 구성
AWS의 여러 서비스를 사용해봤다면 각 Component에 해당하는 상품명을 떠올릴 수 있을것이다.
대표적으로 Openstack에서 VM인 Nova는 AWS의 EC2를 떠올릴 수 있고,
Openstack에서 Object Storage인 Swift는 AWS의 S3를 떠올릴 수 있다.
2010년 10월 Openstack의 첫 버전이 출시될때 Nova와 Swift 2개의 Component가 공개된 것과
대다수의 개발자가 AWS의 EC2와 S3로 클라우드 컴퓨팅을 시작해보는 것은 우연의 일치가 아니다.
많이 쓰이는 상품 위주로 Component 로 공개가 되기 때문에
개발자 입장에서는 직접 구현해보고 싶은 PaaS 서비스에 따라 우선순위를 정해 각 Component를 공부해볼 수 있다.
2) 6개월 주기로 새로운 버전 출시
출시 시기 | 시리즈 | 구성요소 |
2010.10 | Austin | Nova, Swift |
2011.02 | Bexar | Nova, Glance, Swift |
2011.04 | Cactus | Nova, Glance, Swift |
.. | .. | .. |
2022.03 | Yoga | Adjutant, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events-api, Murano, Neutron, Nova, Octavia, Placement, Sahara, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (38개 서비스) |
2022.10 | Zed | |
2023.03 | Antelope | |
2023.10 | Bobcat |
알파벳 순서에 맞춘 이름(A -> Z)으로 약 6개월에 한 번씩 신규 버전이 출시된다.
버전에 대한 상세한 내용은 Openstack의 홈페이지에서 확인 가능하다.
처음 Openstack에 대해 찾아볼때는 버전 출시 주기가 6개월로 짧다고 생각했는데
특정 시점을 넘기고 부터는 기술의 성숙으로 Component의 변동이 크지 않아
보안취약점 등 큰 이슈가 있는게 아니라면 적용 여부를 유동적으로 검토해볼 수 있지 않을까라는 생각도 들었다.
실제 Enterprise 서비스를 제공하는 입장에서는 바로 적용이 필요할 수 있으나
생각보다 대규모 변화가 자주 있지는 않을수도 있다는 생각이 들었다.
3) 최근 기조는 새로운 기능보다 안정성 및 성능 개선 주력
2018년 8월 출시된 Rocky 버전은 40개의 Component로 구성되었다.
2020년 5월 출시된 Ussuri 버전에서는 44개까지 그 개수가 늘어났다가
2022년 3월 출시된 Yoga 버전에서는 38개로 개수가 다시 줄었다.
그리고 최신 버전인 Bobcat 버전에서는 40개로 Component 개수를 유지 중이다.
즉, 5년 전 버전과 현재 버전의 Component 개수에는 차이가 없다.
새로운 버전에 신규 기능이 추가되긴하지만 일정 시점이 지나면서는
Component 의 개수를 늘려 기능을 추가하기보단, 안정성 및 성능개선에 주력하고 있다고 해석할 수 있다.
2. 글을 작성하다 생각하게 된 First Mover vs Fast Fallower
대학생 때까지는 막연히 시장을 선도하는 선도자(First Mover)가 옳다고 생각했다.
마케팅 수업을 들으며 선도자와 추격자(Fast Fallower)는 각각의 장단점을 갖고 있으며
상황에 따라 추격자가 더 빠르고 가파른 J커브를 그리며 선도자를 추월할 수 있다고 생각하게됐다.
어쩌면 시장과 고객의 요구가 더 강해지고, openstack이 오픈소스로써 기술이 성숙된 현재가
클라우드 서비스 제공의 관점에서도, 설계/개발을 진행해야하는 개발자의 입장에서도
추격자로써 누릴 수 있는 장점을 활용해 도약할 수 있는 기회가 될수도 있겠다라는 생각을 해봤다.
* 출처 :