검수요청.png검수요청.png

컴퓨팅

위키원
hr9805 (토론 | 기여)님의 2021년 8월 4일 (수) 10:32 판
이동: 둘러보기, 검색

컴퓨팅(computing)이란 넓은 의미에서 컴퓨터 기술 자원을 개발 및 사용하는 모든 활동을 가리킨다. 원래 컴퓨팅이라는 단어는 '계산'이라는 뜻이었고, 컴퓨터(computer)는 계산하는 사람이나 기계를 지칭하는 것이었다. 전기적 컴퓨터가 출현하면서 컴퓨팅이라는 용어는 컴퓨터를 사용하는 행위 또한 가리키게 되었고, 전기적 과정은 컴퓨터 하드웨어에서 수행되었다.

역사

역사적으로 컴퓨팅은 문제 풀기였으며, 문제에는 복잡한 과학 계산이 들어 있었다. 컴퓨팅에는 숫자 세기 외에도 여러가지가 있으며 분류 또한 그중 하나다. 근대 컴퓨팅에서 원하는 대상을 찾아 고르는 일은 수학 연산만큼 중요했다. 계산이 필요한 문제도 늘어났다. 항해, 암호 해독 등 계산이 필요한 모든 일에서 빠른 계산이 필요했다. 그러한 움직임 덕분에 컴퓨팅 기계가 등장하게 되었다. 사회가 커질수록 정치 방식 또한 정교해졌다. 수치화하고 수량화하는 일이 매우 중요해졌다. 따라서 사람들은 필요한 계산을 잘할 수 있는 사람을 찾기 시작 했다. 이처럼 어려운 계산을 전문적으로 하는 사람을 컴퓨팅을 잘하는 사람이라는 뜻에서 컴퓨터(computer), 계산 전문가라고 불렀다.[1]

오늘날의 컴퓨팅은 고전적 의미의 컴퓨팅 대신, 정보통신기술을 뜻한다.

기술

클라우드 컴퓨팅

클라우드 컴퓨팅(cloud computing)은 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다.

  • 장점
    • 초기 구입 비용과 비용 지출이 적으며 휴대성이 높다.
    • 컴퓨터 가용률이 높다.
    • 다양한 기기를 단말기로 사용하는 것이 가능하며 서비스를 통한 일관성 있는 사용자 환경을 구현할 수 있다.
    • 사용자의 데이터를 신뢰성 높은 서버에 보관함으로써 안전하게 보관할 수 있다.
    • 전문적인 하드웨어에 대한 지식 없이 쉽게 사용 가능하다.
  • 단점
    • 서버가 공격 당하면 개인정보가 유출될 수 있다.
    • 재해에 서버의 데이터가 손상되면, 미리 백업하지 않은 정보는 되살리지 못하는 경우도 있다.
    • 사용자가 원하는 애플리케이션을 설치하는 데에 제약이 심하거나 새로운 애플리케이션을 지원하지 않는다.
    • 통신 환경이 열악하면 서비스 받기 힘들다.
    • 개별 정보가 물리적으로 어디에 위치하고 있는지 파악할 수 없다.

서비스형 소프트웨어

서비스형 소프트웨어(Software as a Service, SaaS)는 소프트웨어 및 관련 데이터는 중앙에 호스팅 되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하는 형태의 소프트웨어 전달 모델이다. 주문형 소프트웨어(on-demand software)라고도 한다.[2] 서비스형 소프트웨어의 예는 다음과 같다.

서비스형 인프라스트럭처

서비스형 인프라스트럭처(Infratrucuture as a Service, IaaS)는 서버, 스토리지, 네트워크를 필요에 따라 자원을 사용할 수 있게 클라우드 서비스를 제공하는 형태이다. 대표적으로 서버 가상화, 데스크톱 가상화 등이 있다.[3] 서비스형 인프라스트럭처의 예는 다음과 같다.

  • 네이버 클라우드 플랫폼
  • 아마존 EC2(Elastic Cloud Compute)
  • 마이크로소프트 애저(Microsoft Azure)
  • 구글 컴퓨트 엔진(Google Compute Engine, GCE)

서비스형 플랫폼

서비스형 플랫폼(Platform as a Service, PaaS)서비스 제공자가 소프트웨어와 제품 개발 도구를 제공하는 클라우드 서비스이다. 구글이나 네이버, 다음 등에서 제공하는 공개 API가 PaaS의 일종이다. 서비스형 플랫폼의 예는 다음과 같다.

  • 헤로쿠(Heroku)
  • 구글 앱 엔진(Google App Engine)
  • 아이비엠 블루믹스(IBM Bluemix)
  • 오픈시프트(OpenShift)
  • 세일즈포스닷컴(SalesFoces)

서비스형 모바일 백엔드

서비스형 모바일 백엔드(Mobile Backend as a Service, MBaaS)에서 웹 앱과 모바일 앱 개발자들은 자신들의 애플리케이션들을 자신의 애플리케이션과 커스텀 SDK에 노출되는 API를 갖춘 클라우드 컴퓨팅 서비스와 클라우드 스토리지를 연결하는 방법을 제공받는다. 서비스에는 사용자 관리, 푸시 알림, 소셜 네트워크 서비스와의 연동등을 포함한다. 백엔드 서비스(Backend as a Service, BaaS)로도 알려져 있다.[4]

서버리스 컴퓨팅

서버리스 컴퓨팅(serverless computing)은 사용한 만큼만 비용을 내는 주문형(on-demand) 방식의 백엔드 컴퓨팅이다. 이 모델도 서버를 사용하기 때문에 서버리스가 딱 맞는 용어가 아니다. 다만 사용자가 서버를 관리할 필요가 없을 뿐이다.

  • 장점
    • 개발자들이 코딩을 할 때, 서버 시스템의 구조에 대해서는 신경 쓰지 않고, 자신들의 비즈니와 관련된 내용들만 집중하면 된다.
    • 아주 세분화된 요금 체계로 실제 사용한 컴퓨팅 리소스에 대해서만 비용을 지불하면 된다.
  • 단점
    • 장기적인 작업에는 적합하지 않다.
    • 개발자들이 서비스 제공 업체의 도구를 사용해야 하기 때문에, 나중에 불만족스러운 부분이 많아지더라도 다른 업체로 전환하기 어렵다.
    • 서버리스의 코드를 사내 개발부서나 테스트 환경에 가져와서 통합시키는 것이 어려워질 수 있다.

배치 모델

폐쇄형 클라우드

폐쇄형 클라우드(private cloud)는 한 단체나 기업의 독자적인 용도를 위해서 폐쇄적으로 구성된 클라우드이다. [5]

공개형 클라우드

공개형 클라우드(public cloud)는 임의의 사용자를 위해 클라우드 컴퓨팅 서비스 사업자가 공개적으로 제공하는 클라우드이다.[5]

커뮤니티 클라우드

커뮤니티 클라우드(community cloud)는 특정한 목적을 공유하는 공동체의 구성원들이 공동으로 사용하는 클라우드이다.[5]

혼합형 클라우드

혼합형 클라우드(hybrid cloud)는 뚜렷한 실체는 유지하지만 함계 묶여있는 둘 이상의 클라우드(폐쇄형, 커뮤니티, 또는 공개형)의 조합으로, 여러 개의 모델들의 이점을 제공한다.[4]

분산 클라우드
  • 퍼블릭 리소스 컴퓨팅(public-resource computing): 이 종류의 분산형 클라우드는 광활한 정의의 클라우드 컴퓨팅에서 비롯되는데, 그 이유는 이것이 클라우드 컴퓨팅 보다는 분산형 컴퓨팅에 더 유사점이 있기 때문이다. 그럼에도 불구하고 클라우드 컴퓨팅의 부분 집합으로 간주되며 보잉크(BOINC)와 Folding@Home과 같은 분산형 컴퓨팅 플랫폼과 같은 예를 일부 들 수 있다.[4]
  • 볼런티어 클라우드(volunteer cloud): 볼런티어 클라우드 컴퓨팅은 퍼블릭 리소스 컴퓨팅과 클라우드 컴퓨팅의 교차점의 특징을 지니며 여기에서 클라우드 컴퓨팅 인프라스트럭처는 볼런티어 리소스를 사용하여 만들어진다. 이러한 종류의 인프라스트럭처에는 수많은 도전에 직면하는데, 이것을 만드는데 사용되는 자원의 휘발성과 운영에 쓰이는 동적 환경 때문이다. P2P(peer-to-peer) 클라우드, 애드혹 클라우드라고도 부를 수 있다. 이러한 방향에 관심을 두고 진행 중인 것으로 Cloud@Home이 있으며, 기여에 대한 금전적 보상에 대한 비즈니스 모델을 제공하는 볼런티어 자원들을 사용하여 클라우드 컴퓨팅 인프라스트럭처를 구현하는 것이 목적이다.[4]
인터클라우드

인터클라우드(intercloud)는 클라우드의 클라우드란 의미로, 네트워크가 인터넷인 것과 같은 맥락이다. 단일 클라우드 서비스가 제공할 수 없는 서비스 요청이 들어왔을 때 다른 클라우드 서비스의 인프라에서 필요한 자원을 가져다 서비스하는 것이고 사물인터넷, 유비쿼터스의 핵심 개념이다.

멀티클라우드

멀티클라우드는 단일 벤더에 대한 의존성을 줄이고 선택을 통한 유연성을 향상시키고 장애에 대한 불편을 줄이는 등을 하기 위해 하나의 이기종 아키텍처 안에서 여러 개의 클라우드 컴퓨팅 서비스의 이용을 뜻한다. 여러 개의 배치 모드(공개형, 폐쇄형, 레거시)가 아닌 여러 개의 클라우드 서비스를 가리킨다는 점에서 복합형 클라우드와는 차이가 있다.[4]

엣지 컴퓨팅

엣지 컴퓨팅은 클라우드 컴퓨팅 탄생 이후 문제점이 발생하여 이를 해결하고자 탄생된 개념이다. [6]

클라우드 컴퓨팅의 문제점

클라우드 서비스를 이용하는 사람들이 기하급수적으로 늘어나면서 서버 및 데이터 센터에서 처리할 수 있는 데이터의 양을 넘어서기 시작했고 수집한 데이터를 분석하고 송신하는 과정에서 데이터 지연현상과 통신과정에서의 보안 문제도 발생했다.[6]

엣지 컴퓨팅이 필요한 이유

엣지 컴퓨팅은 대기 시간 없이 실시간 데이터 처리를 지원한다. 클라우드 컴퓨팅을 이용했을 때, 생성된 데이터를 클라우드로 전송하고 전송받은 클라우드에서 데이터를 가공했다면 엣지 컴퓨팅은 스마트 애플리케이션 및 장치에서 데이터가 생성될 때, 즉각적으로 데이터에 대응하여 전송 시간을 줄여준다.[6]

  • 장점
    • 데이터 부하 감소 : 클라우드 컴퓨팅을 사용했을 때, 처리해야 할 데이터 양이 많을수록 시스템에 부하가 생기는 반면, 엣지 컴퓨팅은 해당 기기에서 발생되는 데이터만 처리하기 때문에 부하를 줄일 수 있다.[6]
    • 보안 : 클라우드 컴퓨팅은 중앙 서버 아키텍처로 데이터 전송/전달로 부터 보안을 강화해야 하는 반면, 엣지 컴퓨팅은 데이터 수집과 처리를 자체적으로 하기 때문에 클라우드 컴퓨팅에 비해 상대적으로 보안이 좋다고 할 수 있다.[6]
    • 장애대응 : 클라우드 컴퓨팅을 사용했을 때 서버가 마비되면 치명적인 타격을 입지만 엣지 컴퓨팅을 사용하면 자체적으로 컴퓨팅을 수행하기 때문에 효과적으로 장애를 대응할 수 있다.[6]
    • 대기시간의 감소 : 엣지 컴퓨팅은 사물인터넷(IoT) 디바이스로부터의 데이터를 네트워크 엣지 단에서 효율화 할 수 있어 클라우드 컴퓨팅에 대한 의존도를 줄이고 실시간 컴퓨팅을 보장한다.[7]
    • 비용절감 : 엣지 컴퓨팅은 데이터의 소스 가까이서 데이터를 분석/처리하여 엣지와 클라우드 간 데이터 전송을 줄임으로써 이상적인 솔루션으로 대두되었다. IoT에 투자하는 기업은 클라우드에서 실행될 서비스와 엣지에서 실행될 서비스를 구분하여 사물인터넷(IoT) 관련 비용 절감이 가능하다.[7]
    • 스마트 애플리케이션의 증가 : 대량의 데이터가 생성/저장/분석/처리 되어야 하는데, 엣지 컴퓨팅은 시간에 민감한 사물인터넷(IoT) 애플리케이션의 요구 사항을 충족하기 위해 엣지에서 데이터를 처리하는 등 요구 사항을 충족시키기에 적합하다.[7]
  • 단점
    • 데이터의 보전성 문제 : 엣지 컴퓨팅은 가공에의해 만들어진 필요한 데이터만 분석/처리하고 원천데이터와 불완전한 정보들은 버려진다. 즉 불필요한 정보의 손실이 발생 한다는 점을 고려해야 한다.[7]
    • 데이터 해킹에 대한 문제 : 엣지 컴퓨팅에 사용에 필요한 사물인터넷(IoT), 네트워크 연결장치 및 내장 컴퓨터가 추가 됨에 따라 여러 장치를 통해 악의적인 공격 및 해커가 침투하여 중요한 데이터를 액세스 할 수 있는 방법이 증가한다.[7]
    • 대량화에 대한 문제 : 규모가 큰 엣지 컴퓨팅은 더 많은 로컬 하드웨어가 필요 하다. 데이터 처리를 위한 다양한 장비와 컴퓨팅 프로세스를 처리하기위한 하드웨어가 필요해지므로 그에 따른 비용 또한 증가한다.[7]

적용 사례

  • 자율주행차 : 차량에 부착된 센서가 실시간으로 데이터를 수집해 앞차 간 거리 유지나 주변 도로 상황, 차량흐름 등을 파악하고 주행 중 돌발상황이 발생했을 때 신속하게 대처하여 사고를 피할 수 있도록 한다. 만약 이런 처리가 엣지 컴퓨팅이 아닌 중앙 데이터 센터에서 이루어진다면 주행 중 네트워크 지영이나 데이터 전송 오류가 발생할 경우 큰 사고로 이어질 수 있고 돌발상황에 유연하게 대처하지 못할 확률이 높다.[8]
  • 스마트 팩토리 : 엣지 컴퓨팅이 적용된 스마트 팩토리를 살펴보면 공장내 온/습도 조절이나 기계별 가동 현황을 실시간 파악하여 기계 가동을 효율적으로 관리하는 등의 단순 데이터처리는 엣지에서 담당하고 기계 수명 관리나 사고 위험 예측 같은 고도의 분석이 필요한 데이터는 중앙 데이터센터로 전송하여 시스템을 운영한다.[8]

그린 컴퓨팅

그린 컴퓨팅(green computing)은 컴퓨팅에 이용되는 에너지를 절약하자는 운동. 컴퓨터 자체의 구동 뿐 아니라 컴퓨터의 냉각과 주변기기의 운용에 소요되는 전력을 줄이기 위해 새로운 CPU의 설계, 대양에너지 등 대체에너지 사용 등의 다양한 방안이 제시되고 있다.[9]

자율 컴퓨팅

자율 컴퓨팅(autonomic computing)은 컴퓨터 시스템들이 스스로의 상태를 인식해 인간의 관여 없이또는 최소한의 관여 스스로를 복구, 재구성, 보호 및 자원 재할당을 할 수 있다는 개념이다.

각주

  1. 한빛, 〈컴퓨팅이란 무엇일까?〉, 《한빛출판네트워크》, 2019-06-04
  2. 서비스형 소프트웨어〉, 《위키백과》
  3. 서비스형 인프라 스트럭처〉, 《위키백과》
  4. 4.0 4.1 4.2 4.3 4.4 클라우드 컴퓨팅〉, 《위키백과》
  5. 5.0 5.1 5.2 김성균, 〈클라우드 컴퓨팅 for dummies〉, 《이글루 블로그》, 2010-04-26
  6. 6.0 6.1 6.2 6.3 6.4 6.5 불곰, 〈엣지 컴퓨팅이란?〉, 《티스토리》, 2019-01-29
  7. 7.0 7.1 7.2 7.3 7.4 7.5 김대영, 〈엣지 컴퓨팅〉, 《피플앤드테크놀러지 기술 블로그》, 2020-03-25
  8. 8.0 8.1 LG CNS IoT사업담당, 〈엣지컴퓨팅이 주목받는 이유는?〉, 《엘지 시엔에스》, 2018-04-05
  9. 그린컴퓨팅〉, 《네이버 지식백과》

참고자료


같이 보기


  검수요청.png검수요청.png 이 컴퓨팅 문서는 컴퓨터에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.