728x90
Hybrid Multicloud

Hybrid Multicloud

  • Hybrid Cloud : private / public cloud를 하나의 인프라로 설정
  • 멀티클라우드 : 클라우드 전략 중 하나로, 서로 다른 클라우드 모델을 혼합한 것
    • Public / Private, IaaS/PaaS/SaaS를 조합
    • Cloud A - email / Cloud B - CRM / Cloud C(Private) - Infrastructue
    • 서로 다른 공급자를 이용할 수 있음
  • Using case
    • 한 서비스가 UI / API / Billing으로 구성된 multicloud로 가정
    • 만약 특정 region에서 수요가 peak를 찍을 경우, 해당 region의 UI / Billing 부분의 Cloud service를 확장시켜 대응 가능
  • 특정 클라우드에 모든 작업이 몰리는 것을 방지하기 위해 multicloud를 사용하기도 함

Microservices

  • 특정 어플리케이션을 작은 구성 요소, 혹은 서비스 단위로 분할하여 제공하는 것
  • 각각의 컨테이너에서 동작하는 stack을 보유
  • API, Event, Message를 통해 데이터 교환
  • Business에서의 의미
    • 다수의 개발자가 독립적으로 개발 가능
    • 다른 구성 요소에 대해 다른 stack으로 개발 가능
    • 각 구성 요소에 대해 독립적인 scaling 가능
  • SW의 개발 발전
    • 초기 : 단일 프로그램을 함께 개발
    • 중기 : PaaS를 통한 통합 개발 환경
    • 최근 : 서비스를 독립된 구성 요소(검색, 추천, 별점 등)로 분할하여 개발
      • 하나의 microservice에 이상 발생 시 다른 서비스로 대체 가능

Serverless Computing

  • Infrastructure에서 Scaling, Scheduling, Patching 등의 관리에 필요한 노력을 경감
  • 어플리케이션의 필요에 따라 자원 할당
  • 필요에 따라 코드를 동작하며 필요에 따라 Scaling
    • request된 정도에 따라서 비용 지불
  • 인프라를 추상화하고, 각 기능별로 코드가 실행
  • 모든 서비스에 대해 서버리스가 유용하지느 않음
    • 어플리케이션의 특징을 분석
    • 어플리케이션이 서버리스 패턴에 적합한지 확인
      • 단시간 구동되거나, 특정 기간에만 동작하는 경우
      • 이벤트 기반의 처리를 하는 경우
      • stateless microservice
  • Using Case
    • IoT, 모바일 백엔드, 마이크로서비스
    • 각종 데이터에 대해서 - 평가, 번역, 데이터 검증, PDF 처리, 정규화, 이미지 썸네일 등

Cloud Native Applications

  • 오직 클라우드 환경 내에서만 동작하기 위한 어플리케이션
    • 혹은 클라우드 특성에 맞게 재구성된 어플리케이션
  • 어플리케이션을 구성하는 마이크로서비스로 구성
    • 각 서비스는 독립적으로 scale됨
    • 각 미이크로서비스는 실행 단위인 Container로 package됨
  • Cloud Native Applications 개발 특징
    • Microservice architectrue : 어플리케이션을 기능 단위로 분리
    • rely on container : 유연성, scailability, portability 최대화
    • Agile Method : 유저 피드백에 기반한 빠른 업데이트

DevOps on the Cloud

  • 개발팀의 목표
    • 소프트웨어 설계, 개발, 전송, 실행
    • 신뢰성, 효율성 중시
  • 운영팀의 목표
    • 모니터링, 실패 예측, 환경 관리, 이슈 수정
  • DepOps = Develop + Operation
    • 개발, 운영, QA 담당이 하나의 팀으로 협업하는 것
    • 빠른 사용자 피드백 사이클을 통해 생산성 증가
  • DevOps process
    • Continuous delivery : 소규모로, 잘 설계된, 고품질의 소프트웨어
    • Continuous Integration : 코드 수정을 Immutable한 이미지로 배포 - 만약 수정이 필요할 경우 해당 구성 요소 전체가 수정
    • Continuous Deployment : 라이프사이클은 가능한 한 빠르게
    • Continuous Monitoring : deploy 이전까지 어플리케이션의 가용성 등을 모니터
  • 클라우드에서의 DevOps
    • Provision, installation, documentation의 과정을 자동화
    • Continuous Integration & Deployment
    • Define how to collaborate
    • low cost test
    • recover from diseasters quickly

Application Modernization

  • 레거시 시스템의 문제점 : 업데이트가 어려움, 유지 보수 비용이 높음
  • Application Modernization : 새로운 서비스 적용이 쉽고, 변화에 빠르게 응답할 수 있음
  • Application Modernization의 과정
    • Architecture
      • 과거 : 단일 구조로 개발
      • 현재 : 서비스 지향 - 프론트엔드 / 백엔드 등
      • 최근 : 마이크로서비스 - 매우 작은 단위로 프로그램 분할
    • Infrastructure
      • 과거 : 물리적 서버 사용
      • 현재 : 가상 머신
      • 최근 : 클라우드
    • Delivery
      • 과거 : 폭포형 - 장기적으로 계획, 개발, 테스트 순으로 진행
      • 현재 : Agile 방법론
      • 최근 : DevOps
728x90
728x90
Basics of Cloud Storage

Basics of Cloud Storage

  • 클라우드 저장소 : 클라우드 상에 데이터와 파일을 저장
    • 컴퓨팅 노드를 통해 접근하거나, 인터넷을 통해 직접적으로 접근할 수도 있음
  • 클라우드 저장소의 종류
    • Direct Attached(Local Storage)
      • 서버 랙에 호스트와 함께 할당
      • 서버 OS를 위해 사용
      • 연산을 위한 '임시' 저장소 역할이므로 클라우드 저장소로는 부적합
    • File Storage(NFS storage)
      • 네트워크를 통해 연산 노드와 연결
      • direct-attach 대비 느린 속도
      • direct / block 저장소 대비 낮은 가격
      • 다수의 서버에 동시에 연결 가능
      • 데스크톱 유저에게 익숙한 구조
    • Block Storage
      • R/W 속도가 빠르고, 높은 신뢰성을 갖기 때문에 DB나 빠른 속도가 중요한 어플리케이션에 유용
      • Volume : Block storage의 처리 단위로 연산 노드에 연결되는 최소 단위 - HDD와 유사하게 동작
      • 한번에 연산 노드와 볼륨은 1:1로만 연결 가능
      • IOPS (Input/Output Operations Per Second) : 저장소의 속도
      • Persistent : 연산 노드가 사라져도 Volume은 남아있는 상태
        • 이후 Volume이 사라질 경우, 데이터가 손실될 수 있음
        • snapshot을 통해 데이터를 백업
    • Object Storage
      • API를 통해 접근
      • 가장 저렴하지만, 가장 느림
      • 용량 제한이 없음
      • 구조화되지 않은 데이터를 저장할 때 좋음

File Storage

  • 접근 및 저장 전에 연산 노드와 연결되어야 함
  • Direct attach 대비 저렴하고, 신뢰성이 높으며 사용자가 관리할 필요가 적어지며, 서버 디스크보다 많은 용량을 할당 가능
  • 실제 디스크를 일정 단위로 분리 후 할당
  • File Storage는 인터넷을 통해 연결
    • Network Attached Storage = Network File Storage(NFS)
    • 트래픽에 따라 속도가 변화하므로 일정 속도를 보장하지 못할 수 있음
  • File Storage는 하나 이상의 연산 노드와 연결될 수 있음
    • 파일 공유, 입력되는 파일 저장(Landing Zone) 등 속도 영향을 덜 받는 경우 사용
  • IOPS
    • 초당 I/O 동작의 수 (네트워크 속도나 연산 속도와는 다름)
    • 높은 IOPS = 디스크 속도가 빠름 = 비용이 높음
    • 낮은 IOPS는 병목 현상을 일으킬 수 있음

Block Storage

  • 파일을 chunk(block)으로 분할하여 각각의 주소를 할당하여 관리
  • File Storage와 유사하게 사용 전에 연산 노드에 연결해야 함
  • 높은 신뢰성과 보안성
  • 광케이블에 연결되므로 일정하게 빠른 속도를 갖기 때문에 저지연성 작업(DB, 메일)에 유리
  • 연산 노드간 공유 저장소로는 부적합
  • 필요에 따라 IOPS를 수정할 수 있음
  • Block / File Storage의 공통점
    • 서비스 제공자에 의해 유지보수
    • 높은 가용성, 신뢰성
    • 데이터 암호화 제공
  • File Storage는 이더넷에 연결되지만, Block Storage는 광케이블로 연결되므로 Block쪽이 훨씬 빠르고, 일정 속도를 보장
  • File Storage는 다수 노드에 연결 가능하며, 파일 공유가 가능하나, Block Storage는 단일 노드에만 연결 가능하며 빠른 연결이 지속적으로 필요한 경우 사용

Object Storage Overview

  • Object Storage는 특정 노드에 연결되지 않고, API를 통해 접근(up/download)
  • 다른 저장소 대비 저렴하게 제공
  • 거의 무한한 저장소 제공, 사용한 만큼만 지불 가능
  • 구조화되지 않은 (= 폴더 단위로 저장되지 않는) 데이터를 저장할때 유용
    • Bucket이라는 파일 단위를 사용하여 서로 다른 데이터를 저장(이때 Bucket 내에 Bucket을 저장할 수는 없음)
    • Bucket에는 metadata가 설정되어 접근을 위해 활용됨
    • Bucket 생성 시 크기를 정의할 필요가 없음
    • Bucket을 저장 방식의 설정
      • 동일 region 내 설정 : 높은 가용성
      • 여러 region 에 분할 : 높은 신뢰성
  • Using Case
    • text, audio, video
    • IoT data
    • VM Image
    • Backups
  • OS, DB 등 변화가 잦은 경우에는 부적합

Object Storage - Tiers and APIs

  • Bucket 내에는 Tier와 Class가 존재
  • Tier : 데이터 접근 빈도
    • standard : 주기적 접근, 높은 가격
    • vault, archive : 문서 혹은 월에 한두번만 접근할 파일들 - 상대적으로 낮은 가격
    • Cold Vault : 연에 한두번만 접근할 파일들, GB단위가 월에 cent단위일 만큼 저렴
    • automatc archiving rule : 파일 접근 빈도에 따라 자동으로 티어 조정
    • Tier는 IOPS와는 다름
  • 가장 흔한 Object Storage는 S3 API로, AWS S3 object storage에 기반
    • 많은 공급자들이 S3에 호환되도록 API를 구성

Content Delivery Networks

  • 임시 파일, 캐시 파일, 웹 데이터 등을 전달하는 분산 서버 네트워크
  • 한 리전 내의 웹에 접근할 때, 멀리 떨어진 사용자는 그만큼 응답 시간이 느려지게 됨
    • 각 리전에 CDN을 배치하여 유저 데이터 등을 저장
    • 리전 근처의의 사용자 요청 시 CDN 데이터를 전달
    • 접근 속도를 높이고, 중앙 트래픽은 낮춤
728x90
728x90
Overview of Cloud Infrastructure

Overview of Cloud Infrastructure

  • 클라우드 모델을 선택 후, Infrasturcture 구조를 결정하여야 함
  • Region : Infrasturcture가 구성되어 있는 지역 (East, US 등등)
    • 한 region에 손상을 받아도 다른 region은 계속 동작
  • Zone : 한 region 내에 존재하는 Data Center 구역
    • DAL-09 / US-east-01 등으로 명명
    • Zone의 분리는 fault 위험을 낮추고, 지연을 감소시킬 수 있음
  • Computing Resource
    • Virtual Server(VM) : 가상화된 소프트웨어 기반의 서버
    • Bare metal servers : 가상화되지 않은 물리적 서버
    • Serverless : 가상 머신의 추상화된 계층
  • Storage
    • 데이터의 중요도, 접근 빈도, 접근 속도, 보안 정도에 따라 결정
    • Block Storage
    • File Storage
    • Object Storage
  • Networking : 라우터, 스위치, SDN(Software Defined Networking)
    • Interface : 서버와 공개된 네트워크상의 연결 여부 - public / private
    • 네트워크 접근 제어 : VPC, VLAN, VPN
    • HW적 제어 : 방화벽, 게이트웨이, 로드밸런서 등

Virtualization and Virtual Machines Explained

  • 가상화 : 소프트웨어 기반으로 가상의 컴퓨터 / 저장소 / 네트워크 등을 만드는 것
  • Hypervisor : 가상화의 핵심
    • 물리적인 서버 위에서 동작하여 가상 환경에 컴퓨터 자원을 할당
    • Type 1 - Baremetal Hypervisor
      • 가장 대표적인 hypervisor 유형
      • VMware, Hyper-v 등
    • Type 2 - Hosted Hypervisor
      • 물리 - Hypervisor 사이에 host OS 계층이 존재
      • Virtualbox 등
  • Virtual Machine : 소프트웨어 기반으로실제 컴퓨터처럼 동작 (OS, 어플리케이션 등을 동작)
    • Host에 대해 독립성을 갖기 때문에 hypervisor 간에 유연한 이동이 가능
  • VM의 장점
    • 비용 절감 : 한 인프라 내에서 여러 VM을 돌릴 수 있다 = 실제 서버에 대한 유지 보수가 절감(전기세 등)
    • Agility : VM 구성은 매우 빠르고 쉽게 할 수 있음
    • 시간 절약 : 다른 Host로 빠르게 VM을 이동할 수 있다 = 백업이 간편하다

Types of Virtual Machines

  • 가상 머신을 구성할 때의 고려할 점
    • 가상 머신의 위치 : Region, Zone
    • OS : Unix, Linux, Window, ...
    • shared(Multi - tenant) / dedicated (Single - tenant)
    • 과금 체계 : hourly or monthly
  • shared(public) cloud : multi-tenant 구조, 정해진 크기 내에서 수요에 따라 정의
    • multi-tenant : 서버를 가상화하여 다른 사용자와 공유하여 사용
  • transient(spot) VM : 데이터센터의 사용하지 않는 용량을 활용
    • 비슷한 VM 대비 저렴한 가격으로 공급하나, 경우에 따라 할당이 취소(de-provision)되거나 더 높은 가격으로 책정될 수 있음
    • 테스트 / 개발용으로 활용
  • reserved virtual server instance
    • 일정 용량 혹은 자원을 보장
    • 장기간 예약할수록 저렴하게 사용 가능
  • Dedicated Host
    • Single-tenant : 특정 Host 자원을 독점하여 사용

Bare Metal Servers

  • Single-tenant / dedicated 서버, 단일 고객을 위해 할당
  • 공급자는 하드웨어를 관리하고, 그 외의 부분은 고객이 설정
    • 공급자에 의해 사전에 설정되거나, 고객이 원하는대로 맞출 수도 있음
  • Virtual Server 대비 프로비전까지의 시간이 오래 걸림
  • 단일 고객에게 할당되므로 VM 대비 고가
  • Hypervisor가 필요 없기 때문에 독립된 환경에서 사용 가능하며, 하드웨어에 대한 높은 접근성을 제공

Secure Networking in Cloud

  • 클라우드 환경 구축 사례가 많아지면서 보안에 대한 필요성 역시 그에 따라 높아짐
  • 클라우드 보안의 경우 실제 서버 보안과 크게 다르지 않으나, 구성 요소가 논리적으로 동작한다는 차이가 존재
    • 네트워크 인터페이스 컨트롤러(NIC)의 경우 클라우드에서 가상 NIC(vNIC)로 동작
  • 클라우드의 네트워크 기능은 HW보다는 서비스로서 기능
  • 네트워크의 사이즈(IP 주소 범위)를 정의하는 것으로 시작
    • 클라우드 네트워크는 서브넷이라는 단위로 분할
    • 한 서브넷 내에는 VM, 인스턴스, 저장 공간, 로드 밸런서 등으로 구성
    • 각 서브넷은 접근 제어 리스트(Access Control List, ACL)이라는 서브넷 단위의 방화벽으로 보호됨
  • 서브넷이 사용하는 서비스에 따라 각각 다른 보안 그룹으로 할당
    • Web tier의 경우 인터넷에 연결되어야 함 : Public Gateway와 VPN을 활용
    • 많은 접근이 있는 어플리케이션의 신뢰성을 위해 Load Balancer 사용

Containers

  • 의존성 + 라이브러리 + 코드로 구성된 실행 가능한 SW 단위
  • 클라우드, 데스크톱 등 어느 곳에서나 실행 가능
  • 가상 머신과 달리 OS를 포함하지 않음
  • Virtual Machine의 경우
    • HW - Host OS - Hypervisor로 구성
    • Hypervisor 위에 Guest OS를 포함하는 Virtual Machine이 할당
    • VM 위에 프로그램 구동
    • 여러 개의 프로그램 구동시 그만큼의 VM이 필요
    • 다수의 프로그램 구동 시 많은 자원이 필요하고, VM별로 다른 호환성 문제가 있을 수 있음
  • Container의 경우
    • 파일 생성 - 이미지 생성 - 컨테이너 생성
    • HW - Host OS - Runtime Engine으로 구성
    • Guest OS 없이 동작하므로 VM 대비 적은 자원 필요
728x90
728x90
Overview of Service Models

Overview of Service Models

  • IaaS : 가상화된 네트워크 및 저장소가 제공되어 사용자는 접근 및 설정이 가능

    • 사용자 유형(persona) : 시스템 / IT 관리자
    • 자동차 리스로 비유 : 차량의 성능에 대해 신경 쓸 필요 없이 외관(도장)에만 신경쓰면 됨
  • PaaS : IaaS의 가상화된 자원이 갖는 장점을 이용 + 사용자는 이 부분에 대해 관리할 필요가 없음

    • 사용자 유형 : 대체로 개발자
    • 렌트카로 비유 : 단순히 차를 빌려서 톨비, 연료비만 지출
  • SaaS : 로컬 장치에 설치하거나 업데이트 없이 사용하는 소프트웨어

    • ex. 유튜브 역시 SaaS의 일종
    • 대체로 라이센스보다는 구독형 모델
    • 택시로 비유 : 차의 성능, 외관, 유지비 상관 없이 정해진 거리만 이동
  • IaaS > PaaS > SaaS 순으로 사용이 쉬우며, 역순으로 관리 복잡성이 증가

IaaS - Infrastructure as a Service

  • 인터넷을 통해서, 실시간으로, 사용한 만큼 지불하는 방식으로 고객들에게 연산 능력, 네트워크, 저장소를 제공

  • Infrastructure를 가상화, 혹은 하이퍼바이저 층을 이용하여 제공

  • 고객은 클라우드 공급자가 공급 가능한 지역을 선택하여 가상 머신을 생성, 혹은 프로비전할 수 있음

  • 가상 머신에는 고객이 선택한 운영 체제가 설치

    • 고객은 middleware, 어플리케이션을 설치하고 프로그램을 구동
    • 처리 및 백업을 위해 저장소를 사용
  • 클라우드 공급자는 고객들에게 성능 및 사용량의 추적 및 측정, 재해에 따른 복구를 제공

  • IaaS의 구성요소

    • Physical Data Center
      • 다양한 추상화 계층을 제공
      • 사용자들은 물리 계층을 직접 사용하지 않고, 데이터센터가 제공하는 서비스를 사용
    • Compute
      • 공급자는 하이퍼바이저를 관리하고, 사용자는 필요한 만큼의 연산, 메모리, 저장 공간을 프로비전
      • auto scaling, load balancing을 통한 높은 성능 제공
    • Network : 네트워크 자원을 API를 통해 접근
    • Storage : Object, File, Block 저장소로 구성
  • Using Case

    • Test / Develop : 개발 환경을 더 빠르게 구성할 수 있게 하여, 인프라 관리보다 비즈니스 로직에 더 집중할수 있게 해줌
    • Continuity / Recovery : 정전 혹은 재해의 위험 없이 어플리케이션 혹은 데이터에 접근 가능하게 해줌
    • Faster Deployment : 웹 어플리케이션을 빠르게 배치하고, 변화하는 수요에 맞추어 인프라 크기를 빠르게 키우거나 줄임

Paas - Platform as a Service

  • 고객에게 직접 개발하였거나 서드파티에 의해 개발, 배치, 구동, 관리할 수 있는 완성된 플랫폼을 제공
    • 서버, 네트워크, OS, 저장소, API, 미들웨어, DB 등...
    • 사용자는 코딩 및 유지보수만 하도록 구성
  • IaaS의 경우 raw한 컴퓨터 자원을 제공
    • PaaS의 경우 low-level 환경에 대한 부분을 추상화
  • PaaS의 주요 특징
    • 높은 추상화 : 어플리케이션 배치, 프로비저닝, 인프라 설정, 로드 밸런싱과 DB의 설정 복잡성을 모두 배제
    • API 제공
      • 클라우드 어플리케이션의 복잡한 부분을 API를 통해 단순화
      • 워크로드, 사용자 구분, 통계 등을 API로 지원
    • 빠른 배치 매카니즘 : 어플리케이션을 빠르고 효율적으로 배치 및 동작
  • Using Case
    • API 개발 및 관리
    • IoT : 개발을 위한 도구 및 프로그래밍 언어 등 제공
    • Business analytic : 사업 결정 및 예측 지원
  • PaaS의 장점
    • Scalability : API, 지원, 미들웨어 등을 사용한 만큼 지불
    • 빠른 시장 출시 : 환경 구성에 필요한 시간을 단축
    • Agility : 다양한 OS, 언어, 도구를 쉽고 빠르게, 그리고 변경 시의 위험을 낮게 하여 사용 가능
  • PaaS의 위험성
    • 서비스 제공자의 인프라에 따른 보안 위험성
    • 인프라에 의한 의존성
    • 제공되는 서비스가 변경될 경우 제어 불가

SaaS - Software as a Service

  • 클라우드에 기반한 SW 제공
  • 공급자는 서버, DB, 어플리케이션 및 접근 권한, 보안 등을 관리
  • 사용자는 유지보수 / 업데이트 없이 사용
  • MS Office 365, Gmail, CRM 등이 해당
  • 주요 특징
    • Multitenant architecture : 인프라 및 코드는 중앙에서 유지보수하고, 모든 사용자에 의해 접근
    • Management : 접근 권한 및 데이터 사용을 관리하기 편하고, 모든 사람들이 동시에 같은 정보를 볼 수 있게 함
    • Customize : 어플리케이션을 사업에 맞게 조정 가능하고, data field나 기능 활성 여부를 선택 가능
    • Subscription model
  • SaaS의 장점
    • 빠른 솔루션 조달이 가능 : 결정부터 결과까지의 시간을 단축
    • 작업 생산성과 효율성을 증가
    • SW 배포가 매우 빠름
  • Using Case
    • 업그레이드, 유지보수 및 패치가 필요 없는 환경
    • 최소한으로 신뢰성 있는 어플리케이션 동작
    • 웹, 마케팅, 판매 등을 관리
    • SaaS 어플리케이션을 모아 SIP(SaaS Integration Platform)으로 제공
  • SaaS의 유의점
    • 서드파티 사용 시 중요 데이터 문제
    • 인터넷 상태가 불량할 시 접근 불가

Public Cloud

  • Deploy model의 구분
    • 어디에 인프라가 할당되는지
    • 누가 소유하고 관리하는지
    • 어떻게 자원과 서비스가 사용자가 이용 가능하도록 만들어지는지
  • Public Cloud : 사용자는 인터넷을 통해 서버, 저장소, 네트워크, 보안 등에 접근
  • Web, API 등 필요한 서비스를 사용
  • 제공자는 인프라를 소유, 관리, 유지보수 - 사용자는 이 과정을 알지 못함
    • 물, 전기, 가스를 사용하는 것과 같은 방식
  • 가상화된 multi-tenant 구조를 사용하여 컴퓨팅 자원을 공유
    • 방화벽 바깥에 위치
    • 공유되는 인프라, 플랫폼, 소프트웨어는 단일 사용자에게 할당되지 않음(공유됨)
    • 자원은 필요에 따라 분배되며, 구독 및 사용량에 따라 지불
  • public cloud의 장점
    • 필요에 따라 끊김 없는 자원 할당
    • 규모의 경제에 따른 서비스 제공
    • 높은 신뢰성
  • public cloud의 유의점
    • 보안 : 데이터 손상, 손실 등의 문제
    • 데이터 권한 준수 : 법률에 따른 데이터 관리 문제
  • Using Case
    • 클라우드 기반의 어플리케이션 / 플랫폼을 통해 어플리케이션 개발 및 시험에 집중하여 출시까지의 기간 단축
    • 변화하는 사용량에 대응
    • 피해 복구, 데이터 보호, 지속성 유지
    • 쉬운 배포, 데이터 백업, 높은 접근성
    • 어플리케이션 및 플랫폼의 유지보수를 클라우드 공급자에게 아웃소싱

Private Cloud

  • NIST 정의 : 단일 기관에 의해 독점적으로 클라우드 인프라를 사용
    • 소유, 관리, 동작 역시 사용 기관에서 담당
  • Internal Infrastructure : 사용 기관에 의해 소유 / 관리
  • External Infrastructure : 서비스 제공자에 의해 소유 / 관리
    • Virtual Private Cloud(VPC) : 퍼블릭 클라우드에서 논리적으로 독립되어 사용
    • Public Cloud의 장점은 취하고, 맞춤형 보안 등 특정한 니즈를 충족 가능
  • Private Cloud의 장점
    • 더 직접적인 관리 가능
    • 자원 활용을 통한 비용 절감
    • Cloud Bursting : Public Cloud 사용 중 급격한 변화(Surge) 발생 시 Private로 전환 가능
    • 필요에 따른 접근 관리
  • Using Case
    • 매우 민감한 데이터 관리
    • 기존의 내부 어플리케이션 등을 통합, 최신화
    • 보안 걱정을 낮추면서 어플리케이션의 장소 제약 없는 개발

Hybrid Cloud

  • private 및 public cloud를 하나의 인프라로 구성
    • 각 어플리케이션 및 작업에 대해 유연한 동작 선택 가능
    • private - public을 자유롭게 전환 가능
  • 필요에 따라 public 용량을 순간 수요에 따라 private로 전환 가능 (Cloud Bursting)
  • 주요 특징
    • Interoperable : private - public cloud가 서로의 API, 설정, 데이터 포맷, 인증 양식을 해석 가능
    • Scalable : public cloud 용량을 private로 전환 가능
    • portable : 데이터를 특정 서비스에 종속되지 않게 사용 가능
  • Hybrid Cloud의 종류
    • Mono : 단일 제공자에 의해 제공
    • Multi : 표준에 기반한 Stack으로 임의의 인프라 상에 구축 가능
    • Composite Multicloud : Multicloud보다 높은 유연성 제공
  • Hybrid Cloud의 이점 : 보안, 신뢰성, 최적화, 비용 절감
  • Using Case
    • SaaS 통합 : public - private 클라우드들 간에 SaaS 어플리케이션 이용이 가능하도록 하여 새로운 솔루션 제공
    • Data / AI 통합
    • 레거시 어플 개선
    • VMware 마이그레이션
728x90
728x90
Cloud Adoption - No Longer a Choice
  • 학습 목표
    • 클라우드로 이동한 Business Case 학습
    • IoT, AI, 블록체인 등의 기술이 어떻게 클라우드로 인해 가속될 수 있는지 학습

Cloud Adoption - No Longer a Choice

  • 클라우드는 낮은 위험으로, 실험-실패-학습의 과정을 더욱 빠르게 해줌
  • IBM Business Value Study : 3/4 이상의 기업들이 새 산업으로 확장할 때 클라우드 컴퓨팅을 사용
    • 74%가 더 나은 고객 경험을 위해 클라우드로 이동
    • 71%가 기존 시스템의 크기를 줄이고, 비용을 감축하며 더 나은 제품과 서비스를 위해 클라우드를 사용
  • 경쟁력 있는 기업은 통계나 고객 경험을 이해하여 시장에 빠르게 반응하여야 함
    • 제품의 수명주기는 더욱 짧아졌고, 진입 장벽은 더욱 낮아짐
  • The International Data Corporation(IDC) : 2025년이면 전 세계에서 생성되는 데이터 양이 163ZB(1ZB = 1조 GB)에 달할 것이라고 예상되며, 이중 30%는 실시간 정보가 될 것
    • data에 기반한 결정은 어느 사업에서나 중요
    • 그렇기 때문에 클라우드 컴퓨팅은 성공적이고, 지속 가능하며, 경쟁력 있는 사업에 필수적인 요소가 되어가고 있음

Cloud Adoption - Some Case Studies

  • American Airlines
    • Challenge : 고객 경험, 디지털 채널의 향상 / 고객 니즈에 대한 응답 시간을 개선
    • Soltuion : 클라우드 기반의 Self-service tool, 기존 어플리케이션의 제약사항 제거
    • Result : 새로운 어플리케이션 개발 및 배포 속도의 증가, 신뢰성 및 생산성의 증가, 업그레이드 비용의 절약
  • UBank
    • Challenge : 개발자에게 더 많은 권한 부여, 추가 자원에 대한 니즈 감소, 시장에 대한 빠른 대응
    • Solution : IBM watson을 이용한 지원, PaaS 개발 모델
  • Bitly
    • Challenge : global precense, 크기의 확대 및 축소, 더 많은 POP로의 분산
    • Solution : 확장 가능한 호스팅 플랫폼, IBM Cloud로의 이동
    • result : 250억개의 링크가 site에서 클라우드로 이동, 10억 개의 유저 데이터가 클라우드를 통해 관리
  • ActivTrades
    • Challenge : latency 감소, 실행 속도 증가, 새로운 기능의 효율적 전달
    • Solution : 거래 시스템을 IBM Cloud로 이동(저장소, 네트워킹, 보안)
    • result : 성능의 3배 향상, 보안 향상된 플랫폼, 새로운 요구사항에 대한 더욱 빠른 응답

Internet of Things in the Cloud

  • 각종 디바이스와 센서들은 데이터를 수집하고 측정
    • 스마트 빌딩의 경우, 온도, 시각, 환경 등의 정보를 수집하는 수천개의 센서가 데이터를 수집
    • 어마어마한 양의 데이터가 수집되고, 네트워크 상에 부담이 될 수밖에 없음
    • 클라우드를 통해 IoT 디바이스에 의한 데이터를 관리

Artificial Intelligence on the Cloud

  • AI-IoT-Cloud의 관계
    • IoT 디바이스에 의한 데이터를 AI가 처리 - IoT 기기의 동작은 AI에 의해 결정
      • ex. smart assistant - IoT기기가 사용자의 행동 특성을 학습하여 행동 보조
    • IoT와 AI가 클라우드의 활용성을 높임
  • case study : USTA(미국 테니스 연합)
    • 테니스 경기 중의 모든 데이터(영상, 소리 등)를 수집
    • 경기에 몰린 사람들로 인한 네트워크 트래픽을 자동으로 관리
    • 관중의 함성소리 등으로 경기의 하이라이트를 자동으로 식별

Blockchain and Analytics on the Cloud

  • 블록체인
    • transaction application의 투명성과 추적성을 설정하고, 비용을 감축하며 처리 속도를 높이기 위한 보안, 분산, 공개 기술
    • transaction과 연관된 멤버들만 볼 수 있도록 하는 네트워크
    • 네트워크가 더 분산되고, 공개되고, 다양해질수록 신뢰성과 투명성은 증가
  • 데이터를 클라우드 간에 간편하고 안전하게 옮기기 위해, 블록체인과 같은 기술의 필요성은 증가 추세
  • 블록체인 - AI의 관계
    • 블록체인은 신뢰성 있는 연결을 제공
    • AI는 수집된 데이터로 통계와 의사 결정을 강화
    • 클라우드는 효율적인 연산 자원을 제공
728x90
728x90
Definition and Essential Characteristics of Cloud Computing

이번 강의를 통해 클라우드 컴퓨팅을 정의하고, 주요 특징, 발전 과정, buisness case를 알 수 있게 될 것이다.
IBM Clouders에 지원하기 위한 기본 과제로써 해당 강의를 알게 되었는데, 클라우드에 관련한 몇몇 세미나를 들은 기억들을, 이 강의로 어느 정도 기초 개념을 확실히 하고자 한다.
IBM Cloud Course는 강의 중/후의 시험으로 통과 여부를 정한다. 이번 코스의 경우 강의 중간 평가 50%, 기말고사 50%로 수료 여부가 정해진다. 100점 만점에 총 70점 이상을 획득하여야 한다.

  • 학습 목표
    • 클라우드 컴퓨팅의 정의
    • 클라우드 컴퓨팅의 주요 특징을 설명
    • 클라우드 컴퓨팅의 역사와 발전에 대한 학습
    • ...등등

Definition and Essential Characteristics of Cloud Computing

  • 클라우드 컴퓨팅

    • 클라우드라고도 칭함
    • 인터넷을 통해 제공되며 사용한 만큼 지불하는 서비스
    • 실시간 연산 자원을 제공한다.
  • NIST(US National Institute of Standard and Technology)

    • 편의를 제공하는 실시간 네트워크 접속 모델로 적은 노력으로 빠르게 준비(provision)되고 공개(release)될 수 있는, 설정 가능한 공유된(shared pool of) 연산 자원.
    • ex. 네트워크, 서버, 저장소, 어플리케이션, 서비스 등
  • 5가지 주요 특징

    • On-demand Self Service : 연산 자원, 저장소 등의 클라우드 자원에 제공자와의 대면(human interaction) 없이 단순하게 접근 가능
    • Broad Network Access : 클라우드 자원은 스마트폰, 타블렛, 노트북과 같은 표준 플랫폼과 매카니즘을 통해 접근 가능
    • Resource Pooling : multi-tanent model을 통해 클라우드 자원을 다수의 사용자에게 할당-재할당하고, 클라우드를 cost-efficient하게 하여 클라우드 제공자들에게 규모의 경제를 제공
    • Rapid Elasticity : 필요할 때는 더 많은 자원을 사용하고, 그렇지 않을 때는 적게 사용
    • Measured Servic : 사용한 만큼 지불하는 서비스 - 사용 자원은 감시, 측정되어 투명하게 보고됨
  • Cloud As a Service

    • 연산 자원의 비용 효율성을 높이고,
    • 시장 변화를 더욱 빠르게 만듦
  • Deployment Model

    • Public : 클라우드 제공자의 자원을 개방 인터넷을 통해 사용하며, 다른 사용자와 자원을 공유
    • Private : 클라우드 제공자의 자원은 단독 사용을 위해 할당
    • Hybrid
  • Service Model

    • Infrastructure (IaaS) : 서버, 저장소 등 Infra 및 물리적 자원을 제공
    • Platform (PaaS) : 개발에 필요한 HW/SW tool을 제공
    • Application (SaaS) : on-demand SW라고도 하며, 구독에 기반하여 SW 라이센스 등을 제공

History and Evolution of Cloud Computing

  • 1950s
    • 클라우드 컴퓨팅의 개념은 1950년대부터 시작(시분할, resource pooling 등)
    • Dumb terminal : 다수의 유저가 메인프레임의 동일 자원을 사용을 효율적으로 사용하기 위해 사용
  • 1970s
    • 가상 머신(VM)을 통해 메인프레임 내에서 다수의 VM으로 분리된 컴퓨팅 환경 제공
    • 당시 비싼 HW를 효율적으로 쓰기 위해, 기능적으로 공유 호스팅(Shared Hosting), 가상 개인 서버(Private serer) 등으로 분리
    • Hypervisor : 다수의 OS가 서로 간섭 없이 동작할 수 있도록 하는 SW layer

Key Considerations for Cloud Computing

  • 클라우드로의 이전을 위한 핵심 요소
    • 민첩성(agility)
    • 유연성(flexivity)
    • 경쟁력(competitiveness)
  • 클라우드를 위한 주요 고려 사항
    • Infrasturcture and Workload
      • 데이터센터를 직접 짓는데는 천문학적인 비용이 듦
      • 클라우드 컴퓨팅의 낮은 초기 비용 / 사용한 만큼 지불하는 특성은 유의미한 비용 절감을 제공
      • 클라우드의 경우 모든 자원이 항상 준비되어 있지는 않을 수 있음
    • SaaS and Development Platform
      • 기성(off-the-shelf) SW과 주기적 업그레이드 대신 어플리케이션의 접근(SaaS)을 제공
      • 클라우드에서 n시간동안의 구동을 할 지, 기존 플랫폼에서 장시간 동작시킬지를 고려
    • Risk Exposure
      • 클라우드로의 이동이 불확실한 상황에서 장기간의 Plan을 지불하는 것이 옳은가?
  • 클라우드로 이동할 때의 장점
    • Flexivity
      • 서비스의 Scale이나 어플리케이션 Customization을 원하는 대로 조정
      • 클라우드 서비스로 어디서나 접근
      • 가상 private 클라우드, 암호화, API 키를 통해 데이터를 안전하게 저장
    • Efficiency
      • 인프라 비용 및 유지보수에 대한 걱정 없이 빠른 출시가 가능
      • 인터넷 통신이 가능한 어떤 기기에서도 자유로운 접근 가능
      • 백업으로 인한 데이터 손실 방지
    • Strategic Value
      • 인프라 관리를 더욱 효율적으로 하여, 기업만의 특징에 집중할 수 있도록 해줌.
  • 클라우드로의 이동 시 주의사항
    • 사업 간의 차이로 인한 데이터의 이용 불가, 혹은 손실 등의 문제
    • 관리와 권한 문제
    • 법적 문제
    • 표준화가 부족할 때의 서비스 통합 및 상호 운용 문제
    • 적절한 서비스 모델, 클라우드 제공자 선택
728x90

+ Recent posts