관심 있는 데이터 사이언스 분야 중, 데이터 센터 프로그래밍에 적합한 OS 를 알아보았다.

먼저 데이터 센터에 대한 내용, 운영체제에 대한 내용 등의 기본적인 내용을 다뤄보겠다.

데이터 센터란?

현대의 기업은 통신, 정보 저장, 회계, 일상적인 업무 등 비즈니스 운영의 거의 모든 측면에 컴퓨터를 사용합니다데이터 센터는 기업 컴퓨터, 네트워크, 스토리지, 그리고 비즈니스 운영을 지원하는 기타 IT 장비가 위치하는 중앙집중식 물리적 시설입니다. 데이터 센터 내 컴퓨터는 비즈니스 크리티컬 애플리케이션, 서비스, 데이터를 포함하거나 지원합니다.

운영체제 (OS) 란 무엇일까 ?
 Operating System

 
운영체제 (OS)라고 하면 우린 흔히 MS의 윈도우(Windows)와 같은 걸 떠올릴 수 있을 텐데요. 좀 더 상세하게 알아보자면,   하드웨어와 직접적으로 연관되어 시스템 하드웨어를 관리하고 드라이버와 같은 응용 소프트웨어를 실행하는 등 사용자가 컴퓨터를 쉽게 다룰 수 있도록 해주는 시스템 소프트웨어 입니다.

 
최근에는 가상화 기술 발전으로 인해 실제 하드웨어가 아니라 하이퍼바이저라고 하는 가상화 머신 모니터에 설치되기도 하죠. 좀 더 큰 의미로 보자면 하드웨어, 소프트웨어 둘 모두를 아우르는 소프트웨어 전체라고도 말할 수 있는데요. PC용 윈도우(Windows)뿐만 아니라 전원이 켜지면 사용자의 명령에 따라 동작하는 모든 것들을 관리하는 것 역시  운영체제 (OS)라고 할 수 있으며 따라서 그 종류는 어마어마하게 많습니다.


데이터 센터의 규모는 캐비넷, 전용 룸, 창고 크기 등으로 다양합니다. 데이터 센터에 많은 IT 장비를 보유한 기업인 경우에는 2개 이상의 데이터 센터 시설이 필요할 수 있습니다. 또한 서버 공간을 임대하거나 외부에 데이터 센터 유지 보수를 맡길 수도 있습니다


데이터 센터는 운영 또는 저장 규모를 늘리기 위해 프라이빗 또는 퍼블릭 클라우드를 사용하여 물리적 시설 외부로까지 확장될 수 있습니다. 가상화된 데이터 센터는 보다 큰 규모의 워크로드 실행에 필요한 경우 원격 지점에 위치한 서버를 사용할 수 있습니다.

최신 데이터 센터의 요구 사항

데이터 센터에는 고가의 IT 장비가 있기 때문에 보안 및 전력에 대한 특별한 요구 사항을 충족해야 합니다.

충분한 양의 안정적인 전력데이터 센터 내 장비에는 즉시 사용 가능한 예비 전력을 통해 중단에 대비할 수 있는 전원을 통한 대량의 전력이 필요한 경우가 많습니다. 가상화된 데이터 센터 또는 Software-Defined Data Center는 기존의 데이터 센터에 비해 효율성이 높고 필요 전력이 훨씬 낮습니다.

냉각 환경데이터 센터 내 모든 전원과 장비는 많은 열을 발산하기 때문에 데이터 센터에는 최적의 작동을 위해 냉각 장비가 필요한 경우가 많습니다. 습기로 인해 컴퓨터가 손상될 수 있기 때문에 화재로부터 데이터 센터 내 장비를 보호하기 위해 스프링클러를 사용할 수는 없습니다. 대신, 데이터 센터는 전자 장비에 대한 손상 없이 불을 끄는 화학적인 방화 시스템을 사용할 수 있습니다.

물리적 및 가상 보안 조치데이터 센터는 비즈니스 크리티컬 애플리케이션과 정보를 보유하고 있기 때문에 보안은 모든 데이터 센터에서 중요한 요소입니다. 민감한 고객 또는 회사 데이터가 노출되는 침해가 발생하는 경우 수십만 달러의 비용이 발생할 수 있으며, 최악의 경우 회사의 브랜드와 비즈니스에 피해가 발생할 수 있습니다. 데이터 센터의 보안을 유지하고 비즈니스가 데이터 침해에 취약하지 않도록 하려면 물리적인 보안 조치와 가상 보안 조치가 모두 필요합니다. 데이터 센터는 잠금 장치, 비디오 감시, 액세스 제한 등의 물리적인 보안 조치를 통해 도난을 방지해야 합니다. 네트워크 및 애플리케이션 보안 소프트웨어는 필수적인 가상 보안 조치를 제공할 수 있습니다.

계층형 데이터 센터

데이터 센터에는 다양한 수준의 보안, 지연 시간, 복원력이 존재할 수 있으며, 이러한 수준을 가리켜 계층이라고 합니다. 계층형 데이터 센터는 계층형 데이터 스토리지가 가능하여 사용자가 가장 자주 액세스하거나 고성능을 요하는 애플리케이션의 파일과 데이터가 하나의 계층에 위치하고 액세스가 비교적 자주 발생하지 않는 데이터는 다른 계층에 위치할 수 있습니다. 퍼블릭 클라우드에 기반을 둔 서비스로서의 스토리지(Storage-as-a-Service) 모델에서는 일반적으로 지연 시간이 짧은 계층이 지연 시간이 긴 계층보다 가격이 높습니다.


일반적으로 지연 시간이 가장 짧고 액세스가 가장 빠른 계층이 사용자와의 거리가 가장 가깝기 때문에 사용자가 매일 손쉽게 상호작용할 수 있습니다. 가장 빠른 계층을 가리켜 티어 제로(Tier Zero)라고 합니다. 빅데이터 분석을 위해 고성능 컴퓨팅을 사용하는 금융 서비스나 의학 연구와 같은 비즈니스에서 티어 제로 스토리지를 사용하는 경우가 많습니다. 이보다 스토리지 성능이 낮은 계층은 주요 계층의 백업이나 액세스 빈도가 상대적으로 낮은 데이터 스토리지로 사용할 수 있습니다. 보관된 데이터는 지연 시간이 길어도 그다지 문제가 되지 않는 가장 낮고 비용이 가장 적게 드는 스토리지 계층에 위치할 수 있습니다.

 

데이터 센터의 가상화

물리적인 데이터 센터는 공간이 제약되어 있고 하드웨어와 장비에 의존한다는 점에서 한계가 있습니다. 이제 서버를 가상화하여 가상 머신에서 처리 성능과 메모리를 하드웨어로부터 분리할 수 있습니다. 데이터 센터 가상화를 통해 시스템 관리자는 원격 서버를 사용하여 가상 데이터 센터 인프라를 구축함으로써 워크로드와 스토리지를 공유할 수 있습니다. 가상 데이터 센터는 기존의 물리적인 데이터 센터에 비해 더 적은 장비, 전력, 공간이 필요합니다. 또한 가상 데이터 센터는 더 많은 스토리지나 처리 리소스가 필요한 경우 퍼블릭 또는 프라이빗 클라우드에 액세스 또는 "버스팅(burst)"할 수 있습니다. 가상 데이터 센터가 제공하는 네트워킹과 스토리지 등 모든 서비스는 하드웨어가 아닌 소프트웨어를 통해 제공되기 때문에 가상 데이터 센터를 Software-Defined Data Center라고도 합니다.

 

클라우드 서비스 공급업체는 가상화된 데이터 센터를 서비스로 제공할 수 있어 회사의 핵심적인 운영, 네트워킹, 스토리지의 관리와 제공을 담당합니다. 이러한 공급업체는 여러 회사 간에 가상 네트워크, 스토리지, 서버를 공유하여 필요에 따라 서버 간에 스토리지 공간과 워크로드 처리를 이동합니다. 또한 조직은 자체 인프라의 일부를 사용하여 이러한 작업을 위한 프라이빗 클라우드를 구축하거나 프라이빗과 퍼블릭 클라우드의 조합, 즉 하이브리드 클라우드 환경을 사용할 수 있습니다. 가상 데이터 센터는 기존의 물리적인 데이터 센터와 공존하여 동시에 실행될 수 있으며, 혹은 기업에서 현대적인 데이터 센터 장비를 사용하여 완전한 가상 데이터 센터를 운영할 수 있습니다하이퍼 컨버지드 인프라(HCI)는 컴퓨팅, 스토리지, 네트워킹 장비를 가상화 소프트웨어와 통합하고 최적화하여 이를 단일 시스템으로 운영합니다. HCI를 사용하면 데이터 센터의 모든 기능이 하드웨어와 긴밀히 통합된 소프트웨어에서 실행됩니다. 이러한 소프트웨어 기반 방식을 통해, 이전에는 서버 하드웨어를 수동으로 조정해야 했던 스토리지 작업과 운영을 자동화할 수 있습니다.

 

데이터 센터 프로그래밍의 최신 운영체제 조사

1. 노키아 NOS, SR리눅스(Service Router Linux), FSP(Fabric Service Platform)

 노키아는 데이터센터 패브릭을 재정의할 새로운 최신 네트워크 운영 체제(NOS)를 비롯해, 선언형 인텐트 기반 자동화(intent-based automation) 및 운영 툴킷을 새롭게 선보였다.

 
이를 통해 클라우드 및 데이터센터 구축 사업자들은 5G, 인더스트리 4.0과 같은 기술 전환(technology shift)으로 인하여 매년 기하급수적으로 증가하는 트래픽 증가와 지속적인 변화에 있어, 보다 효율적으로 운영을 확장하고 조정할 수 있을 것으로 기대된다.

 
이번에 새롭게 발표된 노키아의 SR 리눅스(Service Router Linux) NOS와 노키아 FSP(Fabric Service Platform)는 이미 자사의 데이터센터에 해당 기술을 구축 중인 애플을 비롯해 전세계의 선도적인 웹스케일 기업들과 함께 공동 개발했다.

 
노키아에 따르면, 클라우드 기반 애플리케이션에 대한 수요는 물론, AI, 머신러닝, AR/VR과 같은 새로운 기술의 급격한 이용 증가로 인해, 오늘날 클라우드 구축 사업자들은 네트워크 구성요소부터 광범위한 데이터센터 운영 과 모니터링에 이르기까지 전례 없는 수준의 커스터마이징과 유연성을 필요로 하고 있다.

 
노키아 SR 리눅스는 최초의 최신 마이크로서비스 기반 NOS, 진정한 아키텍처의 진일보를 보여준다. SR 리눅스 NDK(NetOps Development Kit)는 완벽하고 풍부한 프로그래밍 기능을 제공하고 있다. 애플리케이션은 다시 컴파일링하거나 언어의 제한 및 종속 없이도 gRPC(Remote Procedure Call)나 프로토콜 버퍼(protobuf)와 같은 최신 툴을 통해 손쉽게 통합된다. SR리눅스는 노키아의 캐리어급 라우터로 구축된 대규모 사이트를 나타내는 트레이드마크인 SROS(Service Router Operating System)로부터 노키아의 검증된 인터넷 프로토콜을 계승한다. SR 리눅스는 업계 최초의 유연하고 개방적인 네트워크 애플리케이션 개발 환경을 지원한다.

 
노키아 FSP는 클라우드 구축 사업자들이 네트워크의 인텐트 및 정책 기반 운영을 구현하는 데 필요한 일련의 툴을 제공한다. FSP는 노드 중심의 관리 시스템 외에, 강력한 네트워크 레벨 구성을 통해 전체 데이터센터 네트워크 구축에서부터 배치 및 모니터링까지 구현할 수 있도록 설계됐다. 게다가, FSP에는 유효성 검사 및 문제 해결을 위한 실시간 상태수정 가상 디지털 트윈(digital twin)과 같이 대형 클라우드 구축 사업자들만 사용 가능한 기술이 포함된다.

 
이 통합 솔루션은 개방성, 유연성, 견고성, 자동화 기능을 제공함으로써, 데이터센터 및 클라우드 환경을 보다 쉽게 확장, 적용 및 운영할 수 있도록 지원한다.

 
바질 알완(Basil Alwan) 노키아 IP 및 옵티컬 네트웍스 총괄은수십년 동안 전 세계 통신사업자들에게 서비스를 제공해 오면서, 우리는 비즈니스 및 미션 크리티컬 IP 네트워크를 전 세계적으로 구축하고, 운영해야 하는 엔지니어링 문제들에 대해 공감할 수 있게 됐다. 그러나 오늘날의 대규모 데이터센터에는 그들 나름대로의 고유한 운영상의 문제들이 있다. 이러한 상황에서 SR 리눅스 프로젝트는 애플 및 다른 기업들과의 파트너십을 토대로아무 것도 없는 깨끗한 상태(clean-sheet)’에서 다시 시작하는 생각의 전환이었다. 그 결과 우리는 매우 깊이 있는 디자인을 도출할 수 있었고, 결국 미래를 위해 필요한 균형을 얻을 수 있게 되었다고 말했다.

2. 알파인 리눅스

대규모의 데이터 분석을 위해서는 슈퍼컴퓨터가 필요하고, 서버를 운영하다보면 성능이 좋은 서버로 교체하거나 서버에 필요한 항목을 추가하는 등의 작업을 겪는다. 이 때 아무리 서버 운영에 능숙한 사람이라도 잘못 건드리면 되돌릴 수 없는 상황이 발생한다. 이러한 문제를 방지하기 위해 컨테이너 기반의 오픈 소스 가상화 플랫폼인 Docker 라는 도구를 사용한다. Docker를 활용하면 각 소프트웨어 요소들이 설치된 형태를 이미지화해서 저장할 수 있다. 이미지화된 항목이 연걸되어 동작하도록 문서 형태로도 보관이 가능하다. 필요한 사항에 대해 설치만 하면 되므로 수월한 작업이 가능해진다.

 Docker는 컨테이너라는 독립적인 가상 공간을 만들어 설치하는데, VirtualBox와 같은 가상 컴퓨터와는 다르다. 가상 컴퓨터의 가상 OS Host OS의 공간 일부를 직접적으로 사용하기에 물리적 메모리의 한계가 있지만, Docker Docker엔진 위에서 각각의 컨테이너가 독립적으로 실행하도록 이루어진다. 그렇기에 가상 컴퓨터에 비해 가볍고 빠른 실행이 가능하다. 이러한 Docker 기술로 인해 개발 환경이 많이 개선되었으며, 현재 480  여 종의 모든 리눅스 배포판에서 작동하며 그 중에서도 Docker 실행에 특화된 배포판이 별도로 존재한다. 그 대표적인 Linux 운영체재가 바로 알파인 리눅스 다.

Alpine Linux Linux Router Project Leaf의 프로젝트 포크로 시작되었다. 당시 Leaf는 단일 ㅍ,ㄹ로피 디스크안에 들어갈 수 있는 리눅스를 만드는 것을 목표로 했다. 그런데 알파인 리눅스는 웹 서버의 속도를 높이고 트래픽을 걸러서 안정성을 높이기 위핸 Squid 등의 패키지를 추가하거나 보안을 높이는 것에 관심이 있었다. 그렇게 알파인 리눅스의 초판이 205년에 출시되었고, 이 역시 오픈소스로서 Gitlab이나 공식 홈페이지를 통해 코드를 공개하고 있다.

 알파인 리눅스의 철학은 3 가지다. Small, Simple, Secure. 풀어서 설명하면 보안 지향적이며, musl libc busybox를 기반으로 하는 경량의 리눅스 배포판이라는 것. 여기서 musl libc MIT에서 출시한 리눅스 기반으로, 보안에 중점을 두고 적은 공간으로 작성된 C 표준 라이브러리다. BusyBox는 서버 운영을 위해 필요한 패키지를 담은 것인데, 모든 명령을 단일 실행파일에 담아 극단적인 경량으로 제작되어 효율성이 높다.

(기본 C runtime glibc 대신 musl libc 사용, 다양한 쉘 명령어는 GNU util 대신 busybox 사용)

실제로 Docker의 기본 이미지 크기가 우분투가 188MB를 차지하는 반면, 알파인은 5MB를 차지한다. 이는 Embedded나 네트웍 서버 등 특정 용도에 적합하다. 알파인 리눅스의 이미지 용량의 효율만 타 리눅스 배포판에 비해 30배 이상 뛰어나다. 보안만 확실 하다면 알파인 리눅스를 통해 Docker를 활용하지 않을 수 없는 것이다. 강화 된 커널을 사용하고 모든 사용자 공간 바이너리 를 스택 스매싱 보호 기능을 갖춘 위치 독립적 실행 파일로 컴파일로 컴파일 한다.

 


+
추가적인 정보 (기본적인 내용)

정보 기술(IT) 인프라는 엔터프라이즈 IT 환경을 운영하고 관리하는 데 필요한 구성 요소입니다. IT 인프라는 클라우드 컴퓨팅 시스템이나 조직의 자체 시설 내부에 배포할 수 있습니다.

이러한 구성 요소에는 하드웨어, 소프트웨어, 네트워킹 구성 요소, 운영 체제(OS), 데이터 스토리지가 있으며 모두 IT 서비스 및 솔루션을 제공하는 데 사용됩니다. IT 인프라 제품은 소프트웨어 정의 스토리지처럼 기존 IT 리소스를 기반으로 실행되는 다운로드 가능한 소프트웨어 애플리케이션이나서비스로서의 인프라(Infrastructure-as-a-Service, IaaS)처럼 서비스 공급업체가 제공하는 온라인 솔루션의 형태로 사용 가능합니다.

하드웨어

하드웨어에는 서버, 데이터센터, 개인용 컴퓨터, 라우터, 스위치, 기타 장비가 포함됩니다.

데이터센터를 보관하고, 냉각하고, 동력을 공급하는 시설 또한 인프라로 간주됩니다.

소프트웨어

소프트웨어란 웹 서버, 콘텐츠 관리 시스템Linux®와 같은 OS 등 기업에서 사용하는 애플리케이션을 의미합니다. OS는 시스템 리소스 및 하드웨어를 관리하며, 애플리케이션과 하드웨어 사이에서 모든 소프트웨어와 작업을 수행하는 물리적 리소스를 연결합니다.

네트워킹

상호 연결된 네트워크 구성 요소는 네트워크 운영, 관리, 내부 및 외부 시스템 간 커뮤니케이션을 지원합니다. 네트워크는 인터넷 연결, 네트워크 활성화, 방화벽 및 보안을 비롯해 라우터, 스위치, 케이블 같은 하드웨어로 구성됩니다.

전통적인 인프라

전통적인 인프라의 경우 데이터센터, 데이터 스토리지를 비롯한 구성 요소는 모두 기업의 자체 시설에서 소유하고 관리해야 합니다. 전통적인 인프라는 실행하는 데 비용이 많이 들고 서버와 같은 하드웨어, 전력 및 물리적 공간이 대량으로 필요하다고 생각되는 경우가 많습니다.

클라우드 인프라

클라우드 인프라는 클라우드 컴퓨팅에 필요한 구성 요소와 리소스를 뜻합니다. 전용 리소스를 사용해 프라이빗 클라우드를 자체적으로 구축하거나 AlibabaAmazonGoogleIBMMicrosoft  클라우드 제공업체의 클라우드 인프라를 대여해 퍼블릭 클라우드를 사용할 수도 있습니다. 또는 멀티클라우드 전반에 대해 특정 수준의 워크로드 이식성, 오케스트레이션, 관리 기능을 통합하여 하이브리드 클라우드를 구축할 수도 있습니다.

하이퍼컨버지드 인프라

하이퍼컨버지드 인프라를 사용하면 단일 인터페이스에서 컴퓨팅, 네트워크, 데이터 스토리지 리소스를 관리할 수 있습니다. 소프트웨어 정의 컴퓨팅 및 데이터 스토리지가 번들로 제공되므로, 업계 표준 하드웨어에서 확장 가능한 아키텍처로 보다 현대적인 워크로드를 지원할 수 있습니다.

IT 인프라 관리

IT 인프라 관리는 IT 리소스, 시스템, 플랫폼, 인력, 환경을 제어하는 것입니다. 다음은 일반적인 기술 인프라 관리 유형입니다.

OS 관리콘텐츠, 패치, 프로비저닝, 서브스크립션 관리를 제공하여 동일한 OS를 실행하는 환경을 관리합니다.

클라우드 관리: 클라우드 관리자는 리소스 배포, 사용, 통합, 재해 복구를 관리하여 최종 사용자, 데이터, 애플리케이션, 서비스 등 클라우드에서 실행되는 모든 항목을 제어할 수 있습니다.

가상화 관리: 가상 환경과 그 기반이 되는 물리 하드웨어를 인터페이스로 연결해 리소스 관리를 단순화하고, 데이터 분석을 강화하며, 운영을 간소화합니다.

IT 운영 관리: 비즈니스 프로세스 관리라고도 알려져 있으며 종종 반복되거나, 진행 중이거나, 예측 가능한 비즈니스 프로세스를 모델링하고, 분석하고, 최적화하는 방식입니다.

IT 자동화: 직원이 IT 시스템과의 상호 작용을 대체하거나 줄일 수 있도록 반복 가능한 지침과 프로세스를 만듭니다. 인프라 자동화라고도 알려져 있습니다.

컨테이너 오케스트레이션컨테이너의 배포, 관리, 확장, 네트워킹을 자동화합니다.

설정 관리: 컴퓨터 시스템, 서버, 소프트웨어를 적합한 상태로 일관되게 유지관리합니다.

API 관리: 엔터프라이즈 및 클라우드 전반에서 애플리케이션과 데이터를 연결하는 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API)를 배포, 제어 및 분석합니다.

리스크 관리: 리스크를 식별하고 평가하며, 해당 리스크와 그 잠재적인 영향을 최소화하거나 제어하기 위한 계획을 세웁니다.

+ Recent posts