오픈스택

오픈스택(OpenStack)은 자유 오픈 표준 클라우드 컴퓨팅 플랫폼이다. 주로 가상 서버 및 기타 리소스를 사용자가 사용할 수 있게 해주는 퍼블릭 및 프라이빗 클라우드 모두에서 서비스형 인프라스트럭처(IaaS)로 배포된다. 이 소프트웨어 플랫폼은 데이터 센터 전체에서 프로세싱, 스토리지, 네트워킹 리소스의 다양한 멀티 벤더 하드웨어 풀을 제어하는 상호 연결된 구성 요소로 이루어져 있다. 사용자는 웹 기반 대시보드, 명령줄 인터페이스 도구 또는 RESTful 웹 서비스를 통해 이를 관리한다.

오픈스택은 2010년 랙스페이스 호스팅과 NASA의 공동 프로젝트로 시작되었다. 2012년 기준으로는 오픈스택 소프트웨어와 그 커뮤니티를 홍보하기 위해 2012년 9월에 설립된 비영리 법인인 오픈스택 재단(OpenStack Foundation)에서 관리했다. 2018년까지 500개 이상의 기업이 프로젝트에 참여했다. 2020년에 재단은 2021년에 명칭을 오픈 인프라스트럭처 재단(Open Infrastructure Foundation)으로 변경할 것이라고 발표했다.

 역사 
섬네일|right|NASA의 Nebula 플랫폼

2010년 7월, 랙스페이스 호스팅과 NASA는 오픈스택이라는 이름의 오픈 소스 클라우드 소프트웨어 이니셔티브를 발표했다. 사명 선언문은 "구현이 간단하고 대규모 확장이 가능함으로써 규모에 관계없이 퍼블릭 및 프라이빗 클라우드의 요구 사항을 충족할 수 있는 어디서나 쓰이는 오픈 소스 클라우드 컴퓨팅 플랫폼을 생산하는 것"이었다.

이 프로젝트는 조직이 표준 하드웨어에서 실행되는 클라우드 컴퓨팅 서비스를 제공하도록 돕기 위해 의도되었다. 커뮤니티의 첫 번째 공식 릴리스인 코드명 Austin은 3개월 뒤인 에 출시되었으며, 몇 달마다 소프트웨어의 정기 업데이트를 출시할 계획을 세웠다. 초기 코드는 NASA의 Nebula 플랫폼과 랙스페이스의 클라우드 파일(Cloud Files) 플랫폼에서 가져왔다. 클라우드 스택과 오픈 스택 모듈은 병합되어 NASA Nebula 팀과 랙스페이스의 협력하에 오픈 소스로 출시되었다.

2011년, 우분투 리눅스 배포판 개발자들은 우분투 11.04 "Natty Narwhal"을 위한 오픈스택 "Bexar" 릴리스의 미지원 기술 프리뷰와 함께 오픈스택을 채택했다. 우분투의 스폰서인 캐노니컬은 이후 오픈스택의 Cactus 릴리스를 시작으로 오픈스택 클라우드에 대한 전체 지원을 도입했다.

오픈스택은 2011년 오픈스택 "Cactus" 릴리스부터 데비안 Sid에서 사용할 수 있게 되었으며, 오픈스택을 포함한 데비안의 첫 번째 릴리스는 오픈스택 2012.1(코드명: "Essex")을 포함한 데비안 7.0(코드명 "Wheezy")이었다.

2011년 10월, SUSE는 "Diablo" 오픈스택 릴리스를 기반으로 업계 최초로 완벽하게 구성된 오픈스택 기반 어플라이언스의 공개 프리뷰를 발표했다. 2012년 8월, SUSE는 "Essex" 릴리스를 기반으로 상업적으로 지원되는 엔터프라이즈 오픈스택 배포판을 발표했다.

섬네일|right|2012년 당시 시스코 클라우드 컴퓨팅 부사장 겸 CTO 루 터커(Lew Tucker)
2012년, 레드햇은 "Essex" 릴리스를 시작으로 오픈스택 배포판의 프리뷰를 발표했다. 또 다른 프리뷰 릴리스 이후, 레드햇은 2013년 7월 "Grizzly" 릴리스와 함께 오픈스택에 대한 상업적 지원을 도입했다.

오픈스택 조직은 빠르게 성장했으며 540개 이상의 기업이 지원하고 있다.

2012년 NASA는 활발한 기여자로서 오픈스택에서 물러났으며, 대신 클라우드 기반 서비스를 위해 아마존 웹 서비스를 사용하기로 전략적 결정을 내렸다. 2013년 7월, NASA는 기술적 진보 부족과 기타 요인을 근거로 해당 프로젝트의 활발한 개발자에서 탈퇴하고 대신 퍼블릭 클라우드 사용에 집중하겠다는 주요 이유를 담은 내부 감사 보고서를 발표했다. 이 보고서는 에임스 연구 센터 CIO인 레이 오브라이언(Ray O'Brien)의 발언과 부분적으로 모순된다. 2021년 11월 현재, NASA는 Discover 슈퍼컴퓨터 클러스터의 IAAS 및 PAAS 지원에 오픈스택을 계속 활용하고 있다. 이 오픈스택 환경은 "Explore"라고 불리며 고다드 우주 비행 센터의 NASA 기후 시뮬레이션 센터에서 운영된다.

 주요 배포 사례 
2012년 11월, 영국의 정부 디지털 서비스(GDS)는 OpenNASA v2.0 서비스형 정부(GaaP) 모델을 기반으로 Inside Government를 출시했다.

2013년 12월, 오라클은 오픈스택 재단에 스폰서로 합류했으며 오라클 솔라리스, 오라클 리눅스 및 여러 제품에 오픈스택을 도입할 계획이라고 발표했다. 이어 2014년 9월 24일에는 오라클 솔라리스용 오라클 오픈스택 배포판과 Icehouse를 사용하는 오라클 리눅스용 배포판을 발표했다.

2014년 5월, HP는 HPE 힐리온을 발표하고 IceHouse 릴리스를 시작으로 HP 힐리온 오픈스택 커뮤니티의 프리뷰를 출시했다. HP는 2012년부터 오픈스택 기반의 HP 힐리온 퍼블릭 클라우드를 운영해 왔다.

2014년 인터롭 및 테크 필드 데이에서, 어바이어는 최단 경로 브리징과 오픈스택을 자동화된 캠퍼스로 사용하여 소프트웨어 정의 네트워킹을 시연했다. 이는 데이터 센터에서 엔드 디바이스까지 자동화를 확장하고 서비스 제공에서 수동 프로비저닝을 제거한 것이었다.

2021년 11월 기준, NASA는 Discover HPC를 지원하기 위해 Explore 오픈스택 프라이빗 클라우드를 호스팅한다.

2022년 9월 기준, 중국이동통신은 5G 네트워크의 기반으로 오픈스택을 사용한다. 레드햇은 자사 플랫폼이 생산용 LTE 네트워크의 30% 이상에 배포되었다고 주장한다.

CERN의 오픈스택 클라우드는 대형 강입자 충돌기의 요구 사항을 충족하기 위해 300,000개 이상의 코어가 필요하다.

 과거 명칭 
여러 오픈스택 프로젝트들이 상표권 문제로 인해 이름을 변경했다.
 Neutron은 이전에 Quantum으로 알려져 있었다.
 Sahara는 이전에 Savanna로 불렸다.
 Designate는 이전에 Moniker로 알려져 있었다.
 Trove는 이전에 RedDwarf로 알려져 있었다.
 Zaqar는 이전에 Marconi로 알려져 있었다.

 배포 이력 
 릴리스 이름 배포 날짜 포함된 구성 요소 코드명 Austin 2010년 10월 21일 Nova, Swift Bexar 2011년 2월 3일 Nova, Glance, Swift Cactus 2011년 4월 15일 Nova, Glance, Swift Diablo 2011년 9월 22일 Nova, Glance, Swift Essex 2012년 4월 5일 Nova, Glance, Swift, Horizon, Keystone Folsom 2012년 9월 27일 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Grizzly 2013년 4월 4일 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Havana 2013년 10월 17일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer Icehouse 2014년 4월 17일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove Juno 2014년 10월 16일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara Kilo 2015년 4월 30일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic Liberty 2015년 10월 16일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight Mitaka 2016년 4월 7일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum Newton 2016년 10월 6일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher Ocata 2017년 2월 22일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher Pike 2017년 8월 30일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher Queens 2018년 2월 28일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun Rocky 2018년 8월 30일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling (40 services) Stein 2019년 4월 10일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events-api, placement (44 services) Train 2019년 10월 16일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events-api, placement (44 services) Ussuri 2020년 5월 13일 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events-api, placement, adjutant (44 services) Victoria 2020년 10월 14일 Adjutant, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Karbor, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events-api, Murano, Neutron, Nova, Octavia, Panko, Placement, Qinling, Sahara, Searchlight, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (42 services) Wallaby 2021년 4월 14일 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, Panko, Placement, Sahara, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (39 services) Xena 2021년 10월 6일 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 services) Yoga 2022년 3월 30일 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 services) Zed 2022년 10월 5일 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, Skyline-apiserver, Skyline-console, Solum, Storlets, Swift, Tacker, Trove, Venus, Vitrage, Watcher, Zaqar, Zun (41 services) 2023.1 Antelope 2023년 3월 22일 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, Skyline-apiserver, Skyline-console, Solum, Storlets, Swift, Tacker, Trove, Venus, Vitrage, Watcher, Zaqar, Zun (41 services) 2023.2 Bobcat 2023년 10월 4일 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, Skyline-apiserver, Skyline-console, Solum, Storlets, Swift, Tacker, Trove, Venus, Vitrage, Watcher, Zaqar, Zun (41 services) 2024.1 Caracal 2024년 4월 3일 Adjutant, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Neutron, Nova, Octavia, Placement, Skyline-apiserver, Skyline-console, Storlets, Swift, Tacker, Trove, Venus, Vitrage, Watcher, Zaqar, Zun (33 services) 2024.2 Dalmatian 2024년 10월 2일 Adjutant, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Neutron, Nova, Octavia, Placement, Skyline-apiserver, Skyline-console, Storlets, Swift, Tacker, Trove, Venus, Vitrage, Watcher, Zaqar, Zun (33 services) 2025.1 Epoxy 2025년 4월 2일 Adjutant, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Freezer, Freezer-api, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Neutron, Nova, Octavia, Placement, Skyline-apiserver, Skyline-console, Storlets, Swift, Tacker, Trove, Venus, Vitrage, Watcher, Zaqar, Zun (35 services)

 오픈스택 개발 
오픈스택 커뮤니티는 잦은 개발 마일스톤이 있는 6개월 단위의 시간 기반 릴리스 주기를 중심으로 협업한다.

각 릴리스의 계획 단계에서 커뮤니티는 개발자 작업 세션을 촉진하고 계획을 수립하기 위해 오픈스택 디자인 서밋(OpenStack Design Summit)에 모인다. 이 디자인 서밋은 오픈스택 서밋 컨퍼런스와 동시에 개최된다.

Pike 개발 주기부터 디자인 회의 활동은 별도의 프로젝트 팀 개더링(PTG) 이벤트로 분리되었다. 이는 오픈스택 서밋에서 발생하는 프레젠테이션과 고객 미팅으로 인한 개발자들의 주의 분산을 피하고, 다음 주기 시작 전에 디자인 논의가 이루어질 수 있도록 하기 위한 것이었다.

최근의 오픈스택 서밋은 2019년 11월 4~6일 상하이에서, 2019년 4월 29일~5월 1일 덴버에서, 2018년 11월 13~19일 베를린에서, 2018년 5월 21~25일 밴쿠버에서, 2017년 11월 6~8일 시드니에서, 2017년 5월 8~11일 보스턴에서, 2016년 4월 25~29일 오스틴에서, 그리고 2016년 10월 25~28일 바르셀로나에서 열렸다. 이전의 오픈스택 서밋들은 2015년 10월 도쿄에서, 2015년 5월 밴쿠버에서, 그리고 2014년 11월 파리에서 개최되었다. 2014년 5월 애틀랜타에서 열린 서밋에는 4,500명이 참석했는데, 이는 6개월 전 홍콩 과기대학 서밋보다 50% 증가한 수치였다.

 구성 요소 

섬네일|388x388px|오픈스택은 필요에 따라 구성 요소를 플러그 앤 플레이할 수 있도록 서비스로 분리되어 있다. 오픈스택 맵은 이러한 서비스가 어디에 적합하고 어떻게 함께 작동할 수 있는지 보여주는 오픈스택 지형의 "한눈에 보기"를 제공한다.
오픈스택은 각 구성 요소에 대해 다양한 코드명을 가진 모듈형 아키텍처를 가지고 있다.

 컴퓨트 (Nova) 
Nova는 컴퓨트 인스턴스를 가상 머신, 실제 하드웨어 서버(Ironic 사용)로 프로비저닝하는 방법을 제공하는 오픈스택 프로젝트이며 시스템 컨테이너에 대한 제한적인 지원도 제공한다. Nova는 해당 서비스를 제공하기 위해 기존 리눅스 서버 위에서 데몬 세트로 실행된다.

Nova는 파이썬으로 작성되었다. Eventlet(동시 네트워킹 라이브러리), Kombu(AMQP 메시징 프레임워크), SQLAlchemy(SQL 툴킷 및 객체 관계형 매퍼)와 같은 많은 외부 파이썬 라이브러리를 사용한다. Nova는 수평적 확장이 가능하도록 설계되었다. 더 큰 서버로 교체하는 대신 더 많은 서버를 조달하고 동일하게 구성된 서비스를 설치하기만 하면 된다.

엔터프라이즈급 인프라에 널리 통합됨에 따라 일반적인 오픈스택 성능, 특히 Nova 성능을 모니터링하는 확장이 점점 더 중요한 이슈가 되었다. 엔드 투 엔드 성능을 모니터링하려면 메시지 전달을 위해 오픈스택 서비스에서 사용하는 RabbitMQ를 모니터링하는 것 외에도 Nova, Keystone, Neutron, Cinder, Swift 및 기타 서비스의 메트릭을 추적해야 한다. 이러한 모든 서비스는 고유한 로그 파일을 생성하며, 특히 엔터프라이즈급 인프라에서는 이 역시 모니터링되어야 한다.

 네트워킹 (Neutron) 
Neutron은 다른 오픈스택 서비스(예: Nova)에 의해 관리되는 인터페이스 장치(예: vNIC) 간의 "서비스형 네트워크 연결"을 제공하는 오픈스택 프로젝트이다. 오픈스택 네트워킹 API를 구현한다.

이는 오픈스택 환경에서 가상 네트워킹 인프라(VNI)의 모든 네트워킹 측면과 물리 네트워킹 인프라(PNI)의 액세스 계층 측면을 관리한다. 오픈스택 네트워킹을 통해 프로젝트는 방화벽 및 가상사설망(VPN)과 같은 서비스를 포함할 수 있는 고급 가상 네트워크 토폴로지를 생성할 수 있다.

Neutron은 전용 정적 IP 주소 또는 DHCP를 허용한다. 또한 트래픽을 동적으로 재라우팅할 수 있도록 플로팅 IP 주소를 허용한다.

사용자는 소프트웨어 정의 네트워킹(SDN) 기술인 오픈플로 등을 사용하여 멀티 테넌시 및 확장을 지원할 수 있다. 오픈스택 네트워킹은 침입 탐지 시스템(IDS), 부하분산, 방화벽 및 가상사설망과 같은 추가 네트워크 서비스를 배포하고 관리할 수 있다.

 블록 스토리지 (Cinder) 
Cinder는 Nova 가상 머신, Ironic 베어 메탈 호스트, 컨테이너 등에 볼륨을 제공하는 오픈스택 블록 스토리지 서비스이다. Cinder의 목표는 다음과 같다:

 구성 요소 기반 아키텍처: 새로운 동작을 신속하게 추가
 고가용성: 매우 심각한 워크로드까지 확장
 결함 허용: 격리된 프로세스로 연쇄적인 실패 방지
 복구 가능: 실패를 쉽게 진단, 디버그 및 수정할 수 있어야 함
 오픈 표준: 커뮤니티 주도 API에 대한 참조 구현이 됨

Cinder 볼륨은 오픈스택 컴퓨트 소프트웨어에 의해 관리되는 게스트 가상 머신(인스턴스)에 영구 스토리지를 제공한다. Cinder는 독립형 소프트웨어 정의 스토리지로서 다른 오픈스택 서비스와 독립적으로 사용될 수도 있다. 블록 스토리지 시스템은 블록 장치의 생성, 복제, 스냅샷 관리, 서버에 대한 연결 및 해제를 관리한다.

 아이덴티티 (Keystone) 
Keystone은 오픈스택의 아이덴티티 API를 구현하여 API 클라이언트 인증, 서비스 검색 및 분산 멀티 테넌트 권한 부여를 제공하는 오픈스택 서비스이다. 이는 클라우드 운영 체제 전반에 걸친 공통 인증 시스템이다. Keystone은 LDAP와 같은 디렉토리 서비스와 통합될 수 있다. 표준 사용자 이름 및 비밀번호 자격 증명, 토큰 기반 시스템 및 AWS 스타일(즉, 아마존 웹 서비스) 로그인을 지원한다. 오픈스택 Keystone 서비스 카탈로그를 통해 API 클라이언트는 클라우드 서비스를 동적으로 검색하고 탐색할 수 있다.

 이미지 (Glance) 
이미지 서비스(Glance) 프로젝트는 사용자가 다른 서비스와 함께 사용될 데이터 에셋을 업로드하고 검색할 수 있는 서비스를 제공한다. 현재 여기에는 이미지와 메타데이터 정의가 포함된다.

 이미지 
Glance 이미지 서비스에는 가상 머신(VM) 이미지의 검색, 등록 및 검색이 포함된다. Glance는 VM 이미지 메타데이터 쿼리와 실제 이미지 검색을 가능하게 하는 RESTful API를 가지고 있다. Glance를 통해 사용 가능한 VM 이미지는 단순한 파일 시스템에서 오픈스택 Swift 프로젝트와 같은 오브젝트 스토리지 시스템에 이르기까지 다양한 위치에 저장될 수 있다.

 메타데이터 정의 
Glance는 메타데이터 정의(metadefs) 카탈로그를 호스팅한다. 이는 오픈스택 커뮤니티가 오픈스택 리소스에 적용될 수 있는 다양한 메타데이터 키 이름과 유효한 값을 프로그래밍 방식으로 결정할 수 있는 방법을 제공한다.

 오브젝트 스토리지 (Swift) 
Swift는 분산되고 결과적으로 일관된 객체/블롭 저장소이다. Swift로 알려진 오픈스택 오브젝트 스토어 프로젝트는 간단한 API로 대량의 데이터를 저장하고 검색할 수 있도록 클라우드 스토리지 소프트웨어를 제공한다. 전체 데이터 세트에서 규모, 내구성, 가용성 및 동시성에 최적화되도록 구축되었다. Swift는 무한히 성장할 수 있는 비정형 데이터를 저장하는 데 이상적이다.

2009년 8월, 랙스페이스는 클라우드 파일 제품의 완전한 대체물로서 오픈스택 오브젝트 스토리지의 전신을 개발하기 시작했다. 초기 개발 팀은 9명의 개발자로 구성되었다. 오브젝트 스토리지 소프트웨어 회사인 SwiftStack은 현재 인텔, 레드햇, NTT, HP, IBM 등으로부터 상당한 기여를 받으며 Swift의 주요 개발사로 활동하고 있다.

 대시보드 (Horizon) 
Horizon은 Nova, Swift, Keystone 등을 포함한 오픈스택 서비스에 웹 기반 사용자 인터페이스를 제공하는 오픈스택 대시보드의 표준 구현이다.
Horizon은 "사용자 대시보드", "시스템 대시보드", "설정" 대시보드의 세 가지 중앙 대시보드와 함께 제공된다. 이 세 가지 대시보드는 핵심 오픈스택 애플리케이션을 다루고 핵심 지원을 제공한다.
Horizon 애플리케이션은 또한 개발자에게 일관되고 안정적인 재사용 가능한 메서드 세트를 제공하기 위해 핵심 오픈스택 프로젝트를 위한 API 추상화 세트와 함께 제공된다. 이러한 추상화를 사용하면 Horizon에서 작업하는 개발자가 각 오픈스택 프로젝트의 API를 자세히 알 필요가 없다.

 오케스트레이션 (Heat) 
Heat는 오픈스택 네이티브 REST API와 CloudFormation 호환 쿼리 API 모두를 통해 템플릿을 사용하여 여러 복합 클라우드 애플리케이션을 오케스트레이션하는 서비스이다.

 워크플로 (Mistral) 
Mistral은 워크플로를 관리하는 서비스이다. 사용자는 일반적으로 YAML 기반의 워크플로 언어를 사용하여 워크플로를 작성하고 REST API를 통해 워크플로 정의를 Mistral에 업로드한다. 그런 다음 사용자는 동일한 API를 통해 이 워크플로를 수동으로 시작하거나 특정 이벤트에서 워크플로를 시작하도록 트리거를 구성할 수 있다.

 텔레메트리 (Ceilometer) 
오픈스택 텔레메트리(Ceilometer)는 모든 현재 및 미래의 오픈스택 구성 요소에 대해 고객 청구를 설정하는 데 필요한 모든 카운터를 제공함으로써 과금 시스템을 위한 단일 접점을 제공한다. 카운터 제공은 추적 및 감사 가능해야 하며, 카운터는 새로운 프로젝트를 지원하기 위해 쉽게 확장 가능해야 하며, 데이터 수집을 수행하는 에이전트는 전체 시스템과 독립적이어야 한다.

 데이터베이스 (Trove) 
Trove는 관계형 데이터베이스 및 비관계형 데이터베이스 엔진을 프로비저닝하는 서비스형 데이터베이스이다.

 탄력적 맵 리듀스 (Sahara) 
Sahara는 아파치 하둡 클러스터를 쉽고 빠르게 프로비저닝하기 위한 구성 요소이다. 사용자는 하둡 버전 번호, 클러스터 토폴로지 유형, 노드 플레이버 세부 정보(디스크 공간, CPU 및 RAM 설정 정의) 등 여러 매개변수를 지정한다. 사용자가 모든 매개변수를 제공하면 Sahara는 몇 분 안에 클러스터를 배포한다. Sahara는 또한 수요에 따라 워커 노드를 추가 및 제거하여 기존 하둡 클러스터를 확장하는 수단을 제공한다.

 베어 메탈 (Ironic) 
Ironic은 가상 머신 대신 베어 메탈 머신을 프로비저닝하는 오픈스택 프로젝트이다. 처음에는 Nova Baremetal 드라이버에서 포크되었으며 별도의 프로젝트로 발전했다. 이는 베어 메탈 하이퍼바이저 API와 Ironic에 의해 관리되는 베어 메탈 머신과 상호 작용하는 플러그인 세트로 생각하는 것이 가장 좋다. 기본적으로 PXE와 IPMI 또는 Redfish를 함께 사용하여 물리 머신을 프로비저닝하고 관리하지만, Ironic은 추가 기능을 구현하기 위해 벤더 전용 플러그인을 지원하고 확장될 수 있다.

Ironic의 시작 이래로 추가 유스케이스와 기능을 지원하기 위해 여러 하위 프로젝트가 탄생했다. 가장 흔하게 활용되는 프로젝트로는 Ironic-Inspector, Bifrost, Sushy 및 networking-generic-switch가 있다. Ironic-inspector는 하드웨어 정보 수집 및 하드웨어 검색을 제공한다. Bifrost는 다른 오픈스택 구성 요소 없이 운영되는 유스케이스에 초점을 맞추며, 웹사이트 ironicbaremetal.org에서 강조되고 있다. Sushy는 경량 Redfish API 클라이언트 라이브러리이다. Networking-generic-switch는 베어 메탈 머신에 대한 스위치 포트 구성을 관리하는 것을 지원하는 플러그인이다.

 메시징 (Zaqar) 
Zaqar는 웹 개발자를 위한 멀티 테넌트 클라우드 메시징 서비스이다. 이 서비스는 완전한 RESTful API를 특징으로 하며, 개발자는 다양한 통신 패턴을 사용하여 SaaS 및 모바일 애플리케이션의 다양한 구성 요소 간에 메시지를 보낼 수 있다. 이 API의 기초는 확장성과 보안을 염두에 두고 설계된 효율적인 메시징 엔진이다. 다른 오픈스택 구성 요소는 Zaqar와 통합하여 최종 사용자에게 이벤트를 노출하고 "오버 클라우드" 계층에서 실행되는 게스트 에이전트와 통신할 수 있다.

 공유 파일 시스템 (Manila) 
오픈스택 공유 파일 시스템(Manila)은 벤더 중립적인 프레임워크에서 공유를 관리하기 위한 오픈 API를 제공한다. 표준 프리미티브에는 공유를 생성, 삭제 및 공유에 대한 액세스 허용/거부 능력이 포함되며 독립적으로 또는 다양한 네트워크 환경에서 사용될 수 있다. EMC, NetApp, HP, IBM, 오라클, Quobyte, INFINIDAT 및 히타치 데이터 시스템즈의 상업용 스토리지 어플라이언스가 지원될 뿐만 아니라 레드햇 GlusterFS 또는 Ceph와 같은 파일 시스템 기술도 지원된다.

 DNS (Designate) 
Designate는 DNS 관리를 위한 멀티 테넌트 REST API이다. 이 구성 요소는 서비스형 DNS를 제공하며 PowerDNS 및 BIND를 포함한 많은 백엔드 기술과 호환된다. DNS 서비스 자체를 제공하지는 않으며, 그 목적은 기존 DNS 서버와 인터페이스하여 테넌트별로 DNS 영역을 관리하는 것이다.

 검색 (Searchlight) 
이 프로젝트는 더 이상 활발하게 유지 관리되지 않는다.

Searchlight는 다양한 오픈스택 클라우드 서비스에 걸쳐 고급스럽고 일관된 검색 기능을 제공한다. 이는 다른 오픈스택 API 서버의 사용자 검색 쿼리를 일래스틱서치로 데이터를 인덱싱하여 오프로딩함으로써 수행된다. Searchlight는 Horizon에 통합되고 있으며 명령줄 인터페이스도 제공한다.

 키 매니저 (Barbican) 
Barbican은 비밀의 안전한 저장, 프로비저닝 및 관리를 위해 설계된 REST API이다. 대규모의 단기 클라우드를 포함한 모든 환경에서 유용하게 사용되는 것을 목표로 한다.

 컨테이너 오케스트레이션 (Magnum) 
Magnum은 오픈스택 컨테이너 팀에 의해 개발된 오픈스택 API 서비스로, Docker Swarm, 쿠버네티스 및 Apache Mesos와 같은 컨테이너 오케스트레이션 엔진을 오픈스택에서 일급 리소스로 사용할 수 있게 해준다. Magnum은 Heat를 사용하여 Docker 및 쿠버네티스를 포함하는 OS 이미지를 오케스트레이션하고 해당 이미지를 클러스터 구성의 가상 머신 또는 베어 메탈에서 실행한다.

 근본 원인 분석 (Vitrage) 
Vitrage는 오픈스택의 경보 및 이벤트를 구성, 분석 및 확장하여 문제의 근본 원인에 대한 통찰력을 산출하고 문제가 직접 감지되기 전에 존재를 추론하기 위한 오픈스택 RCA(Root Cause Analysis) 서비스이다.

 규칙 기반 알람 작업 (Aodh) 
이 알람 서비스는 Ceilometer 또는 Gnocchi에 의해 수집된 메트릭 또는 이벤트 데이터에 대해 정의된 규칙을 기반으로 작업을 트리거하는 기능을 제공한다.

 다른 클라우드 API와의 호환성 
오픈스택은 다른 클라우드의 API와의 호환성을 위해 노력하지 않는다. 그러나 이러한 호환성이 중요한 오픈스택 커뮤니티의 다양한 구성원에 의해 어느 정도의 호환성이 추진되고 있다.

 EC2 API 프로젝트는 아마존 EC2와의 호환성을 제공하는 것을 목표로 한다.
 GCE API 프로젝트는 구글 컴퓨트 엔진과의 호환성을 제공하는 것을 목표로 한다.

 거버넌스 
오픈스택은 오픈 인프라스트럭처 재단과 그 이사회에 의해 거버넌스가 이루어진다. 이사회는 플래티넘 스폰서, 골드 스폰서 회원 및 재단 개인 회원이 선출한 회원으로 구성된다. 오픈스택 기술 위원회(Technical Committee)는 오픈스택 오픈 소스 프로젝트의 관리 기구이다. 프로젝트 기여자를 대표하는 선출된 그룹이며 모든 기술적인 문제에 대해 감독권을 가진다. 여기에는 소프트웨어의 개발자, 운영자 및 최종 사용자가 포함된다.

 어플라이언스 
오픈스택 어플라이언스는 서버와 같은 물리적 장치나 가상 머신, 또는 그 둘의 조합에서 오픈스택 클라우드 컴퓨팅 플랫폼을 지원할 수 있는 소프트웨어에 붙여진 이름이다. 일반적으로 소프트웨어 어플라이언스는 운영 체제 없이 작동할 수 있는 소프트웨어 기능 세트이다. 따라서 작동하기에 충분한 필수 기본 운영 체제 구성 요소를 포함해야 한다. 그러므로 엄격한 정의는 다음과 같을 수 있다: 기본 운영 체제의 필요 없이 오픈스택 기능을 제공하도록 설계된 애플리케이션. 그러나 어플라이언스와 리눅스 배포판 사이에 실제로는 명확한 구분이 없기 때문에 이러한 엄격한 정의를 적용하는 것이 도움이 되지 않을 수도 있다. 오픈스택 자체가 클라우드 운영 체제라고 불리기 때문에 오픈스택 어플라이언스라는 용어를 사용하는 것은 세심하게 따진다면 잘못된 명칭일 수 있다는 주장이 있을 수 있다.

어플라이언스와 배포판의 범위를 살펴보면, 배포판은 오픈스택 프로젝트 범위를 광범위하게 포괄하려는 도구 세트인 반면, 어플라이언스는 더 좁은 초점을 가지고 더 적은 프로젝트에 집중한다는 차이점을 둘 수 있다. 벤더들은 오픈스택의 시작부터 깊이 관여해 왔으며, 이후 광범위한 어플라이언스, 애플리케이션 및 배포판을 개발하고 마케팅하고 있다.

 벤더 
많은 수의 벤더가 오픈스택 솔루션을 제공하고 있는데, 이는 기술을 배포하려는 조직이 자신의 비즈니스 요구 사항에 가장 잘 맞는 벤더 제안을 선택하는 복잡한 과제에 직면해 있음을 의미한다. 바브 대로(Barb Darrow)는 2015년 5월 27일 포춘(Fortune) 지에서 이러한 개요를 제공하며, 이러한 결정을 명확히 해줄 시장 통합이 있을 수 있음을 지적했다.

사용자가 고려해야 할 다른 측면들도 있는데, 예를 들어 관련된 실제 비용 등이 있다. 일부 벤더는 대부분의 오픈스택 프로젝트를 아우르는 제안을 할 것이고, 다른 벤더는 특정 구성 요소만 제공할 것이다. 다른 고려 사항으로는 오픈스택 구성 요소의 성숙도 부족을 관리하기 위해 사용된 독점 코드의 정도와 그것이 벤더 종속(lock-in)을 어느 정도 조장하는지가 포함된다.

벤더 제품에 대한 가장 권위 있는 정보는 오픈 인프라스트럭처 재단 웹사이트에 있다.

 구현의 과제 
오픈스택은 복잡한 실체이며, 채택자들은 조직에서 오픈스택을 구현하려고 할 때 다양한 과제에 직면한다. 자신의 프로젝트를 구현하려는 많은 조직에 있어 핵심 이슈는 가용한 기술의 부족이다. The New Stack의 기사에서 아툴 자(Atul Jha)는 오픈스택을 배포하려는 조직이 직면하게 될 다섯 가지 과제를 식별한다.

 설치의 어려움 
오픈스택은 단일 제품이라기보다 프로젝트들의 스위트이며, 다양한 애플리케이션 각각이 사용자의 요구 사항에 맞게 구성되어야 하기 때문에 설치가 복잡하고 최적의 설정을 위해 일련의 보완적인 기술 세트가 필요하다. 한 가지 확실한 해결책은 하드웨어와 소프트웨어가 포함된 완전한 벤더 공급 패키지를 취하는 것이겠지만, 상당한 주의(due diligence)가 필수적이다.

 문서화 
이는 오픈스택 자체의 문제라기보다 오픈 소스 제품 문서화의 특성에서 기인하는 면이 크지만, 25개가 넘는 프로젝트가 있다 보니 문서의 품질을 관리하는 것은 항상 어려운 과제가 될 것이다.

 오픈스택 업그레이드 
클라우드 유형 인프라를 사용하는 주요 목적 중 하나는 사용자에게 높은 신뢰성뿐만 아니라 높은 가용성을 제공하는 것이며, 이는 퍼블릭 클라우드 공급업체가 서비스 수준 협약서(SLA)에서 제공하는 것이다.

오픈스택의 멀티 프로젝트 개발 방식 때문에 업그레이드 중에 서로 다른 프로젝트를 동기화하는 데 수반되는 복잡성으로 인해 가동 중단(downtime)이 불가피할 수 있다.

 장기 지원 
기업이 소프트웨어가 업그레이드된 후에도 한동안 이전 릴리스를 계속 사용하는 것은 매우 흔한 일이다. 그러나 오픈 소스 프로젝트의 개발자들이 대체된 코드에 대해 지원을 제공할 유인은 거의 없다. 또한 오픈스택 자체도 일부 오래된 릴리스에 대한 지원을 공식적으로 중단했다.

위의 과제들을 고려할 때 오픈스택을 구현하려는 조직에 가장 적절한 경로는 벤더와 협력하여 오픈스택 어플라이언스나 배포판을 소싱하는 것이다.

 배포 모델 
오픈스택 프로젝트가 성숙해짐에 따라 벤더들은 고객이 오픈스택을 배포할 수 있는 여러 가지 방법을 개척했다:
 오픈스택 기반 퍼블릭 클라우드  벤더가 오픈스택 프로젝트를 기반으로 퍼블릭 클라우드 컴퓨팅 시스템을 제공한다.
 온프레미스 배포판  이 모델에서 고객은 내부 네트워크에 오픈스택 배포판을 다운로드하고 설치한다. 배포판 섹션을 참조하라.
 호스팅된 오픈스택 프라이빗 클라우드  벤더가 기본 하드웨어와 오픈스택 소프트웨어를 포함하여 오픈스택 기반 프라이빗 클라우드를 호스팅한다.
 서비스형 오픈스택 (OpenStack-as-a-Service)  벤더가 오픈스택 관리 소프트웨어(하드웨어 제외)를 서비스로 호스팅한다. 고객은 서비스에 가입하고 이를 내부 서버, 스토리지 및 네트워크와 페어링하여 완전한 운영이 가능한 프라이빗 클라우드를 얻는다.
 어플라이언스 기반 오픈스택  Nebula는 네트워크에 연결하면 오픈스택 배포가 생성되는 어플라이언스를 판매하던 벤더였다.

 배포판 
 브라이트 컴퓨팅
 캐노니컬 (우분투)
 데비안
 HPE (Micro Focus/Suse로 스핀오프 합병됨)
 IBM
 Mirantis
 오라클 오라클 리눅스용 오픈스택 (O3L)
 오라클 솔라리스용 오라클 오픈스택
 레드햇
 Stratoscale
 VM웨어 통합 오픈스택 (VIO)

 같이 보기 
 소프트웨어 정의 네트워킹
 IEEE 802.1aq

 각주 

 외부 링크 






 공식 문서: 
 영상 강의: 
 한국 커뮤니티: 

분류:클라우드 컴퓨팅
분류:파이썬으로 작성된 자유 소프트웨어
분류:2010년 소프트웨어
분류:클라우드 인프라스트럭처
분류:클라우드 컴퓨팅용 자유 소프트웨어