클라우드 학습

김태준·2023년 10월 28일
0

Network Study

목록 보기
7/7

✅ 클라우드 서비스

클라우드 서비스란 인터넷을 통해 On-Demand 방식으로 작동하며 사용자가 필요로 하는 시점에 원하는 리소스를 신속하게 제공하거나 반환하는 서비스다.

유형은 총 3가지다.

  • laaS (Infrastructure as a Service) : 기본적인 컴퓨팅 인프라를 제공하는 서비스로, 가상화된 인프라 자원(서버, 스토리지, 네트워크 등)을 제공하는 서비스 모델. 사용자는 필요한 용량만큼 확장 가능한 리소스를 선택하고 구성할 수 있다.
  • SaaS (SW as a Service) : laaS에서 제공하는 인프라 위에 개발/배포/운영을 지원하는 플랫폼을 제공한다. 애플리케이션 개발/배포에 필요한 플랫폼(미들웨어, DB관리 시스템, OS, 라이브러리 등)을 제공하는 플랫폼, 온디맨드 방식으로 요금 청부
  • PaaS (Platform as a Service) : 클라우드에서 호스팅되는 SW 애플리케이션을 제공하는 서비스 모델. 사용자는 인터넷을 통해 SW에 접속하고 사용할 수 있으며, SW설치, 업데이트, 유지 보수 등에 대한 걱정 X

🎈 장점에 대해서 다음과 같이 존재한다.

  1. 초기 투자 비용 & 유지 보수 비용 절감.
    -> 사용자 입장에선, 클라우드 서비스를 활용한다면 초기 투자 비용과 유지 보수 비용을 절감할 수 있다. 온프레미스 방식에서 클라우드로 전환하게 되면 자체 서버실을 구축할 필요가 없으므로 유지 보수, 전력, 냉각 등과 관련된 비용도 절감하게 된다.
  2. 신속하고 유연한 인프라 구성
    -> 사용자 요구에 따라 신속하게 리소스를 확장하거나 축소할 수 있다. 이를 통해 자원의 낭비를 최소화하고 요구 사항에 맞게 인프라를 구성할 수 있다.
  3. 언제 어디서나 편리하게 접근 가능.
    -> 인터넷이 연결된 어느 곳에서든 클라우드 서비스에 접근할 수 있도록 구성되어 있기에 원격 근무, 협업, 글로벌 확장에 유리.
  4. 정기적인 자동 업데이트가 가능.
    -> 제공자가 SW, HW를 정기적으로 업데이트하는 서비스를 사용하면 사용자는 노력할 필요 X
  5. 안전한 데이터 관리가 가능.
    -> 제공자는 데이터 안정성과 백업을 위해 여러 데이터 센터에 데이터를 분산 저장. 이로 인해 재해 복구 및 데이터 손실 줄어듬.

🎈 반면 고려할 사항은?

  1. 비용이 증가될 수 있다.
    -> 클라우드 서비스는 온디맨드 방식이므로 데이터 양이 많으면 많을수록 비용이 증가하게 된다. 따라서 구축 비용 외에도 운영 비용을 종합적으로 고려하고 모니터링할 필요가 있다.
    -> 자사만의 자원/비용 모니터링하는 플랫폼을 구축해 최적화할 필요성이 있다.

  2. 보안 위협과 법적 문제.
    -> 자사 데이터를 외부에 보관하게 되므로 데이터의 민감성, 프라이버시, 해킹 등의 보안 위험에 노출될 수 있다. 또한, 클라우드 서비스를 활용하면 글로벌 확장성에 용이하므로 국가 간 데이터 보호법, 규제 및 규정 등 보안 측에 고려할 사항이 많다.

  3. 서비스 제공자에 대한 종속/제한이 발생할 수 있다.
    -> 서비스 제공자에 의존하는 경우 제공자 입장에서의 정책 변경, 가격 인상, 서비스 중단 등 발생 가능. 사용자가 데이터/인프라 관리를 하지 않고 제공자에게 과도하게 의존하는 경향이 있게 되면 타 서비스로 이전이 힘들어지고 타 클라우드 서비스의 경우 일부 사용자 정의 기능이 제한적일 수 있다.

  4. 네트워크 또는 인프라 성능
    -> 사용자가 위치한 지역, 인터넷 연결의 품질/서비스 제공자의 인프라 영향을 받을 수 있다. 때로는 클라우드 서비스 성능이 사용자 기대에 부흥 X. 또한 인터넷 연결에 의존하므로 연결이 끊기거나 불안정한 서비스 이용에 지장이 발생할 수 있다.

✍️ 클라우드 서비스 운영 시 알아 두어야 할 점.

기업에선 시스템 개발 시 물리적인 서버에 OS를 설치하고 필요한 SW를 설치한다. 이때 온프레미스 방식으로 데이터센터 내 신규 시스템 구축 시 많은 시간과 노력이 필요하다. 필요한 HW 사양, 서버, 스토리지 구매 등 데이터센터 내 준비할 사항이 매우 많기 때문이다. 핵심 기술을 개발하는데에도 몰두해야 하기에 시간을 소요하는 것은 많은 기회비용이 발생해 막대한 손실을 불러온다. 이때 클라우드 서비스를 사용자가 활용한다면 개발 환경을 신속하게 만들 수 있다.

장점은 비용, 시간 측면에서 숫자로 계산 가능한 정량적 장점과 비즈니스에 긍정적 영향을 주는 정성적 장점으로 생각해 볼 수 있다.

클라우드는 개발 환경 구성에 필요한 IT자원(SW, HW, 애플리케이션)을 다른 사용자와 공유하고 소유가 아니라 대여하여 사용하기에 HW/SW구매/유지 및 인건비, 유지 보수 등의 비용 절감. 또한 완성형 서비스를 활용함으로써 시간 단축이 가능하다.

정성적 장점으로는 생산성 증대와 자원의 유연성 향상을 말할 수 있다. 언제 어디서나 인터넷만 있으면 접근할 수 있기에 생산성이 향상된다. 방화벽을 오픈하고 외부에서 접속할 수 있는 경로를 만들 필요가 없다. 또한 IT자원의 규모를 신속하고 탄력적으로 운영할 수 있으므로 자원의 유연성을 확보할 수 있다.

대표적인 문제로 보안문제와 장애 대응 시 블랙박스 문제가 존재한다. 물리적인 리소스인 하드웨어, 소프트웨어와 애플리케이션 간에 추상적인 계층을 두기에 가상화 소프트웨어 내 보안 취약점이 존재할 수 있다. 또한, 가상화 기술로 타 기업의 IT 자원과 분리되어 있으므로 가상화 취약점을 통해 보안 취약점이 확산될 수 있다.

✍️ 시장 동향

대표적인 기업으로 AWS, MS Azure, GCP 등이 있다.

  • AWS : laaS 서비스 모델기반 부분에 있어 상대적인 점유율이 높고, PaaS 계열에서는 MS Azure가, GCP의 경우 자체 개발 인력과 검색 엔진을 통해 확보한 빅데이터를 바탕으로 AI/ML 분야에서 우위를 점치고 있다.

클라우드 도입에 앞서 기업들이 하는 고민은 다음과 같다.

  • 실제 비용 절감이 가능한지?
  • 시스템 특성 별 클라우드 적용은 어떻게?
  • 운영 업무가 복잡해지지 않나?
  • Cloud Native?
  • Public/Private/Hybrid/Multi 중 어떤 것 적용?
  • 우리 회사 만을 위한 cloud는?
  • Public 클라우드면 보안은?
  • 어떤 CSP(Cloud Service Provider) 클라우드가 좋은가?

이 중에서 가장 먼저 고민해야 할 사항은 Public/Private/Hybrid/Muiti 중 어떤 종류의 클라우드 서비스 방식을 고를지 여부이다. Private/Hybrid 클라우드는 비용적인 관점도 있지만 컴플라이언스의 영향을 많이 받는다. 담당 기업에 컴플라이언스 이슈가 없다면 누구나 제약, 접근이 가능한 퍼블릭 클라우드 도입이 가장 좋은 대안이다.

퍼블릭 클라우드를 사용한다면 AWS, Azure, GCP 중 어느 클라우드를 사용할지가 고민이 생길텐데, 해당 퍼블릭 클라우드는 CSP 측면에서도 AWS - Outposts, SCP Private Cloud와 같은 프라이빗 클라우드 서비스도 제공 중이다.
따라서 각 CSP가 가진 특징/장점을 파악하고 적용하고자 하는 기업 시스템 상황에 따라 어떤 클라우드가 가장 적합한지 확인해야 하고 추후 클라우드 도입 전략을 수립할 수 있는 역량을 기업 내부적으로 내재화하는 것이 필요하다.

클라우드 도입이 결정되었다면 가장 리스크와 비용이 적게 드는 테스트&개발 업무 시스템을 클라우드로 적용한다. 이는 비즈니스에 영향을 미치지 않기에 클라우드를 통해 별도 인프라 장비나 SW 선제 투자 없이 곧바로 프로젝트를 진행할 수 있고 이 과정을 통해 운영진, 개발자들이 클라우드 시스템을 경험하며 기술력도 확보할 수 있다.

만일 신규 서비스를 론칭하는 회사가 처음부터 모든 시스템을 클라우드 환경에 적용한다면, 클라우드 서비스의 장점을 최대한 살려 서비스 규모, 동시 접속자, 트래픽을 고려해 확장 가능한 인프라와 유연하게 트래픽이 처리되도록 시스템을 구성할 수 있다.

기존에는, N년 치 용량을 산정하고 서버/스토리지/네트워크 장비와 SW를 구매했는데 이는 시간도 오래 걸리고 잘못된 분석 수행 시 장애 발생 및 과투자로 손실이 발생할 수 있었다. 또한 사업을 철수하는 상황까지 간다면 더 막대한 손실로 이루어지므로 리스크를 최소화하고 축소/확장이 유연한 클라우드 적용이 필수적이다.

클라우드 적용을 위해선 새로운 인프라 환경으로 기존 레거시 시스템의 데이터와 애플리케이션을 옮기는 클라우드 마이그레이션이 필요하다. DX의 시작이라 할 수 있는 클라우드 마이그레이션은 IT시스템을 운영하는 기업이 가장 고민하는 부분이기에 심도 깊은 준비와 진단이 필요하다.

  • MRA : 클라우드를 도입하려는 고객의 IT 자산을 평가하고 전반적인 준비 상태를 점검.
  • MRP : 클라우드 마이그레이션 대상을 선정하기 위한 사전 준비 및 고객 요구사항 분석 단계.
  • CAF : 신속한 클라우드 마이그레이션을 위해 비즈니스 관점(전략, 인력, 거버넌스)과 기술 역량(플랫폼, 보안, 운영) 등 다양한 관점에서 시스템을 분석해 실행계획을 수립하는 과정.

이를 바탕으로 전체 시스템에 대한 클라우드 마이그레이션 전략 방안을 6R (Retire, Retain, Re-Host, Re-Platform, Re-Factor, Re-Purchase)관점에서 수립할 수 있다.
1. 우선 Retire (폐기 시스템)과 클라우드로 옮기지 않고 순차적으로 Retain(폐기할 시스템)으로 구분한다.
2. 마이그레이션 기술과 비용 관점에서 분석해 그대로 클라우드로 옮길지, 플랫폼을 변경해서 옮길지, 애플리케이션을 구조적으로 변경해서 옮기지에 대해 구분
-> 이때 기술적인 난이도에 의한 리스크로 발생하는 시간 소요와 마이그레이션 비용에 영향을 많이 받게 되므로 Trade-off가 필요.
이렇게 기업의 모든 온프레미스 시스템을 클라우드로 마이그레이션하고 새로운 IT서비스도 클라우드 기반으로 구축하는 것이 Cloud-First 전략.

  • Retire : 사용 중인 IT 시스템을 폐기
  • Retain : IT 시스템을 현재 상태로 유지하지만 향후 페이드아웃.
  • Re-Purchase : SaaS를 활용해 IT시스템으로 전환
  • Re-Host : 기존 IT환경을 그대로 클라우드 환경으로 전환.
  • Re-Platform : 사용중인 플랫폼(OS, DBMS, 미들웨어 등)을 클라우드에서 제공하는 플랫폼으로 변경
  • Re-Factor : 애플리케이션 워크 로드를 클라우드에서 제공하는 서비스를 이용해 Native 아키텍처로 변경해 옮기는 방식(MSA, Container, 서버리스 활용)
profile
To be a DataScientist

0개의 댓글