3월 29일 (금) 오전 1:17

logo

  • home
  • head
  • itnews
  • product
  • mobile
  • game
  • benchmark
  • analysis
  • blog

개봉 2023.11.22. / 등급: 12세 관람가 / 장르: 드라마 / 국가: 대한민국 감독 : 김성수 출연 : 황정민, 정우...
노량: 죽음의 바다 / 개봉 2023.12. / 장르: 액션, 드라마 / 국가: 대한민국 감독 : 김한민 출연 : 김윤석, ...
조회 수 815
Micro Service Architecture 에서 인프라 적으로 중요한 개념으로 꼽으면 아래와 같이 2가지로 정리할 수 있다.
  • Application Programming Interface (API)
  • 가상화 (virtualization) 

 

API는 이미 많은 개발자 및 인프라 측면에서 필요성을 느끼고, 서비스를 위한 기업에서는 많이 채택되는 기술이다. 가상화 기술 또한 이미 국내 기업에서도 많이 사용되고 있는 기술이지만, 그에 따른 개발자나 인프라 관리하는 운영자 측면에서 아직 낯설고 이용을 하더라도 그에 따른 문제점을 재기하는 사람들 또한 많다.

 

이번 글에서는 가상화 서비스 중 요즘 이슈가 되고 있는 컨테이너 기반의 가상화에 대해 소개해 보도록 하겠다.

 

서버 가상화란

 

요즘은 클라우드 컴퓨팅 기술의 활용이 보편화되고 있는 추세다. 클라우드 컴퓨팅 기술은 자원을 공유하고 효율적으로 이용할 수 있는 장점으로 인해 요즘 많은 시스템 서비스 구성이 이용되고 있다. 그 핵심 기반 기술로 가상화 (virtualization) 기술을 꼽을 수 있는데, 서버 분야에서 많이 사용되는 서버 가상화 기술에는 Hypervisor기반의 Xen, VMWare, KVM, VirtualBox 등이 있다. Hypervisor기반의 서버 가상화 기술은 물리적 서버 위에 운영체제(이하 호스트 OS)를 설치하고, 자원을 분할하여 가상머신을 생성한 뒤에 게스트OS라는 운영체제를 설치하고 그 위에서 응용 프로그램을 설치한다. 하나의 물리적 시스템에 독자적으로 여러 서버 환경을 운영할 수 있다는 장점은 있으나, 또하나의 OS 자원을 구동하므로 자원의 낭비가 큰 단점을 가지고 있다.

 

서버 가상화의 종류

 

 가상 서버를 생성하는 데는 세가지 방식이 있다. 전가상화(full virtualization), 반가상화(para-virtualization), OS레벨 가상화(OS-level virtualization). 물리 서버는 호스트(host)라고 하며, 가상 서버는 (guest)라 한다.

 전가상화는 하이퍼바이저(hypervisor)라고 하는 특수한 소프트웨어를 사용한다. 하이퍼바이저는 물리 서버의 CPU와 디스크 자원과 직접 통신을 하며, 가상 서버의 운영체제를 위한 기반 역할을 한다. 하이퍼바이저는 각각의 가상 서버들을 독립적으로 운영되도록 각 자원사용이 분리되어 있다.. 게스트 서버는 설치된 각 게스트 OS에서 운영되기 때문에 동시에 리눅스, 윈도우등 다양한 OS를 설치, 운영할 수 있다.  하이퍼바이저는 물리 서버의 자원을 모니터링하여, 물리 서버의 자원을 적절히 할당함으로 운영 자원 활용의 효율성을 극대화 한다.

 반가상화는 게스트 서버 간의 독립성 없이 상호작용한다. 반가상화 하이퍼바이저는 게스트 운영체제를 관리하기 위해 필요한 자원(처리능력)이 상대적으로 적게 든다. 이는 각각의 OS가 동일한 물리 서버에서 운영되는 다른 운영체제에서 필요로 하는 자원을 이미 인지하고 있으며, 이들 시스템은 마치 하나처럼 동작하게 된다.

 

 OS레벨 가상화는가상화 기능이 호스트 OS에 포함되어 있는 경우이다. 따라서 게스트 서버는 반드시 동일한 OS와 동일하게 구동해야 되는 한계를 가지고 있다.

 

가상화의 한계

 

물리적 연산이 많은 즉 CPU 작업이 많은 경우 가상화는 좋지 못한 효율성을 가지고 있다. 더군다나, 여러 가상서버를 동시에 구동하는 경우 성능문제가 더 심각해 진다.

 

또한 많은 가성머신을 하나의 서버에 구동시키는 경우 중복된 자원 사용으로 인한 성능 저하가 심각한 문제를 가지고 있으며, 배포시 OS 이미지를 모두 가지고 있기 때문게 기본적인 가상머신 이미지가 1G~ 300G 까지 그 용량이 매우 커지는 문제점을 가지고 있다.

 

 

새로운 가상화 대체기술 : container 기술

이러한 OS기반의 가상화 문제점을 해결하고자 필수자원에 대해서는 독립적으로 사용하고 그렇지 않은 경우는 공유를 통해 자원의 효율적이 사용을 위해 container 기술이 개발되었다. 그 기반은 linux container 기술로 보통 LXC 라고 부르며 linux kernel을 독립적인 환경에서 사용하기 위한 API를 제공하며, API를 잘 활용해서 만든 것이 Docker이다.

 

 27520A4D56C708390FD2D8

 

 2537CD4D56C7083A1E431C

 Virual Machines 환경

Hypervisor 위에 각각의 Guest OS가 구동되는것을 볼 수 있다.Application에서 Host OS 자원을 활용하기 위해서는 Guest OS를 거쳐야 된다.

 

 Container 기술 환경

기존 Virtual Machine 환경에 비해 Docker Engine을 통해 각 Application은 OS의 자원을 직접 활용할 수 있다. 구조적으로 Guest OS가 없기때문에 용량도 매우 가볍다.



LXC는 다음과 같은 특징을 가지고 있다.

  • Kernel namespaces (ipc, uts, mount, pid, network and user)
  • Apparmor and SELinux profiles
  • Seccomp policies
  • Chroots (using pivot_root)
  • Kernel capabilities
  • CGroups (control groups)

 

개발자 관점에서 컨테이너 기술

컨테이너 기술이 더 많은 혜택을 볼 수 있는 사람들이 있다. Docker Docker 환경은 개발자와 IT 전문가 모두에게 큰 이점을 제공한다.

개발자가 Docker 컨테이너를 빠르게 받아들인 이유는 무엇보다도 Linux 컨테이너를 쉽게 사용할 수 있기 때문이다.

  • 간단한 명령을 사용하여 배포하기 쉬운 고정 이미지를 생성, 이 이미지들을 Docker 파일을 이용해 자동으로 구축

  • 이 이미지들은 푸시 앤 풀 명령을 사용하여 레지스트리에 쉽게 공유

  • 컴퓨터가 아닌 격리된 응용 프로그램 구성 요소를 활용

  • Docker 컨테이너와 다양한 기본 이미지들을 잘 다룰 수 있는 수많은 도구를 사용

 

운영자 입장에서 컨테이너 기술

 

IT 및 운영 전문가 역시 컨테이너 및 가상 컴퓨터를 조합하여 이점을 얻을 수 있다.

  • 컨테이너에서 실행되는 서비스는 VM 호스트 실행 환경에서 격리

  • 컨테이너 내 코드는 동일하게 인증

  • 개발, 테스트, 프로덕션 환경을 가리지 않고 신속하게 시작, 중지, 이동


기업은 시장 경쟁력을 유지하고 고객 만족도 및 도달 범위를 증가시키기 위해 전문 정보 기술 조직이 처리 성능 및 리소스 최적화 작업을 수행할 수 있다.

 

  

VM과 컨테이너 비교

응용 프로그램 요구 사항에 따라 보다 적합한 기능도 있고 그렇지 않은 기능도 있다. 또한 모든 소프트웨어와 마찬가지로 약간 작업을 하면 지원되는 기능을 향상시킬 수 있으며 특히 보안 분야의 기능 지원에서 효과를 볼 수 있다.


 기능

 Virtual Machine

 Container

 보안성 

 높은 수준으로 지원

 약간 낮은 수준으로 지원

 디스크 용량

 전체 OS + Application

 Application Only

 시작 소요 시간

 OS 부팅 및 프로그램 로딩

 매우 짧음

 이식성

 이식성은 좋으나 크기 문제로 이식 속도가 빠르지 않음.

 매우 좋음.

 이미지 자동화

 OS와 Application에 따라 크게 다름

 레지스트리를 통한 편리한 자동화


Docker

 

해물 운송에 필요한 항만시설은 직접 보지 못했다고 하더라도, 뉴스나 다양한 형태로 접해 보았을 것이다. 규격화된 다수의 컨테이너틑 보관하고 각 컨테이너를 필요한 곳으로 빠르게 배송하고 관리하기 위한 시설이 항만시설이며 거기서 일하는 사람을 빗대어 Docker 라고 명명했다.

2013년에 처음 등장했으며,  SW도 항만시설의 컨테이너 처럼 최소 기반만 마련하고 각각 독립된 보관소를 제공하고 빠르게 배포 관리하기 위한 목적으로 opensource 형태로 개발되었다.

 

현재 linux LXC 를 쓰기 때문에  리눅스, 그중에서 ubuntu 기반에서만 docker를 쓸 수 있디만, 기타 container 구동을 위한 OS(coreOS)등이 등장하고 있다

 

 

Docker MSA

 

Micro Service Architecture  핵심인 좋은 Service Module을 만들기 위한 조건은 Loose Coupling High Cohesion이다. Loose Coupling의 완벽한 시스템적인 OS H/W 적으로도 각 서비스들이 완벽히 분리되어야 하며, 동일 성격의 서비스도 각 서비스간의 완벽한 독립성을 유지하여야 한다. 이러한 서비스를 가 분리된 H/W 배포 관리를 위하여 기존 VM 환경에서 관리된다면, 성능 저하 및 배포 사이즈 문제로 인해 구현이 매우 어려운 문제점을 가지고 있다.

따라서 이러한 문제점을 해결하기 위해 가장 작은 단위의 서비스 환경을 구현하고 컨테이너 형태로 배포 관리한다면 기존 VM 보다 훨씬 편리하고 성능적으로도 문제가 없는 환경으로 구축 할 수 있다.

 SW 적으로도 framework 에 대한 의존성을 낮추고 최소 모듈 형태로 서비스가 개발되기 위하여 가장 작은 단위인 Application 개발을 위해 독립 실행 framework 이 필요로 하며 이러한 경우 Spring Boot 나 coreFRAME과 같은 상용 framework 을 이용하여 구축할 수 있다.

  

 

 

참고

https://linuxcontainers.org/lxc/introduction/

http://www-07.ibm.com/solutions/kr/itsolutions/pdf/Virtualization.pdf

출처 - http://cyberx.tistory.com/71






  1. 초연결 시대가 불러올 사이버 공격의 변화: 2020 보안 위협 동향

    전 산업 분야에서 디지털 트랜스포메이션이 진행되고 있다. 비즈니스의 거의 모든 것이 ICT 기반의 인프라도 옮겨가면서 사이버 위협에 대한 우려 또한 심화되고 있다. 특히 지난 2019년 상용화된 5G에 힘...
    Date2020.02.02 CategoryIT KNOWLEDGE
    Read More
  2. 그 많은 2020 트렌드, 한눈에 모아보기

    2020년 새해가 밝았다. 가만히 돌아보면 최근 몇 년 새 유난히 세상이 빠르게 변화하는 느낌이다. 그래서일까. 해마다 연말 즈음이면 필수처럼 경제, 사회 등 각 분야의 트렌드를 예측하는 서적이 쏟아져 ...
    Date2020.01.03 CategoryIT KNOWLEDGE
    Read More
  3. “클라우드, ACI, SD-WAN, 제로 트러스트” 2020년 시스코가 집중할 영역

    Michael Cooney | Network World 업계가 2020년을 준비하고 있는 지금, 네트워크 분야는 조금 불안한 상태이다. 일부 주요 업체, 특히 아리스타(Arista)와 주니퍼(Juniper)가 신규 거래는 예상보다 감소...
    Date2019.12.11 CategoryIT KNOWLEDGE
    Read More
  4. AI 개발을 위한 최적의 프로그래밍 언어 6+2선

    Ian Pointer | InfoWorld 인공지능(Artificial Intelligence, AI)는 애플리케이션 개발자에게 무한한 가능성을 제공한다. 머신러닝 또는 딥 러닝을 활용해 훨씬 더 정확한 사용자 프로필, 개인 맞춤 설...
    Date2019.11.23 CategoryIT KNOWLEDGE
    Read More
  5. "무시해선 안된다" 프린터 보안, CSO가 책임져야

    J.M. Porup | CSO 대부분의 프린터는 안정된 보안 기능을 갖쳐져 있음에도 불구하고 재정 및 조직에서 잘못 배치되어 불안정하다.     ⓒ Getty Images Bank  심피온&NCC 그룹의 2개의 독립적인 보...
    Date2019.11.03 CategoryIT KNOWLEDGE
    Read More
  6. Subnet, 서브넷, Subnet Mask

    안녕하세요? 오리뎅이입니다. 오늘은 subnet에 대해서 정말 정말 쉽게 밑바닥(고수님들 보시면, 손가락 오글거림에 주의 요함. )까치 파헤쳐 보도록 하겠습니다. Subnet이란 것이 어찌 보면 아주 쉬...
    Date2019.10.05 CategoryIT KNOWLEDGE
    Read More
  7. 사이버보안 RSO가 되는 방법

    Frederick Scholl | CSO RSO란 무엇인가? 미국 밴더빌트 대학 교수 랑가라지 라마누잠의 저서 <신뢰성을 위한 조직(Organizing for Reliability)>에 따르면, RSO는 “신뢰성을 추구하는 조직(Reliability...
    Date2019.09.01 CategoryIT KNOWLEDGE
    Read More
  8. "리눅스에 대한 마이크로소프트의 사랑", WSL 2의 이해와 시작하기

    Simon Bisson | InfoWorld 마이크로소프트가 최근 빌드(Build) 컨퍼런스에서 리눅스용 윈도우 서브시스템(Windows Subsystems for Linux, WSL)의 두 번째 버전을 소개했다. 초기의 WSL 개념을 대대적으...
    Date2019.08.15 CategoryIT KNOWLEDGE
    Read More
  9. '줄리아' vs. '파이썬'··· 최고의 데이터 언어 대결

    Serdar Yegulalp | InfoWorld 파이썬은 데이터 분석용 언어로 확고하게 자리를 잡았다. 파이썬 생태계는 과학 계산과 데이터 분석 작업을 빠르고 편리하게 해 주는 라이브러리와 툴, 애플리케이션으로 ...
    Date2019.07.21 CategoryIT KNOWLEDGE
    Read More
  10. “개발자라면 누구나 반할” 서버리스 컴퓨팅의 효용

    Josh Fruhlinger | InfoWorld 개발자는 코드로 비즈니스 문제를 해결하느라 많은 시간을 소비한다. 개발자 다음은 운영 부서 차례다. 운영 부서는 먼저 개발자가 쓴 코드를 가용한 컴퓨터에서 구동하느...
    Date2019.07.05 CategoryIT KNOWLEDGE
    Read More
  11. "쿠버네티스와 컨테이너의 변화를 이끈다" 가장 믿음직한 쿠버네티스 배포판 10선

    Serdar Yegulalp | InfoWorld 쿠버네티스(Kubernetes)는 대규모 컨테이너 오케스트레이션이 필요한 경우 최적의 프로젝트로 꼽힌다. 구글이 만들어낸 오픈소스 컨테이너 시스템 쿠버네티스는 업게의 인...
    Date2019.05.23 CategoryIT KNOWLEDGE
    Read More
  12. 블록체인이 결제 산업의 5G로 각광 받는 이유

    Lucas Mearian | Computerworld 블록체인 기반 결제 네트워크와 명목 화폐 담보 디지털 화폐(미국 최대 은행의 화폐 포함)가 증가하면서 업계 전문가와 애널리스트들은 금융 서비스 산업의 혁신적인 변...
    Date2019.04.06 CategoryIT KNOWLEDGE
    Read More
  13. 모든 파이썬 프로그래머를 위한 20가지 실용적인 파이썬 라이브러리

    Serdar Yegulalp | InfoWorld 파이썬 프로그래밍 언어의 대성공을 이끈 힘은 무엇일까? 물론 답은 네이티브와 서드파티 라이브러리를 가리지 않는 풍부한 파이썬용 라이브러리다. 문제는 파이썬 라이브...
    Date2019.03.17 CategoryIT KNOWLEDGE
    Read More
  14. “떠오르는 와이파이 6, 우리 회사에 맞을까?” 적합성 기준과 준비 사항

    Zeus Kerravala | Network World 차세대 와이파이 표준인 802.11ax, 통칭 와이파이 6를 둘러싼 기대가 높다. 신기술은 업체에 의해 “차세대 대박 상품”으로 선전되다가 기대에 미치지 못하고 실패하는 ...
    Date2019.03.17 CategoryIT KNOWLEDGE
    Read More
  15. "네트워크 보안의 필수" SIEM 툴 TOP 12 평가 비교

    Tim Ferrill | CSO 보안 정보 및 이벤트 관리(Security information and event management, SIEM)은 네트워크 보안 전문가들을 위한 실용적인 툴이다. 이벤트 로그를 관리하고, 리뷰 및 감사하는 작업은...
    Date2019.01.13 CategoryIT KNOWLEDGE
    Read More
  16. SSL/TLS의 이해와 TLS 1.3으로 업그레이드해야 하는 이유

    Josh Fruhlinger | 웹 초창기부터, SSL(Secure Sockets Layer) 프로토콜과 그 후예인 TLS(Transport Layer Security)는 암호화와 보안을 제공해 인터넷 상거래를 가능하게 만들었다. SSL, TLS와 같은 프...
    Date2018.12.16 CategoryIT KNOWLEDGE
    Read More
  17. 2019년 리눅스에 기대해도 좋을 것

    Sandra Henry-Stocker | Network World 2019년은 리눅스의 해가 될지도 모른다. 리눅스가 드디어 유력 집단으로써 인정 받는 해가 될 수도 있다. 사물 인터넷(IoT), 클라우드 기술, 슈퍼컴퓨터, 인공 지...
    Date2018.12.07 CategoryIT KNOWLEDGE
    Read More
  18. "JDK란 무엇인가" 자바 개발 키트 소개와 설치하기

    Matthew Tyson | JavaWorld 자바 개발 키트(Java Development Kit, JDK)는 자바 애플리케이션을 구축하기 위한 핵심 플랫폼 구성요소다. 이 중심에는 자바 컴파일러(Compiler)가 있다. Credit: Nic Mc...
    Date2018.09.25 CategoryIT KNOWLEDGE
    Read More
  19. 리눅스 디렉토리 구조와 의미

    리눅스는 최상위 /(root)를 기본으로 하며 모든 디렉토리들이 /를 거치게 되는게 가장 큰 특징입니다. 디렉토리 설명 / 최상위에 위치하는 디렉토리이며 루트 디렉토리라고 부름. 일반적인 데...
    Date2018.08.06 CategoryIT KNOWLEDGE
    Read More
  20. 단방향 전송, 반이중전송, 전이중 전송, 허브, 스위치, 라우터, 토폴로지

    * 랜카드  - 근거리 통신망에 접속하기 위한 장비  - 최근에 메인보드에 통합 1. 반이중 방식(Half-Duplex)  - 양방향으로 데이터가 전송  - 동시에 전송 불가능  - 충돌을 피하기 위해 상대방의 데이...
    Date2018.06.22 CategoryIT KNOWLEDGE
    Read More
  21. 프록시 서버(Proxy Server)에 대해

    * Server에서 Proxy란? 출처: wikipedia.org Proxy Server 는 클라이언트가 자신을 통해서 다른 네트워크 서비스에 간접적으로 접속할 수 있게 해 주는 컴퓨터 Server 와 Client 사이에서 중계기로...
    Date2018.05.06 CategoryIT KNOWLEDGE
    Read More
  22. DNS의 작동원리와 이를 공격하는 방법

    Keith Shaw | Network World 도메인 이름 시스템(Domain Name System, DNS)은 인터넷 기반 가운데 하나지만 네트워킹 종사자를 제외한 대부분의 사람은 매일 일을 하고 이메일을 확인하고 스마트폰으로 ...
    Date2018.04.15 CategoryIT KNOWLEDGE
    Read More
  23. MPLS의 이해 (Multi-Protocol Label Switch)

    Neal Weinberg, Johna Till Johnson | Network World MPLS(Multi-Protocol Label Switching)의 핵심은 서비스가 아니라 기술이며, IP VPN부터 메트로 이더넷에 이르기까지 온갖 기능을 제공할 수 있다. ...
    Date2018.03.21 CategoryIT KNOWLEDGE
    Read More
  24. SD 브랜치와 보안, 스토리지, IoT의 관계

    Ciaran Roche | Network World SD-WAN의 자연스러운 계승자로 SD 브랜치(SD-Branch)가 회자되기 시작했다. 중앙집중화된 오케스트레이션 모델은 많은 대기업들에게 매력적일 수밖에 없다. 하지만 SD-WAN...
    Date2018.03.04 CategoryIT KNOWLEDGE
    Read More
  25. 취약점 표준코드 CVE의 개념과 목적

    Taylor Armerding | CSO CVE는 '정보 보안 취약점 표준 코드(Common Vulnerabilities and Exposures)'의 약자이다. 1999년, 미국 연방 정부의 후원을 받는 비영리 연구 개발 기관인 MITRE가 소프트웨어...
    Date2018.02.03 CategoryIT KNOWLEDGE
    Read More
  26. SYN Flooding,Teardrop,세션 하이젝킹,패킷 필터링 등

    1. SYN Flooding 공격에 대한 조치 방법  - 클라이언트가 서버에게 요구한 SYN 개수보다 큰 Connect Queue Size를 증대시킨다.  - Backlog Queue 사이즈를 늘려준다.  - 중간 게이트웨이에서 SYN 패킷이 ...
    Date2018.01.20 CategoryIT KNOWLEDGE
    Read More
  27. SSL, HTTPS, 개인키, 공개키, 암호화에 대해

    *SSL, 인증서란? SSL(Secure Socket Layer) 프로토콜은 처음에 Netscape사에서 웹서버와 브라우저 사이의 보안을 위해 만들었다. SSL은 Certificate Authority(CA)라 불리는 서드 파티로부터 서버와 클라이...
    Date2017.12.30 CategoryIT KNOWLEDGE
    Read More
  28. 리플(XRP, Ripple)이란?

    [요약] 발행될 수 있는 코인 양이 1000억 개로 한정돼 있으며 채굴 방식을 사용하지 않는 가상화폐 외국어 표기 XRP, Ripple(영어) 본래 2004년 리플페이...
    Date2017.12.30 CategoryIT KNOWLEDGE
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7