728x90
Cloud Computing과 Edge Computing
1. Cloud Computing
1.1 클라우드 컴퓨팅 개요
- 클라우드 컴퓨팅(Cloud Computing)이란?
- 사용자의 직접적인 활발한 관리 없이, 특히 데이터 스토리지(클라우드 스토리지)와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요 시 바로 제공(on-demand availability)하는 컴퓨팅 서비스
- 일반적으로는 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술을 의미함
- 미국 국립 표준 기술 연구소(National Institute of Standards and Technology, NIST)의 정의
- 클라우드 컴퓨팅은 최소한의 관리 작업 또는 최소한의 서비스 공급자 개입을 통해 신속하게 공급하고 해제할 수 있는, 구성 가능한 공유 컴퓨팅 리소스(예: 네트워크, 서버, 저장소, 응용 프로그램 및 서비스) 풀에 대한 편리한 주문형 네트워크 액세스를 가능하게 하는 모델
- NIST의 정의에 따른 클라우드 컴퓨팅의 특성
- 요청에 의한 셀프 서비스(On-demand self-service)
- 소비자는 서비스 제공업체의 관리자를 통하지 않고 필요한 컴퓨팅 리소스를 스스로 준비할 수 있음
- 광대역 네트워크를 통한 접근(Broad network access)
- 컴퓨팅 리소스는 기본적으로 네트워크를 통해서 접근됨
- 리소스 풀링(Resource pooling)
- 서비스 제공자의 컴퓨팅 리소스는 풀(pool)을 형성하며
- 멀티 테넌트(Mulit-tenant) 모델을 통해 다수의 소비자에게 서비스 될 수 있음
- 리소스는 소비자의 요구에 의해 동적으로 할당(assign)되고 해지(reassign)됨
- 고객은 일반적으로 서비스되는 리소스의 정확한 위치에 대해서 알지 못하며 제어 능력도 없음
- 그러나 상위 레벨의 추상화(국가, 주, 데이터센터)에 의해서 지역을 지정할 수 있음
- 민첩한 탄력성(Rapid elasticity)
- 리소스는 민첩하게 제공되었다가 해지될 수 있음
- 어떤 경우에는 자동으로 요청에 의해서 빠르게 적합한 규모를 늘리고 줄일 수 있음
- 소비자에게 이런 능력은 일반적으로 제한이 없어 보이고, 언제든지 어떠한 양이라도 적절하게 제공되는 것으로 보임
- 측정될 수 있는 서비스(Measured service)
- 클라우드 시스템은 서비스 수준을 측정해서 자동으로 리소스를 제어하거나 최적화할 수 있음
- 서비스 제공자와 소비자는 리소스 사용량을 모니터링할 수 있고, 적당한 수준으로 조절할 수 있으며, 보고서를 통해 투명하게 사용량을 받아볼 수 있음.
- 요청에 의한 셀프 서비스(On-demand self-service)
클라우드(Cloud)란?
- 일반적으로 과학에서 구름처럼 먼 거리에서 시각적으로 보이는 물건들의 커다란 집합체를 기술하기 위해 사용되는 용어
- IT분야에서는 분산 컴퓨팅을 위한 플랫폼을 가리키는데 사용
- 왜? 어쩌다가?
- 예전에..
- 오래된 프로그램들은 네트워크 구조를 그릴 때 서버 아이콘을 원으로 둘러써서 표현했으며
- 네트워크 구조 안에서 서버들이 구성하는 각 클러스터들이 겹치는 경우,
- 여러 개의 원이 겹치는, 구름(Cloud)을 닮은 모양이 되었음
- 이후, 많은 서버들과 컴퓨터가 연결된 인터넷을 비유할 때 종종 사용되었음
클라우드 컴퓨팅의 심볼
- 구름 형태의 표준화된 이미지는 전화 도식망의 표현에 사용되었으며
- 나중에 컴퓨터 네트워크 다이어그램에 인터넷을 기술하기 위하여 사용됨
- Cloud 심볼은 1977년 ARPANET(인터넷의 전신)에서 이미 사용되기 시작함
- 클라우드 컴퓨팅 개념의 유래와 역사
- 1965년 미국의 컴퓨터학자인 "존 매카시"가 "컴퓨팅 환경은 공공 시설을 쓰는 것과도 같을 것"이라는 개념을 제시한데에서 유래함
- 1960~1970년대, 시분할 기술의 초기 개념이 원격작업 입력 방식을 통해 대중화되었고, IBM 메인 프레임의 작업을 오퍼레이터에 할당, 수행하는 데이터센터 모델이 확산됨
- 1990년대, 통신회사들이 가상 사설망(VPN) 서비스를 제공하기 시작하면서 제공자의 책임 범위를 클라우드 이미지를 통해 그 경계점을 표시하기 시작함
- 1993년, 클라우드라는 용어가 거대한 규모의 ATM을 지칭하는데 사용됨
- 1995년 3월, General Magic이라는 회사가 AT&T 및 여러 통신사들과 제휴를 맺고 최초의 클라우드 컴퓨팅 서비스를 시작함 → 실패
- 소비자 중심의 웹 기반 환경이 형성되기 전의 일이었기때문에 고객을 확보할 수 없었음
- 1996년, 컴팩의 내부 문서에서 현대적 의미의 클라우드 컴퓨팅에 대한 언급이 등장함
- 2000년 이후 클라우드 컴퓨팅의 실체가 드러나기 시작했으며
- 2006년 8월, 아마존에서 "일래스틱 컴퓨트 클라우드"을 선보이면서 클라우드 컴퓨팅이라는 용어가 대중화되기 시작함
- 대표적인 클라우드 컴퓨팅 서비스
- 아마존: 일래스틱 컴퓨트 클라우드 (2006.08~)
- 마이크로소프트: 애저(Azure) (2008.10~)
- 랙스페이스 호스팅 & NASA: 오픈소스 클라우드 소프트웨어 이니셔티브 착수 (2010.07) → 오픈스택
- IBM: IBM 스마트 클라우드 프레임워크 (2011.03~)
- 오라클: 오라클 클라우드 (2012.06~) → 사용자들이 SaaS, PaaS, IaaS 계층을 포함한 통합된 IT 솔루션 집합에 접근할 수 있도록 체제 정비
1.2 클라우드 컴퓨팅의 서비스 형태
1.2.1 클라우드 컴퓨팅의 서비스 형태의 변화
- Saas → IaaS → PaaS → Serverless의 형태로 변화함
- 클라우드 컴퓨팅이 대중화되기 시작하면서부터 ~2007년까지 대부분의 클라우드 컴퓨팅은 SaaS(Software as a Service)에 집중됨
- 2008년부터 클라우드 컴퓨팅의 영역이 확장되기 시작함
1.2.2 SaaS (Software as a Service)
- 소프트웨어를 서비스로서 제공하는 모델
- 기존의 소프트웨어는 기업 또는 개인이 직접 소유하여 사용했지만 SaaS는 소프트웨어가 제품이 아닌 서비스로서 제공, 즉 빌려 쓰는 개념을 가진 모델
- 새로운 소프트웨어의 기능을 구매하는 비용을 줄일 수 있으며, 일정 기간의 사용량을 기반으로 비용(사용료)를 지급함으로써 인프라 투자와 관리 부담을 피할 수 있게 함
- NIST의 정의
- 서비스 제공자의 클라우드 인프라에서 실행되는 응용 프로그램의 형태로 소비자에게 서비스가 제공됨
- 응용 프로그램은 웹 브라우저 등을 통한 씬 클라이언트(Thin Client) 인터페이스를 통해 접근할 수도 있고 전통적인 프로그램 인터페이스를 통해서 접근할 수도 있음
- 소비자는 네트워크나 서버, 운영체제, 스토리지 등의 클라우드 인프라 및 응용 프로그램 구성 방식 등에 대해서는 통제 및 운영 능력이 없음
- 소비자는 서비스로 제공되는 응용 프로그램의 구성에 대해서만 설정할 수 있음
- 서비스의 제공
- 소비자는 제공되는 소프트웨어를 인터넷을 통해서 사용할 수 있기 때문에 클라이언트 시스템에 대한 제약이 없어 모바일 오피스 등을 구성하는데 큰 역할을 하고 있음
1.2.3 IaaS (Infrastructure as a Service)
- 서버 등을 운영하기 위해서 필요한 인프라(서버자원, IP, 네트워크, 저장장치, 전력 등)를 가상환경에 구축하고, 이를 서비스로 제공하는 모델
- IaaS를 제공하려면
- 기존의 서버 호스팅 시스템보다 H/W 확장성이 좋은 시스템이 요구되며
- 가상화 기술을 통해 빠르고 탄력적으로 서비스를 제공할 수 있어야 함
- NIST의 정의
- 소비자에게 프로세싱, 스토리지, 네트워크 그리고 다른 기초적인 컴퓨팅 리소스가 서비스의 형태로 제공됨
- 소비자는 제공된 리소스를 통해 자신만의 응용 프로그램을 개발하고 배포할 수 있음
- 소비자는 클라우드 인프라를 구성하는 물리적인 하드웨어에 대해서는 통제 권한이 없음
- 그러나 소비자는 서비스로 제공된 운영체제, 스토리지, 설치한 소프트웨어 등에 대해서는 부분적으로 통제 권한을 가짐
- 서비스의 제공
- CPU, 메모리, 저장공간, 네트워크 등의 사용량에 따라 과금이 이루어짐
- AWS, Azure, GCP 등 대부분의 클라우드 서비스 제공자들은 IaaS 형태의인프라를 기본 서비스로 제공하고 있음
1.2.4 PaaS (Platform as a Service)
- 서비스를 개발 할 수 있는 안정적인 환경(Platform)과 그 환경을 이용하는 응용 프로그램을 개발 할 수 있는 API까지 제공하는 플랫폼을 서비스로 제공하는 모델
- NIST의 정의
- 소비자에게 제공되는 서비스는 제공자에 의해 지원되는 프로그래밍 언어, 라이브러리, 서비스, 그리고 도구를 이용하여 사용자가 만들거나 이미 만들어진 애플리케이션을 확보하여 클라우드 인프라 위에 배포하는 것임
- 소비자는 네트워크나 서버, 운영체제, 스토리지 등의 클라우드 인프라에 대헤서는 통제 및 운영 능력이 없음
- 소비자는 애플리케이션 개발과 직접적으로 관련된 환경설정만 가능함
- 서비스의 제공
- SaaS 방식을 개발 플랫폼의 형태로 확장한 서비스
- 소프트웨어 개발환경을 서비스로 제공
- 컴파일 언어, 웹 프로그램, 제작 툴 등이 서비스에 포함되기 때문에 소비자들은 서비스로 제공되는 자원을 활용하여 새로운 소프트웨어를 직접 개발하고 배포할 수 있음
1.2.5 Serverless
- 클라우드 컴퓨팅 실행 모델의 하나
- 클라우드 제공자는 동적으로 머신 자원의 할당을 관리하여 사용자가 서버를 구축하지 않고 서버의 기능을 사용할 수 있는 서비스를 제공함
- 그러나 !!!
- Serverless 라는 명칭은 부적절한 명칭이라는 의견도 있음
- 서버는 개발자, 운영자의 시야에서 벗어나 감춰져 있을 뿐 여전히 존재함
- 단지 사용자는 마이크로 서비스와 같이 소규모로 구현된 기능 코드를 결합하여 서버를 직접 접근하지 않고(간접 접근) 서버의 기능을 사용할 수 있음.
클라우드 컴퓨팅 모델의 레벨 별 구성
1.3 클라우드 컴퓨팅 기술
1.3.1 클라우드 컴퓨팅의 핵심기술 "가상화(Virtualization)"
서버 가상화(Hypervisor) 기술
- 독립적인 CPU, 메모리, 네트워크 및 운영 체제를 가진 여러 대의 가상 머신(Virtual Machine)들이 물리적인 서버의 자원을 분할해서 사용하는 기술
- 물리적 H/W상에서 가상 머신에 대한 운영을 담당하는 플랫폼을 하이퍼바이저(Hypervisor)라고 통칭, VMM (Virtual Machine Monitor)라고도 부름
네트워크 가상화(Virtual Router) 기술
- 클라우드 환경에서는 다양한 사용자가 원하는 때에 원하는 IT 자원을 제공받음
- 이 때 각 사용자 별로 네트워크를 격리하고 격리된 네트워크가 인터넷과 통신을 하도록 하는 가상 라우터가 가장 중요한 역할
- 분산 스토리지 및 파일 동기화
- 스토리지 클라우드 서비스: 사용자 별로 일정량의 저장 공간을 인터넷 상에서 제공
- 사용자의 수의 증가
→ 요구되는 저장 공간의 급격한 증가
→ 단일 스토리지로 대용량 저장 공간을 제공하는 것이 불가능
→ 단일 스토리지를 네트워크로 연결, 대용량의 저장 공간을 제공하는 분산 스토리지 필수
→ 각 스토리지간 무결성을 위하여 파일 동기화 기술 필수
1.4 클라우드 컴퓨팅의 배치 모델
1.4.1 Private Cloud
- 기업 등이 IT 자원을 이용하여 직접 구축하거나 하는 방법으로 내부 이용자 간 공유
- 중요 데이터를 저장하므로 보안 위협을 줄이고 서비스 수준을 기업 요구 수준으로 상향
- NIST의 정의
- 여러 소비자로 구성된 하나의 기관이나 하나의 부서에서 독점적으로 사용하기 위해 구축한 클라우드 모델
- 서비스를 제공받는 기관 또는 제3자, 혹은 그 둘의 조합에 의해서 소유, 관리, 운영되며, 클라우드 자체가 해당 기관의 영업장 안에 위치할 수도 있음
- 서비스의 제공
- 특정 조직 내부에서만 서비스를 사용할 수 있기 때문에 보안이 보장되고 제공되는 서비스의 수준을 제어할 수 있음
- 클라우드를 구축하기 위한 하드웨어 인프라가 필요하기 때문에 비용 절감을 위한 접근 방식으로는 적합하지 않을 수 있음
1.4.2 Community Cloud
- 국내에서는 그다지 다루어지지 않고 있는 모델
- NIST의 정의
- 공동의 관심사(임무, 보안요구사항, 정책과 준수사항 등)를 공유하는 특정 소비자 집단의 독점적인 사용을 위해 구축된 클라우드 모델
- 커뮤니티를 형성하는 하나 이상의 조직 또는 제3자, 혹은 둘 이상의 조합에 의해 소유, 관리, 운영될 수 있으나, 클라우드 자체가 해당 기관의 영업장 안에 위치할 수 있음
1.4.3 Public Cloud
- 클라우드 서비스 제공자가 구축 및 관리를 대행
- 보안 위협은 있지만 비용 절감을 위해 사용됨
- NIST의 정의
- 일반 대중을 대상으로 서비스를 제공하기 위해 구축된 클라우드 모델
- 해당 클라우드는 기업이나 학교, 정부기관 등에서 다양한 목적으로 소유, 관리, 운영될 수 있으나, 클라우드 자체는 서비스 제공자의 영업장 안에 위치함
- 서비스의 제공
- 인터넷이 연결될 수 있다몀 언제 어디서나 누구나 이용할 수 있음
- 사용한 만큼 이용료를 지불함
1.4.4 Hybrid Cloud
- Private Cloud, Public Cloud의 장점을 결합하여 개발된 클라우드 모델
- NIST의 정의
- Private Cloud 및 Community Cloud, Public Cloud가 두 개 이상 복합적으로 구성된 클라우드 모델
- 각각의 클라우드들은 독립적인 개체로 유지되지만 데이터와 애플리케이션의 호환을 가능하게 하는 표준 또는 독점 기술로 엮여 있음
- NIST 등은 Private Cloud, Community Cloud, Public Cloud, Hybrid Cloud 등으로 클라우드를 구분하고 있으나 실제로 많이 사용되는 클라우드 방식은 Public Cloud와 Private Cloud임
1.5 클라우드 컴퓨팅의 장단점
1.5.1 클라우드 컴퓨팅의 장점
- 초기 구입 비용과 비용 지출이 적으며 휴대성이 높다.
- 컴퓨터 가용율이 높다. 이러한 높은 가용율은 그린 IT 전략과도 일치한다.
- 다양한 기기를 단말기로 사용하는 것이 가능하며 서비스를 통한 일관성 있는 사용자 환경을 구현할 수 있다.
- 사용자의 데이터를 신뢰성 높은 서버에 보관함으로써 안전하게 보관할 수 있다.
- 전문적인 하드웨어에 대한 지식 없이 쉽게 사용 가능하다.
- 일반적으로 클라우드 서비스의 장점은 주로 유지비용에 초첨을 맞추어 설명함
- 그러나 유지 비용 외에도 고려할만한 사항이 많음
- 신속성(구축 시간)
- 서비스 아키텍처를 구성하고 그에 맞춰 네트워크 환경을 구축하며 컴퓨터 시스템을 배치하는 일은 쉬운 일이 아님
- 한 마디로 시간 소모적인 일이 산재한 작업임
- 그러나 클라우드 환경에서는 아키텍처를 구상한 후, 몇 번의 마우스 클릭만으로 개발환경을 구축할 수 있음
- 아키텍처만 고민하면 나머지는 말 그대로 순식간에 구축할 수도 있음
- 확장성
- 개발 당시에 예상하지 못했던 용량 폭주가 발생한 경우, 실제 인프라 환경에서는 대응하기가 어려움
- 새로운 장비의 수급 문제 등
- 그러나 클라우드 환경에서는 마우스 클릭 몇 번으로 동일한 사양, 혹은 그 이상의 사양을 가진 장비를 몇 분 안에 증설할 수 있음
- 개발 당시에 예상하지 못했던 용량 폭주가 발생한 경우, 실제 인프라 환경에서는 대응하기가 어려움
- 탄력성
- 실제 서비스 환경에서는 시범 프로젝트가 매우 빈번하게 발생함
- 만들어보고 소비자들의 반응을 봐서 실제 서비스로 발전시킬지 아니면 사장시킬지 결정하게 됨
- 문제는 시범 프로젝트에도 리소스가 투입되어야 한다는 것임
- 투입하는 리소스를 최소화하기 위한 노력은 할 수 있겠지만 아무 것도 투입하지 않고 개발할 수는 없음
- 리소스를 투입한 모든 프로젝트가 성공으로 이어진다면 고민이 필요없겠지만 현실은 그렇지 않음(많은 경우의 프로젝트는 실패함)
- 프로젝트가 실패로 돌아갈 경우, 그 프로젝트에 투입된 리소스는 또 다른 프로젝트가 나올 때까지 잉여자원으로 남게됨(비용 손실 발생)
- 그러나 클라우드 환경에서는 잉여 리소스가 존재할 가능성이 거의 없음
- 리소스가 필요없게 되면 반납하면 그만!!
- 반납하는 순간 해당 리소스에 대한 과금도 중지됨
- 필요한 동안에만 사용하고 필요하지 않게되면 바로 반납할 수 있는 것이 클라우드의 장점임
- 손쉬운 글로벌 확장
- AWS, Azure, GCP 등과 같은 글로벌 퍼블릭 클라우드 사업자들은 대한민국뿐만 아니라 전 세계에 걸쳐서 바로 사용할 수 있는 다수의 서비스 환경을 제공함(Region)
- 클라우드를 사용한다면 더 이상 IDC를 찾아 미국, 일본 등으로 출장을 떠날 이유가 없어짐
- 클라우드 사업자가 제공하는 글로벌 서비스 지역을 선택해서 클릭 몇 번으로 리소스를 배치할 수 있기 때문
- 이러한 장점은 고객의 접점에 보다 가깝게 서비스를 제공하는 것이 경쟁력 중의 하나가 되는 글로벌 비즈니스 서비스 기업에게 반드시 필요한 부분임
- 이런 이유로 기업이 진출한 국가에 서비스 지역을 확보하고 있는지의 여부가 클라우드 사업자를 선정하는 중요한 기준이 됨
- 신속성(구축 시간)
1.5.2 클라우드 컴퓨팅의 단점
- 서버가 공격 당하면 개인정보가 유출될 수 있다.
- 재해에 서버의 데이터가 손상되면, 미리 백업하지 않은 정보는 되살리지 못하는 경우도 있다.
- 사용자가 원하는 애플리케이션을 설치하는 데에 제약이 심하거나 새로운 애플리케이션을 지원하지 않는다.
- 통신환경이 열악하면 서비스 받기 힘들다.
- 개별 정보가 물리적으로 어디에 위치하고 있는지 파악할 수 없다.
1.5 클라우드 컴퓨팅의 도입 전략
- 클라우드 컴퓨팅의 개요, 구조, 특징, 장단점 등을 기반으로 생각하면 많은 측면에서 온프레미스에 인프라를 구축해서 사용하는 것보다 퍼블릭 클라우드를 사용하는 것이 유리하다고 볼 수 있음
- 온프레미스
- 기업이 자체적으로 서버를 보유하고, 이를 전산실이나 사무실 등 자신의 공간에서 직접 설치 및 운영하는 방식
- 클라우드 컴퓨팅이 등장하기 전까지 일반적인 기업 인프라 구축방식으로 사용됨
- 아직까지 많은 기업들은 온프레미스 방식을 사용중
- 온프레미스
- 기업이 위험을 최소화하면서 클라우드가 제공하는 효과는 도입할 수 있는, 퍼블릭 클라우드를 적용하는 효과적인 방법이 필요함
- 클라우드 도입의 다섯가지 전략
- 테스트로 진행되는 업무에 클라우드 도입하기
- 테스트 업무이기 때문에 만약 프로젝트에 이상이 생기더라도 기업의 전반적인 비즈니스에 거의 영향이 없음
- 테스트로 진행되는 업무라도 온프레미스에서는 그에 필요한 장비와 구축환경을 제공해야 함
- 퍼블릭 클라우드를 사용하면 선투자 비용 최소화, 위험 최소화의 상태로 프로젝트를 진행할 수 있음
- 또한 테스트 업무를 진행하면서 퍼블릭 클라우드와 친해질 수 있는 기회를 얻을 수 있음
- 이 때문에 테스트 업무를 통해 기존 운영자 및 개발자들이 클라우드를 경험하게 하는 것이 중요함
- 이 때문에 테스트 업무를 통해 기존 운영자 및 개발자들이 클라우드를 경험하게 하는 것이 중요함
- 신규 서비스를 퍼블릭 클라우드를 통해 제공하기
- 테스트 업무에 적용하는 경우와 비슷한 부분이 다소 있음
- 그러나 신규 서비스는 테스트 업무와는 다르게 고객을 대상으로 서비스를 제공할 목적으로 구성되는 서비스임
- 따라서 실패를 최소화하도록 고민, 노력해야 함
- 테스트 업무와 다르게 초기에 제공되는 서비스 규모와 접속량 등을 고려해서 충분한 인프라 용량을 계획해야 함
- 일반적으로 온프레미스에서는 실제로 필요한 용량보다 30% 이상의 여유 용량을 확보함으로써 계획을 초과해서 사용량이 발생되는 것에 대비함
- 문제는 포기 서비스 규모를 정확하게 예측하는 것이 쉽지 않다는 것임
- 그렇기 때문에 필요한 용량을 계산하는 것도 쉽지 않고, 초기 시스템 규모를 어느 정도로 해야 하는지는 서비스 담당제에게 언제나 고민거리가 됨
- 예비 용량은 반드시 필요하지만 역으로 서비스가 예상만큼 흥행하지 못한다면 예비 용량을 포함한 초기 투자는 그대로 잉여자원이 됨
- 해결 방안으로서 클라우드 컴퓨팅이 도움이 됨
- 클라우드가 제공하는 유용한 기능부터 기업의 IT 환경에 접목하기
- 온프레미스에 서비스를 구성하기 위해서는 대규모의 인프라 투자를 요구함
- 대규모 스토리지
- 고성능 분산 컴퓨팅 환경
- IoT 등의 복합적인 인프라 구성환경
- AI/ML 등의 고사양 컴퓨팅 환경 등
- 위와 같은 요소들은 사용 빈도에 비해서 과도한 규모의 인프라 투자를 요구함
- 지속적으로 사용되는 환경이라면 온프레미스 구축이 더 경제적일 수 있으나 그렇지 않은 경우라면 보다 나은 투자 방법이 필요함
- 퍼블릭 클라우드의 경우
- 초기 투자비용 불필요(사용한 만큼만 과금)
- 빅데이터 처리, AI/ML 등 적용 시 적합한 비용 구조 제공
- 퍼블릭 클라우드가 제공하는 관리형 서비스로 AI/ML 등을 구성할 경우, 필요한 기반 기술과 인프라가 없어도 해당 서비스를 활용할 수 있음(기능 제공)
- 이미 있는 것을 발명하지 말라(AWS 컨셉)
- 온프레미스에 서비스를 구성하기 위해서는 대규모의 인프라 투자를 요구함
- 기업의 업무 영역에 따라 분리 배치
- 기업의 핵심 업무 영역과 대고객 업무를 분리
- 직접적인 관리나 펄저한 물리적인 보안이 필요한 핵심 업무 영역은 온프레미스에 유지
- ERP, 그룹웨어, CRM, MES 등의 핵심 서비스
- 이런 서비스들은 하드웨어 레벨의 직접적인 관리와 철저한 보안 환경을 요구함
- 이런 업무를 클라우드로 이관할 경우, 철저한 준비와 투자가 필요함
- 또한 클라우드가 이점을 제공한다고 해두 쉽사리 이관하기가 부담스러운 경우가 많음
- 확장성 및 신속성이 필요한 대고객 업무는 퍼블릭 클라우드에 배치
- 직접적인 관리나 펄저한 물리적인 보안이 필요한 핵심 업무 영역은 온프레미스에 유지
- 클라우드와 온프레미스 사이에는 광대역 전용선을 연결함으로써 네트워크 지연을 최소화하고 보안 위협을 차단함
- 고객들은 클라우드에 구성된 서비스에는 접속할 수 있지만, 기업의 온프레미스에 구성된 핵심 서비스로는 접속할 수 없음
- 전용선으로는 연결이 허용된 데이터통신만 가능
- 실제로 많은 엔터프라이즈 기업들이 하이브리드 클라우드 전략을 통해 이런 방식의 컴퓨팅 환경을 구성하고 있음
- 기업의 핵심 업무 영역과 대고객 업무를 분리
- 기업의 핵심 업무를 포함하여 기업의 IT환경을 점진적으로 클라우드로 이관
- 기존 업무를 퍼블릭 클라우드로 마이그레이션하기 위해서는 현 상태에 대한 세부적인 점검과 함께 철저한 사전 준비와 마이그레이션 투자가 필요함
- 그러나 퍼블릭 클라우드가 제공하는 장점을 모두 누리기 위해서는 현재의 IT 환경을 어떤 형태로든 퍼블릭 클라우드로 이관하는 것이 필요함
- 위험이 큰 만큼 얻을 수 있는 이점도 앞의 도입전략보다 훨씬 많음
- Cloun All In
- 어쩔 수 없이 온프레미스에 남겨둘 수 밖에 없는 애플리케이션을 제외하고는 기업의 모둔 IT 서비스를 클라우드를 통해서 제공하도록 이관하는 전략
- 새로운 서비스는 당연히 클라우드에서 먼저 개발되고 테스트 됨
- 클라우드 기반의 컴퓨팅 환경을 적극적으로 활용하기때문에 클라우드가 제공하는 거의 모든 장점을 반영함
- 기업의 모든 부분에서 신속한 고객 대응이 가능해지고, 새로운 기술을 실시간으로 채택하여 기업 경쟁력이 향상되며, 비용은 지속적으로 효율화되기 때문에 통합적인 비용은 온프레미스를 사용할 때보다 점진적으로 낮아짐
- Cloud All In을 적용한 대표적 기업: Netflix 등
- 테스트로 진행되는 업무에 클라우드 도입하기
2. Edge Computing
2.1 엣지 컴퓨팅 개요
- 엣지 컴퓨팅이란?
- 중앙 집중식 서버나 클라우드가 아닌, 데이터가 수집되고 분석되는 물리적 위치 근처에서 컴퓨팅이 이루어지는 분산 컴퓨팅 모델
- 앞에서 언급한 클라우드 컴퓨팅의 단점에 더하여
- 클라우드 서비스 사용자의 기하급수적 증가 → 데이터의 한계 처리량을 넘어서기 시작
- 수집한 데이터의 분석, 송신 과정에서 데이터 지연 현상의 발생량 증가
- 통신 프로세스 처리 중 보안 문제 발생량 증가
- 데이터 처리 속도, 용량 및 보안 등의 문제를 해결, 개선하기 위하여 등장
2.2 엣지 컴퓨팅의 인프라 스트럭처
- 연산을 데이터센터로부터 엣지 디바이스로 이동하여 작업을 수행하고, 클라우드를 거쳐 서비스를 제공함
- 서비스를 엣지 디바이스로 이동시켜 콘텐츠의 캐시, 서비스 딜리버리, 스토리지 및 IoT 관리를 제공할 수 있게 됨 → 더 나은 응답 시간과 전송 속도를 가능하게 함
2.3 엣지 컴퓨팅이 필요한 이유
- 데이터 부하 감소
- 클라우드 컴퓨팅: 처리해야 할 데이터가 증가할수록 시스템 부하 증가
- 엣지 컴퓨팅: 해당 기기에서 발생하는 데이터만 처리
- 보안
- 클라우드 컴퓨팅: 중앙 서버 아키텍처 → 데이터 전송/전달 단계부터 보안 강화 필요
- 엣지 컴퓨팅: 데이터 수집, 처리를 자체 처리 → 네트워크 전송에서의 보안성이 뛰어남
- 장애 대응
- 서버 장애에 대하여 엣지 컴퓨팅에서는 자체 컴퓨팅을 수행하므로 장애 영향 최소화
2.4 클라우드 컴퓨팅과 엣지 컴퓨팅
클라우드 컴퓨팅 vs. 엣지 컴퓨팅
- 엣지 컴퓨팅은 클라우드 컴퓨팅을 대체할 것인가?
- 엣지 컴퓨팅은...
- 대규모 연산이 필요한 경우 적절히 대응하지 못함
- 다수의 지점에서 발생한 데이터를 통합, 분석하는 등 중앙 집중식 서비스가 요구될 때 대응하지 못함
- 반면, 특정 워크로드의 실시간 수집 및 분석에는 클라우드 컴퓨팅보다 적합함
- 엣지 컴퓨팅은 클라우드와 함께 동작하며 각 조직의 데이터 수집 및 분석 요건에 맞는 유연한 솔루션을 제공할 때 뛰어난 성능을 발휘함
- 엣지 컴퓨팅은...
728x90
'PYTHON-BACK' 카테고리의 다른 글
#파이썬 24.09.25_AWS AWS Free Tier 실습 (3) | 2024.09.25 |
---|---|
#파이썬 24.09.24_AWS 기초 서비스 이론 (5) | 2024.09.24 |
#파이썬 24.09.20_Django 기반의 테스트 주도 개발 방법론(TDD)&API 문서화 (1) | 2024.09.20 |
#파이썬 24.09.20_Django 기반의 테스트 주도 개발 방법론(TDD)&API 문서화 (0) | 2024.09.20 |
#파이썬 24.09.19_Django 기반의 테스트 주도 개발 방법론(TDD) (3) | 2024.09.19 |