3월 28일 (목) 오후 10:59

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. 이더리움에 대해(Ethereum)

    이더리움(Ethereum)은 비탈리크 부테린(Vitalik Buterin)이 2014년 개발했습니다. 거래 명세가 담긴 블록이 사슬처럼 이어지는 블록체인(blockchain)을 기반으로 하며 네트워크만 연결되어 있다면...
    Date2017.12.16 CategoryIT KNOWLEDGE
    Read More
  2. 사물 인터넷 정의 : 필수 IoT 용어 가이드

    Jon Gold | Network World 사물 인터넷과 관련해서는 온갖 프로토콜과 표준, 기술 약어가 난무한다. IoT 언어를 조금 더 이해하기 쉽도록 하기 위해 이러한 모호한 용어들의 의미를 정리했다. 6LoWPAN : 약...
    Date2017.11.06 CategoryIT KNOWLEDGE
    Read More
  3. “빅데이터란 무엇인가?” 구성요소와 기반 기술의 이해

    InfoWorld staff | InfoWorld 인간은 매일 먹고 일하고 놀고 데이터를 생산한다. IBM에 따르면 인류가 하루에 생산하는 데이터의 양은 무려 250경 바이트에 이른다. DVD를 쌓는다면 달까지 왕복할 만큼...
    Date2017.09.16 CategoryIT KNOWLEDGE
    Read More
  4. 비트코인의 이점은 무엇인가

    비트코인은 매우 낮은 비용으로 돈을 교환할 수 있는 가장 간단한 방법입니다. 보다 쉬운 모바일 결제모바일로 비트코인 결제를 하실 때에는 "스캔-앤-페이" 두 단계만 거치면 됩니다. 카드...
    Date2017.08.11 CategoryIT KNOWLEDGE
    Read More
  5. 5G란 무엇인가 : 현황, 기술개발, 해결과제, 일정, 전망

    Craig Mathias | Network World 5G라고 알려진 차세대 무선 WAN 통신이 조만간 언론의 1면을 장식할 것으로 보인다. 5G는 유선 보완제에서 유선 대체제로 이동통신의 진화를 완성할 것이며, 전략적으...
    Date2017.07.15 CategoryIT KNOWLEDGE
    Read More
  6. [보안NW] 내부망, DMZ구간, 외부망 이란?

    개인정보보호법이 시행되면서 개인정보보호의 기술적 보호대책을 위해 내부망, DMZ구간, 외부망이라는 말이 많이 언급되고 있습니다. 내부관리계획을 세우다보면, 내부망을 단순히 사내조직원들끼리 사용...
    Date2017.07.08 CategoryIT KNOWLEDGE
    Read More
  7. Wireless Multicast 무선구간 멀티캐스트

    * Lesson 2 Describing Implications for Multicast in 802.11 (p223) 멀티캐스트는 유선쪽에서 오는 트래픽을 무선 STA에 배포 하거나 혹은 모빌리티 메시지 정보를 교환하는데 사용 합니다.     -----...
    Date2017.06.10 CategoryIT KNOWLEDGE
    Read More
  8. L2TPv3 프로토콜, VPN

    L2TPv3(Layer 2 Tunnel Protocol Version 3, RFC 3931)은 Layer2 의 프레임을 그대로 IP 캡슐화해서 remote 측으로 전달하는 프로토콜이다. 즉 CDP, STP, ARP 까지 사업자를 통해서 remote 측으로 전달 ...
    Date2017.05.13 CategoryIT KNOWLEDGE
    Read More
  9. 리눅스 vi 명령어 모음

    <command mode> h 왼쪽 j 아래 k 위 l 오른쪽 H,J,K,L(대문자): 끝까지 이동 w: 단어의 처음 특수기호 인식 왼->오 공백인식 b: 단어의처음 특수기호 인식 오->왼 공백인식 e: 단...
    Date2017.04.10 CategoryIT KNOWLEDGE
    Read More
  10. L4 스위치/Alteon SLB/서버로드밸런싱

    대부분의 네트워크망에서 꼭 알아야지만 전체 트래픽의 흐름도를 알 수 있는 Layer4 Switch 입니다. 일단 가장 Layer4 SW를 많이 사용하는 SLB(Server Load Balancing)부터 알아보겠습니다. 이후 방...
    Date2017.02.27 CategoryIT KNOWLEDGE
    Read More
  11. 프로그래밍 언어별 딥러닝 라이브러리 정리

    AI Korea Open 그룹에서도 라이브러리에 관한 투표가 있었고, 많은 분들이 관심있어할 만한 부분이라 생각해서 한 번 정리해 봤습니다! (AI Korea Open 그룹의 투표 결과) Python요즘 뜨는 언어답게, ...
    Date2017.02.02 CategoryIT KNOWLEDGE
    Read More
  12. DevOps (데브옵스)에 대하여

    최근에 DevOps(데브옵스)라는 개발방법론이 솔솔 들리고 있다.  데브옵스는 개발(Development) + 운영(Operation)을 합친 말로 개발와 운영의 상호작용을 원할하게 하는데 있다고 합니다.  [마이크로소...
    Date2016.12.27 CategoryIT KNOWLEDGE
    Read More
  13. 색공간 (sRGB, 어도비 RGB 등)

    목차가장 기본적인 색공간 RGB sRGB(standard RGB) 애플 RGB(Apple RGB) 어도비 RGB(Adobe RGB) 비디오에서 가장 많이 사용하는 색공간 YUV, YCbCr/YPbPr NTSC의 색공간 YIQ 인쇄 매체의 핵심 색공간 CMY, ...
    Date2016.11.25 CategoryIT KNOWLEDGE
    Read More
  14. 2016 SDS 그 유형과 소비 형태에 관해

    소프트웨어 정의 스토리지, Software defined storage(이하 SDS)가 어느 정도 업계에 많이 알려지고 실제로 도입되는 경우가 발생하면서 SDS에 대한 궁금함이 더욱 더 많이 생기고 있습니다. 업계의 많은 ...
    Date2016.11.04 CategoryIT KNOWLEDGE
    Read More
  15. 하둡, HDFS, 맵리듀스 개념

    빅 데이터는 클라우드 컴퓨팅만큼이나 널리 확산되고 있는 개념이다. 그러나 빅 데이터의 역량과 한계에 관해서는 사람들이 잘못 알고 있는 부분들이 많다. 특히 빅 데이터와 관련해 사람들은 다음의 질문...
    Date2016.09.21 CategoryIT KNOWLEDGE
    Read More
  16. 스토리지 풀 개요 (Storage Pool)

    풀 또는 스토리지 풀은 지정된 볼륨 세트에 대한 모든 데이터를 공동으로 포함하는 MDisk 콜렉션입니다. 그림 1은 네 개의 MDisk가 있는 스토리지 풀을 나타냅니다. 그림 1. 스토리지 풀 풀의 모든 MDi...
    Date2016.08.22 CategoryIT KNOWLEDGE
    Read More
  17. Windows Dump 구성 및 강제 생성

    Windows에서 강제로 덤프 생성하기 Action Plan 1. What: Full dump 저장을 위해 Page file을 총 메모리+1MB 정도로 증설 What: ASR 비활성화 To do. 1) Win7 > 제어판\시스템 및 보안\시스템 > 고급 선...
    Date2016.07.29 CategoryIT KNOWLEDGE
    Read More
  18. SMP(Symmetric Multi-Processing) vs AMP(Asymmetric Multi-Processing)

    오늘은 SMP와 AMP에 대해 간략히 학습하는 시간을 갖도록 하겠습니다. 1. SMP(Symmetric Multi-Processing) SMP은 두 개 이상의 동일한 프로세서가 하나의 메모리, I/O 디바이스, 인터럽트 등의 자원...
    Date2016.06.20 CategoryIT KNOWLEDGE
    Read More
  19. 쿨러 베어링 타입별 특징 (슬리브/볼/FDB)

    베어링 [bearing] : 회전하고 있는 기계의 축을 일정한 위치에 고정시키고 축의 자중과 축에 걸리는 하중을 지지하면서 축을 회전시키는 역할을 하는 기계 요소 냉각팬의 베어링 방식에...
    Date2016.05.11 CategoryIT KNOWLEDGE
    Read More
  20. 컨테이너 기반 가상화 기술

    Micro Service Architecture 에서 인프라 적으로 중요한 개념으로 꼽으면 아래와 같이 2가지로 정리할 수 있다.Application Programming Interface (API) 가상화 (virtualization) API는 이미 많은 개발...
    Date2016.04.29 CategoryIT KNOWLEDGE
    Read More
  21. 하이퍼 컨버지드 인프라 (Hyperconverged Integrated System)

    통합 시스템, 컨버지드 인프라 등으로 불리는 Integrated System의 성장과 발전이 데이터센터 전체에 상당히 크게 영향을 미칠 것으로 보입니다. 시장 조사 기관인 가트너에 따르면 2014년부터 2019년에 이...
    Date2016.03.22 CategoryIT KNOWLEDGE
    Read More
  22. 모바일IP 이론

    * Mobile IP (모바일 IP) : 모바일 IP 에 대해서 알아본다. 1. Mobile IP 정의 Mobile IP는 IETF 표준 통신 프로토콜로, 이동 기기 사용자로 하여금 한...
    Date2016.03.14 CategoryIT KNOWLEDGE
    Read More
  23. 윈도우10 단축키 모음

    윈도우 +1, +2, etc 바탕 화면으로 전환하고 시작 N을 작업 표시 줄에 응용 번째. 예를 들어,에서 번호 응용 프로그램이 목록에 첫 번째 중 하나 발사, 왼쪽에서 오른쪽으로. 윈도우 + 작업 센...
    Date2016.03.05
    Read More
  24. TLS 전송계층보안

    인터넷에서의 정보를 암호화해서 송수신하는 프로토콜. 넷스케이프 커뮤니케이션스사가 개발한 SSL(Secure Sockets Layer)에서 기반한 기술로, 국제 인터넷 표준화 기구에서 표준으로 인정받은 프로토콜이...
    Date2016.02.04 CategoryIT KNOWLEDGE
    Read More
  25. 시스코 스위치 이더채널

    Etherchannel, 이더채널 - 두 스위치간에 연결된 복수개의 포트를 하나의 포트처럼 동작시키는 것을 말한다 이더채널을 구성할 때 사용되는 프로토콜은 시스코에서 만든 PAgP(Port Aggregation Protocol)와...
    Date2015.12.28 CategoryIT KNOWLEDGE
    Read More
  26. 새로운 가상화 기술 Docker와 컨테이너

    Docker사는 지난 6월 10일에 Docker 1.0 발표와 함께 Docker를 기반으로 한 애플리케이션 개발, 배포, 실행 기능을 갖춘 서비스 "Docker Hub"를 발표했습니다. Docker는 컨테이너형 가상화를 실현하는 오픈...
    Date2015.11.25 CategoryIT KNOWLEDGE
    Read More
  27. [Network Protocol] L3 Switch 구조에 대한 이해

    안녕하세요? NetmaniasTalk입니다. 아래 글은 예전에 Netmanias Magazine에 기고했던 글의 일부로써, L3 Switch(예. Cisco 6500 series, Juniper MX series)의 구조에 대한 설명입니다. ...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
  28. [Network Protocol] IP QoS 소개

    안녕하세요? NetmaniasTalk입니다. 오늘도 네트워크 초보자님들을 위한 코너로써 유선망에서의 QoS에 대해서 설명드리도록 하겠습니다. Network에서 QoS라 함은 (1) 중요한 패킷(예. IPTV, VoIP, Bus...
    Date2015.10.27 CategoryIT KNOWLEDGE
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7