Cloud - Ubuntu

코코볼·2023년 6월 12일
0

네트워크 보안

목록 보기
27/35

Cloud

Cloud는 서버나 각 노드들의 물리적 위치와 무관하게 언제 어디서나 노드들과 접속할 수 있도록 네트워크를 구축한 것을 말한다. 일종의 유 비쿼터스(Ubiquitous)로 볼 수 있다. 웹상에 데이터를 저장하는 Web Hard와 웹상의 데이터베이스에 데이터나 각종 응용 프로그램, 서버 등을 저장하는 Cloud는 개념상 서로 다르다.
웹 하드는 한 곳에서 데이터를 넣고 다른 곳에서 이를 다운받는 식이 지만, 클라우드에서는 모든 클라우드 안의 호스트들에게 데이터가 자동으로 동기화되므로 어느 한 호스트에서 파일 업로드, 삭제 등의 변경 이 생기면 자동으로 다른 모든 호스트들에서 해당 데이터가 동기화되어 자신들의 노드에 있는 데이터에 변경이 있게 된다. 의도하지 않게 업데이트되기도 하므로 이 부분에서 보안이 매우 중요해진다.

현재 대부분 유료 클라우드 컴퓨팅인 AWS, Azure, GCP 등은 IT 리소스를 인터넷을 통해서 온-디맨드(On-Demand) 방식으로 제공 하는데 사용한 만큼만 비용을 지불하는 방식이므로, 조직에서 물리적 으로 데이터 센터를 구축하고 고가의 서버를 구입해서 소유 및 유지, 관리하지 않고 이런 상용 클라우드 공급자로부터 필요에 따라 필요한 만큼의 컴퓨팅 파워, 스토리지, 데이터베이스와 같은 기술 서비스를 사 용하므로써 비용과 업무의 효율성을 높일 수 있다.

사용형태에 따른 분류

Cloud는 사용 형태에 따라 폐쇄형 클라우드(Private Cloud)공개형 클라우드(Public Cloud), 그리고 혼합형 클라우드(Hybrid Cloud)로 분류하는데

• 폐쇄형은 기업 내부의 비밀을 유지하기 위해서 외부에 공개되지
않도록 내부로만 제한해서 사용하게 하는 것이고 <= 개인 기업
• 공개형은 일반에게 모두 개방해서 누구나 사용하게 하는 것이며 <= 관공서와 공공기관
• 혼합형은 두 유형이 적절하게 섞여 있는 것을 말한다. <= 대학에 서 수강신청 시즌

자원 제공에 따른 분류

클라우드 서비스는 어떤 자원을 제공하느냐에 따라 3가지로 나뉘는 데
• 최초 클라우드 서비스로 '지메일(Gmail)'이나 '드롭박스 (Dropbox); '네이버 클라우드'처럼 소프트웨어를 웹에서 쓸 수 있는 Saas (Software as a Service: 서비스로서의 소프트웨어[사-스])
가 대부분이었지만,
• 나중에는 서버와 스토리지, 네트워크 장비 등의 IT 인프라 하드웨어 장비를 빌려주는 laaS(Infrastracture as a Service: 서비스로서 의 하드웨어 [이아스]), 그리고
• 개발용 플랫폼을 빌려주는 Paas (Platform as a Service: 서비스로서의 실행 플랫폼[파-스])가 있다.
• 이외에 데이터베이스를 클라우드에서 이용하게 하는 DBaas 등 도 속속 개발되고 있다.

종류 설명

Saas

SaaS는 클라우드 환경에서 운영되는 애플리케이션 서비스
로 모든 서비스가 클라우드에서 이뤄지고, 소프트웨어를 구입 해서 PC에 설치하지 않고도 웹상에서 소프트웨어를 빌려서 사용하는 개념 이다. Saas는 필요할 때 원하는 비용만 내면 어디서든지 곧바로 빌려 쓸 수 있다는 장점이 있다. PC나 기업 서버에 소프트웨어를 설치 할 필요가 없고, 따라서 소프트웨어 설치를 위해 비용과 시간을 들 이지 않아도 된다. 또한 중앙에서 해당 소프트웨어를 관리하기 때문에 사용자가 일일이 업그레이드나 패치 작업을 할 필요도 없다.

Iaas

Iaas는 필요한 만큼, 원하는 만큼 쓰는 컴퓨팅 인프라인데 웹상 에서 서버와 스토리지 등 데이터센터 자원(하드웨어)을 빌려서 사용하는 개념이다. 이용자는 직접 데이터센터를 구축할 필요 없이 클라우드 환경에서 필요한 인프라를 꺼내서 쓰면 된다. 이렇게 빌려온 인프라에서 사용자는 운영체제를 설치하고, 애플리케이션 등을 설치한 다음 원하는 서비스를 클라우드에서 운영할 수 있다. Iaas는 가상 서버, 데이터 스토리지 같은 기존 데이터센터가 제공하는 서비스를 제공 하는데 사용자는 이같은 서비스를 조합해서 애플리케이션을 실행 하거나 운영할 수 있다. 게다가 물리적으로 만들어진 환경이 아니기 때문에 사용하지 않을 때에는 시스템을 용이하게 해체할 수 있다.

Paas

Paas는 개발자를 위한 서비스로써 소프트웨어 서비스를 개발할 때 필요한 플랫폼을 빌려서 사용하는 개념이다. 사용자는 Paas에서 필요한 서비스를 선택해서 애플리케이션을 개발할 수 있는데 Paas 운영 업체는 개발자가 소프트웨어를 개발할때 필요한 API(Application Programming Interface, 응용 프로그램 프로 그래밍 인터페이스)를 제공해서 개발자가 좀 더 편 하게 개발할 수 있 도록 도와준다. 개발자가 개발을 하는 데 필요한 도구와 환경을 사용한 뒤 사용한 만큼만 비용을 내기 때문에 개발자로선 비용 부담을 덜 수 있다. 하지만 플랫폼 기반으로 애플리케이션을 개발하기 때문에 특정 플랫폼에 종속될 수 있다는 단점이 있어서 다양한 플랫폼에서 작업 하려면 이에 맞게 앱을 수정하는 과정이 추가적으로 필요할 수 있다.

=>여기서 BigData와 DFS(Distributed File System:분산파일 시스템)의 기본이 되는 Hadoop을 Ubunut 머신에 설치해서 작업하고, 이어서 ownCloud와 GitHub를 살펴본 뒤, 나중에 Docker와 Kubernetes(K8s), 그리고 AWS 등을 자세히 살펴볼 것이다.

=> 클라우드에는

• GitHub - 웹 상의 GitHub, 로컬 Ubuntu & CentOS에서 작업
• ownCloud - ownCloud 서버를 생성한 뒤, Win7나 Centos 에서 작업
• Hadoop - master/slaves로 구성된 클라우드에서 작업, Docker와 구조가 유사
• on-demand - AWS(Amazon Web Service), Microsoft
Azure, GCP(Google Cloud Platform), 그리고 IBM 등 상용이 있다.

=> 가상화 서버에는

• Windows Hyper-V(Windows Server 2018 부터), Linux KVM로 가상머신 구축
• VMware (VMware), VirtualBox(Oracle), VirtualPC(MS)≤ 일반 사용자(클라이언트)용 가상머신 구축
• Citrix의 XenServer, VMware의 VSphere 등은 서버용 가상머신 구축이 있다.

=> 가상머신과 (클라우드에서의 가상머신) 컨테이너(파드)의 공통점

은 모두 가상머신이라는 것과 파일로 취급되기 때문에 복사(Clone)/이 동/삭제가 용이하다. 가상머신을 위해서 물리적(하드웨어적)인 게스트 시스템이 필요하지 않다.

=> 가상머신과 컨테이너의 극명한 차이는

• 가상머신에서의 Windows 10 가상머신(4GB)은 하나의 '독립된 컴퓨터 머신'이어서 독립적으로 RAM, CPU, HDD 공간을 가져야 하기 때문에 용량이 커진다. 하나의 가상머신에서 도출한 결과는 자체적으로 HDD를 가지고 있기 때문에 자체적으로 저장이 된다.
=>주로 운영체제만 설치하고, 그 위에 개별 API를 설치한다. MS Word, NginX만 단독으로 설치할 수 없다.
• 클라우드에서의 Docker Image로 생성한 Windoes 10 가상머신 이미지는 외부 호스트 머신의 리소스(HDD, CPU, RAM)를 이용하기 때문에 Windows 10 가상머신은 매우 용량이 적으므로(250MB) 클라우드에서 적합하다. 하나의 가상머신 이미지에서 도출한 결과는 자체적으로 HDD가 없기 때문에 외부 Host 머신의 HDD에 저장시켜 두어야 한다.

=> 외부 호스트 머신에서 보면 각 가상머신 이미지는 CPU의 한 Process에 불과하다. 삭제하면 프로세스 삭제처럼 순식간에 삭제된다. 프로세스는 CPU이기 때문에 프로세스로 실행되는 가상머신은 매우 매우 속도가 빠르다.
=> Windows 기/10, CentoS, Ubuntu 등 운영체제 뿐만 아니라 MS Word, NginX, MariaDB와 같은 개별 API도 OS 없이 이미지로만 단독으로 설치 운영이 가능하다!!!
=> MS Office가 Windows와 같은 운영체제가 없어도 이미지로 실행될 수 있기 때문에 MS에서는 Office 365를 이용해서 언제 어디서나 Office API를 이용하게 한다!!! => Office 365는 주로 웹 브라우저에서 하나의 Plug-In 으로 작동된다.

여기서 제일 많이 사용되는 SaaS를 좀 더 알아보자.

SaaS는 과거 패키지 제품을 구매해서 각각의 컴퓨터에 설치해서 독립적으로 실행하던 시대를 종식시켰다. Cloud에서 SaaS가 차지하는 비중은 37%에 육박하고 있다. 누구나 언제 어디서나 쉽게 사용할 수 있는 서비스형 소프트웨어 Saas는 매우 현재 비즈니스에서 매우 필요한 상황이다. 인터넷 혁명 -> 모바일 혁명-> SaaS 혁명으로 불리기도 하는데 대표적인 SaaS로써 28조 원의 Figma, 14조원의 Notion, 그리고 한국의 Typed가 선두주자이다.

Chromebook이나 Office365는 현재 대부분 테스크 탑에서의 작업-엑셀 파일을 엑셀을 실행해서 읽고, 동영상을 동영상 프로그램을 실행해서 보고, 데이터베이스는 데이터베이스 프로그램을 실행해서 작 업하는...등의 작업-에서 각 프로그램들이 모두 클라우드의 Saas 형태로 융합되어 서비스되게 해주면 Chrome이나 Edge 브라우저에서 이 모든 작업을 융합해서 웹브라우저 안에서 작업하게 해준다.

Ms, Oracle, ...등 글로벌 조직과 유통망, 영업력을 가진 회사들과 다르게 SaaS를 활용하는 Startup 기업들은 배송, 설치, 소프트웨어 업데이트 등을 위해서 글로벌 유통망이나 대규모 조직 없이도 클라우드에서 간단하게 이런 작업들을 처리할 수 있다. 새로운 소프트웨어 구매도 온라인에서 간단하게 약간의 수수료를 내고 사용할 수 있다.

클라우드는

laas[이아스:서버스형 인프라- 전통적인 클라우드로
AWS, AZURE, GCP 등],
PaaS[파-스: 서비스형 플랫폼-물리적인 서버 이용 및 개발 플랫폼 제공], 그리고
Saas[사-스:서비스형 소프트 웨어를 어플 형태로 제공하는데 프로그램 설치 없이 Netflex, Youtube 처럼 스트리밍 방식으로 바로 이용, Ms Office 365가 대 표적인 제품인데 구독 형태로 사용, 클라우드이어서 공동으로 문서 작 성이나 여러 명 동시 접속, 정보 공유 등이 가능]로 구분된다.

0개의 댓글