책내용 정리/인프라 엔지니어의 첫걸음

인프라 엔지니어링의 첫걸음(2)

Saranf 2018. 9. 27. 22:10


"이 글은 인프라 엔지니어링의 첫걸음"의 내용을 정리한 글 입니다.  

출처: http://www.mas.click/entry/인프라-엔지니어링-첫걸음1 [무무와 사라이]
"이 글은 인프라 엔지니어링의 첫걸음"의 내용을 정리한 글 입니다.  

출처: http://www.mas.click/entry/인프라-엔지니어링-첫걸음1 [무무와 사라이]
"이 글은 인프라 엔지니어링의 첫걸음"의 내용을 정리한 글 입니다.  

출처: http://www.mas.click/entry/인프라-엔지니어링-첫걸음1 [무무와 사라이]
"이 글은 인프라 엔지니어링의 첫걸음"의 내용을 정리한 글 입니다.  

출처: http://www.mas.click/entry/인프라-엔지니어링-첫걸음1 [무무와 사라이]

이 글은 " 인프라 엔지니어링의 첫걸음"  책의 내용을 정리 한 것 입니다.

오타나 틀린것 언제든지 환영 합니다.

언제 까지나 이 글은 참고 자료로 활용되길 원합니다.


온프레미스 (On Premise)

: 하드웨어를 스스로 준비하고 운용하는 형태


VPS (Vitual Private Network)

: 1대의 물리 서버를 여러 대의 가상 서버로 분할하여, 각각을 제공하는 서비스

----------> 이 기술을 '가상화'라고 한다


주요 가상화 도구

KVM ( Kenrenel-based Vitual Machine)

: 완전 가상화 방식으로 리눅스 커널에서 제공하는 Intel VT 또는 AMD-V 를 사용한 가상화

https://www.linux-kvm.org/page/Main_Page


Xen

: 완전 가상화, 반 가상화 방식으로  IA-32,X64,IA-64,ARM 아키텍처에 대응하는 가상화 소프트웨어

https://www.xenproject.org/


OpenVZ

: 컨테이너 형태의 방식으로 RHEL 전용 서버 가상화 소프트웨어로 여러 개의 독립된 리눅스 인스턴스를 물리 서버 1대에서 만들수 있게 함

https://openvz.org/


LXC

: 컨테이너 형태의 방식으로 개별 프로세스와 네트워크 공간을 만드는 가상 환경을 가질수 있다.

https://linuxcontainers.org/ko/


DOCKER

: 도커는 리눅스의 응용 프로그램들을 소프트웨어 컨테이너 안에 배치시키는 일을 자동화하는 오픈 소스 프로젝트이다.

https://www.docker.com/



VPS 장점 및 단정

 장점

   : 저렴한 가격으로 자유롭게 사용할 수 있는 서버를 빌릴 수 있다.


단점

   :  서버 플랜 변경이 유연하지 않다.

      서버 관리를 자신이 해야 한다.


KVM방식 가상화 특징

: 하이퍼바이저(가상화를 실현하는 제어 프로그램) 기반 가상화를 사용한다.


하이퍼바이져 기반의 가상화는 OS 뿐만이 아니라 하드웨어도 애뮬레이트 합니다. 따라서 호스트  OS와 CPU 아키텍처가 달라도 작동 가능하다.

하이퍼바이저 기반 가상화에 대한 이미지 검색결과

출처 : https://byungjun0689.github.io/2.%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%EA%B0%9C%EB%B0%9C%EC%9D%84-%EC%9C%84%ED%95%9C-%EA%B0%80%EC%83%81%ED%99%94%EC%99%80-Docker-2/


컨테이너 기반 가상화의 특징

: 물리 서버를 그대로 에뮬레이트 하는 것이 아니라,  OS 의 커널 부분을 컨테이너들끼리 공유해서 사용한다는 것 이다.

--------> 이러한 특징 덕분에 물리 서버를 모두 에뮬레이트할 필요가 없다. 또 컨테이너의 오버헤드도 엄청 작다.

--------> OS의 커널 부분을 공유해서 사용해서 1대의 물리 서버에서 더 많은 컨테이너를 제공할 수 있다.컨테이너 기반 가상화에 대한 이미지 검색결과

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


사용할 수 있는 OS가 한정적이며 컨테이너 기반의 가상화 컨테이너는 호스트 OS의 커널을 사용합니다. 따라서 커널과 관련된 조작은 할 수 없다.


SaaS (Software as a Service)

: 소프트웨어를 서비스를 제공하는 클라우드


PaaS (Platform as a Service)

: 애플리케이션의 개발 기반을 제공하는 클라우드 ( 보통 개발자가 많이 사용한다)

-------> 프로그램 실행 환경을 제공한다.


IaaS (Infrastucture as a Service)

: 가상 서버와 네트워크를 제공하는 클라우드

--------> 말 그대로 인프라 서비스를 제공한다.


Iass의 특징

1. 과금 체계

: 월 단위 요금이 아니라 사용한 만큼 과금하는 종량 과금제를 적용하는 곳이 많다.

---------> 얼마를 지불하게 될지 알기 어렵다는 특징이 있다.


2.서버 생성 속도

: 물리 서버와는 다르게 클릭 한번으로 몇분만에 서버를 늘리거나 줄일 수 있다.


3,서버 생성 자유도

: VPS와 전용 서버의 경우 CPU, MEMORY, DISK등과 같은 성능이 고정되어 있다. 하지만 IaaS는 용량을 비교적 자유롭게 조립 가능하다.

--------------------> IaaS는 서버 플랜도 변경이 가능하다. 시스템을 운용하는 도중에 서버 성능이 낮다고 생각되면, 플랜을 변경해서 성능을 높일수 있다. (스케일 업 이라고 한다)

----------------->  IaaS는 서버를 복제해 여러 대의 서버를 만들어 대응할 수 있다. 서버 수를 늘려 시스템 전체의 성능을 높일 수 있다.( 스케일 아웃 이라고 한다.)


오토 스케일링 (Auto Scaling)

: IaaS가 아무리 서버를 늘리기 쉬워도 대량의 접근이 발생하면 대응이 힘들게 되는데, 이때 자동으로 대처해 주는 것이다.

--------> AWS 의 Auto Scaling , Auzre의 Auzure 자동 크기 조정 등이 있다.


로드밸런서

: 트래픽을 분산 시켜 준다.

-------> AWS 의 Elastic Load Balncing 이나 Auzre의 부하 분산 장치 등이 있다.