본문 바로가기
IT,SW,Data,Cloud,코딩

클라우드 서비스의 개념과 종류, 그리고 클라우드 아키텍쳐의 구조

by 착실하게 2022. 1. 13.
반응형

[클라우드란? ]


클라우드는 2006년 아마존이 aws라는 이름으로 가장 처음 출시했다고 합니다.

미국 소비의 절반 가량이 땡스기빙과 크리스마스 시즌에 발생하는데 일년내내 인프라를 유지하는 것이 비효율적이라는 이유에서 그 해결책으로 등장한 것입니다.

클라우드 시장 규모는 작년 연말 기준 약 45조 이고 국내 시장 규모는 약 2조 정도인 것 같습니다.

 

[클라우드 사업자의 종류는? ]


클라우드 사업자의 종류는 CSP, MSP, ISP의 세 가지 입니다.

CSP는 Could Service Provider 입니다.
CSP에는 아마존, 애저, 구글, 알리바바, IBM, 세일즈포스, 텐센트, 오라클 등이 있습니다.

MSP 업체는 클라우드 도입을 지원하는 역할입니다. CSP의 기술을 도입하는 것을 컨설팅해주는 사업입니다.

ISP는 보안 등 특수한 솔루션을 제공해주는 업체입니다. CISCO등이 여기에 해당합니다.


[클라우드 서비스의 유형에는? ]


클라우드 서비스의 유형은 IaaS, PaaS, SaaS 의 세 가지로 나뉩니다. 제공하는 서비스의 범위가 좁은 것에서부터 넓은 것까지에 따라 나뉘는 것입니다.

IaaS는 Infrastructure as a Service 입니다. 제공 범위가 가장 좁습니다. 가상화, 서버, 스토리지, 네트워크 등을 제공합니다.

PaaS는 Platform as a Service 입니다. 응용 프로그램 개발에 필요한 플랫폼을 제공합니다. IaaS의 제공 내용 뿐만 아니라 운영체제, 미들웨어, 런타임 등까지 포함합니다.

SaaS는 Software as a Service 입니다. 개발된 소프트웨어 자체까지도 제공합니다. 오피스365, Workday, Salesforce등이 여기에 해당합니다.

 

[가상서버, 하이퍼바이저 ]

클라우드는 모두 가상서버 환경입니다.

가상서버를 사용하기 위해서는 하이퍼바이저를 사용하게 됩니다.

가상서버 환경에서는, 물리서버 하나 안에 운영 체제를 깔고 그 위에 하이퍼바이저 환경을 만들고, 그 위에 여러 개의 가상 서버가 돌아가게 됩니다. 각 서버 마다 다시 운영체제와 애플리케이션이 각각 들어가있는 구조입니다.


[컨테이너 ]

그런데, 하이퍼바이저는 각 클라우드 업체끼리 호환되지 않습니다. 그래서 만약 아마존을 쓰다가 애져로 넘어가려 하면 애져의 하이퍼바이져에 맞게 변환을 해서 사용해야 하는데요, 이러한 하이퍼바이저에 대한 의존성을 없앨 수 있는 기술이 바로 컨테이너 입니다.

애플리케이션이 컨테이너로 한번 감싸면 컨테이너 엔진만 같다면 어떤 하이퍼바이저 위에서든 변환 없이 사용이 가능해집니다. 그래서 컨테이너 째로 다른 하이퍼바이저 위에 옮길 수 있게 됩니다.


[도커 ]


한편, 하나의 물리 서버 위에 운영체제와 하이퍼 바이저를 얹고, 그 위에 여러 개의 가상 서버를 얹는 방식으로 했을 때의 비효율성을 더욱 개선하는 방법이 도커입니다.

하이퍼바이저 위에 여러 개의 가상 서버를 얹으면 비효율적인 이유는, 가상서버는 운영체제인데 컨테이너는 실행파일이여서 훨씬 빠르게 동작하기 때문입니다.

그래서, 물리서버/운영체제/하이퍼바이저 위에 하나의 가상 서버만 얹고, 그 하나의 가상 서버 안에 도커를 깔면 여러 개의 컨테이너를 넣을 수 있게 해주는 역할입니다. 도커 위의 각 컨테이너들은 각각이 마치 가상 서버인 것 처럼 동작합니다.

또한 도커의 장점은 도커가 설치된 환경이면 변환 없이 애플리케이션을 쓸 수 있다는 것입니다.

 

 



클라우드 네이티브의 핵심요소 4가지: 컨테이너, 마이크로서비스, 데브옵스, CI/CD


[마이크로서비스]

마이크로서비스란 실행가능한 업무단위를 말합니다. 어플리케이션을  마이크로블록으로 나누고 마이크로서비스 서로 간의 통신은 API 를 사용합니다.

세부기능 하나만을 업데이트 하려고 할 때 어플리케이션 전체를 내리지 않아도 된다는 장점이 있습니다.

[데브옵스]
개발팀과 운영팀의 업무를 합친 것을 말합니다.

[CI/CD Continuous Integration, Continuous Deployment ]
지속적인 개발/통합과 배포 뿐만 아니라 지속적인 모니터링과 테스트도 포함합니다.

[오토스케일링 ]
오토스케일링이란 마이크로아키텍쳐 환경에서 가상 서버의 갯수를 자동으로 증가 또는 감소 하는 것입니다. 서버에 부하가 많아지면 클라우드 환경 안에서 가상 서버가 늘어납니다.

[마이크로아키텍쳐 ]
같은 가상 서버 안에 있어도 컨테이너별로 서로 영향 받지 않고 개발할 수 있습니다.


반응형

댓글