mang_dev
맹꽁거리는 개발자
mang_dev
전체 방문자
오늘
어제
  • 분류 전체보기 (185)
    • Frontend (2)
      • Next.js (1)
    • Backend (3)
      • GraphQL (2)
    • Book (1)
      • 기타 (1)
    • Old (177)
      • 알고리즘 퍼즐 (1)
      • 백준 (131)
      • 프로그래머스 (0)
      • Codility (15)
      • LeetCode (7)
      • Codewars (1)
      • Codeforces (0)
      • Django (6)
      • React (2)
      • Naver Map Api (3)
      • Web UI (4)
      • Introduction to Cloud (2)
hELLO · Designed By 정상우.
mang_dev

맹꽁거리는 개발자

Overview of Cloud Computing
Old/Introduction to Cloud

Overview of Cloud Computing

2020. 9. 11. 15:52

Overview of Cloud Computing

Definition and Essential Characteristics of Cloud Computing

  • Cloud Computing

    a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned and released with minimal management effort or service provider interaction

    • 사용자의 요구에 따라 컴퓨팅에 필요한 모든 자원(network, server, storage, application, service)을 제공하는 것
  • Essential Characteristics

    1. On-demand Self-service

      • 자원을 필요로 할 때, 서비스 제공자와의 interaction 없이 단순한 인터페이스만을 이용하여 클라우드 자원에 접근이 가능
    2. Broad Network Access

      • 휴대폰, 태블릿, 데스크톱과 같은 여러 환경에서 네트워크를 통해 자원에 접근이 가능
    3. Resource Pooling

      • 클라우드를 이용하는 고객이 경제적으로 효율적이게 사용할 수 있게 도움
      • 이를 통해 여러 소비자에게 동시에 서비스를 제공할 수 있고, 소비자는 자원의 물리적인 위치에 신경 쓸 필요 없이 수요에 따라 자원을 할당받음
    4. Rapid Elasticity

      • 자원이 더 필요할 경우, 더 많은 자원을 할당 받을 수 있고, 사용하지 않을 때 자원의 반납이 가능
    5. Measured Service

      • 자원의 사용량이 계속해서 측정되고 있기 때문에, 사용한 만큼에 대한 요금만 지불하면 됨
  • Deployment models
    1. Public
      • 클라우드 공급자가 소유한 하드웨어 자원을 인터넷을 통해 클라우드 서비스로 제공받아서 사용하는 것
    2. Private
      • 클라우드 서비스를 해당 조직 내에서만 사용할 수 있도록 제공하는 것
    3. Hybrid
      • Public + Private
  • Service models
    • Infrastructure(IaaS)
      • 서버, 네트워크, 저장장소, 데이터 센터와 같은 시설이나 물리적 자원의 관리나 운영을 하지 않고도 자원을 사용 가능
    • Platform(PaaS)
      • 인터넷을 통해 어플리케이션을 개발하고 배포하는데 필요한 하드웨어 및 소프트웨어 도구인 플랫폼에 접근이 가능
    • Application(SaaS)
      • On-demand software라고도 부르며, 소프트웨어와 어플리케이션을 기반으로 관리되는 소프트웨어 Licensing/Delivery 모델

History and Evolution of Cloud Computing

  • History of Cloud Computing

    • 1950s

      • 대량의 처리 능력을 가진 대규모의 메인프레임 시스템을 사용할 수 있게 됨
      • Computing Power를 효율적으로 사용하기 위해 Time Sharing, Resource Pooling 기술이 발전
      • Dumb Terminal을 이용하여 어느 곳에서든 동일하게 접근이 가능해짐
    • 1970s

      • Virtual Machine(VM)의 등장으로 하나의 물리적 노드에 여러 가상 머신을 보유할 수 있게 됨

        • Virtual Machine : 하나의 물리적인 하드웨어에 여러 개의 컴퓨팅 환경을 사용할 수 있으며, 각각의 가상 머신은 같은 물리적 자원을 이용하지만 각자가 다른 자원을 가진 것처럼 동작함

        • 서버는 Hypervisor를 통하여 공유 호스팅 환경, 가상 사설 및 전용 서버 등으로 가상화 됨

        • Hypervisor : 여러 운영 체제 환경이 동시에 실행되어, 동일한 자원을 공유할 수 있도록 하는 소프트웨어, 가상 시스템을 논리적으로 구분하여 각 시스템마다 자원을 할당함

  • Evolution of Cloud Computing

    • 기술과 Hypervisor의 향상으로 인해 자원의 공유 및 제공이 안정적으로 가능해짐

      • 따라서, 기업은 물리적인 서버를 보유하지 않은 사용자도 Cloud를 사용할 수 있게 자체적인 Cloud Computing Infra를 구축
    • Resource Pool의 증가

      • 사용자는 원하는 만큼 자원을 할당받을 수 있으며, 그 사용량에 따라 요금을 지불함(Pay-As-You-Go)
      • Cloud Computing이 발전하는 원동력 중 하나
    • Pay-As-You-Go

      • 규모에 관계 없이 모든 기업들에게 좋은 시스템
      • 필요한 만큼의 자원만 사용하여 돈을 지불하기에 필요하지 않은 하드웨어에 대한 투자를 막을 수 있게 됨
    • 사용량에 따른 확장성

      • 사용량이 많을 때는 데이터의 이동량을 확장하고, 적을 때는 줄임

Key Considerations for Cloud Computing

  • Key Consideration

    • Infra & Workload

      • 데이터를 관리하기 위한 시설(Data Center)을 건설하고 운영하는 것은 천문학적인 비용이 들 수 있음
      • Cloud Computing을 사용하면, 초기 비용을 절약할 수 있고, 사용량에 대한 요금이 낮을 경우에도 비용을 절약할 수 있음
      • 하지만, 데이터 센터보다 사용할 수 있는 자원량이 적을 수 있기에 고려해야 함
    • SaaS & Development Platform

      • 소프트웨어를 구입하고 유지보수를 하는 것과, Cloud Service를 사용하는 것 중 어느 것이 비용을 아낄 수 있을지 고려해야 함
      • 또한, 기존 플랫폼에서 몇 시간만에 끝낼 수 있는 일을 Cloud를 이용하여 며칠, 몇 달이 걸릴 수 있기에 속도와 생산성 부분도 고려해야 함
      • 마지막으로, Cloud의 분석 도구를 이용하는 것과 사람이 직접 하는 것에 대한 효율성 역시 고려해야 함
    • Risk Exposure

      • 하드웨어/소프트웨어에 투자 VS Cloud Computing 사용
      • 각 선택에 따른 위험성을 고려해야 함
  • Benefits of Cloud Adoption
    • Flexibility
      • 사용자는 원하는 만큼 자원이나 서비스를 제공받을 수 있음
      • 원하는 어플리케이션을 사용할 수 있음
      • 인터넷만 있다면 장소에 관계없이 Cloud Service에 접근이 가능함
      • 보안
        • Virtual Private Clouds
        • Encryption
        • API Keys
    • Efficiency
      • Infra의 구축 비용이나 유지보수를 고려하지 않고 어플리케이션을 출시할 수 있음
      • 인터넷만 있다면, Cloud-based 어플리케이션과 데이터에 접근이 가능함
      • 하드웨어에 오류가 발생하더라도, 네트워크 기반 모델이기 때문에 데이터의 손실이 일어나지 않음
    • Strategic Value
      • Infra와 기술을 제공함으로써 기업이 원하는 곳에 집중적으로 투자할 수 있게 만듬
  • Challenges of cloud adoption

    • 데이터의 보안, 손실, 사용 불가능에 따른 비즈니스 중단

    • Governance and Sovereignty (?)

    • 법과 관련된 문제

    • 계속해서 발전하는 기술에 적용할 수 있는 표준화의 부족

    • 특정 요구사항에 맞는 서비스 모델 선택의 어려움

    • Cloud Service 제공자 선택

저작자표시 (새창열림)

'Old > Introduction to Cloud' 카테고리의 다른 글

Introduction to Cloud  (0) 2020.09.11
    'Old/Introduction to Cloud' 카테고리의 다른 글
    • Introduction to Cloud
    mang_dev
    mang_dev

    티스토리툴바