클라우드 컴퓨팅

클라우드 컴퓨팅이란

  • 여러 기술들이 모인 플랫폼 환경

  • 필요한 서비스를 필요한 때에 필요한 만큼 쓰고 쓴 만큼만 비용 청구


  • Pooling(풀링): 제한된 자원을 효율적으로 재사용하기 위해 관리하는 기법

가상화와 클라우드 차이

  • 가상화는 기술이고, 클라우드는 환경

  • 클라우드 안에 가상화 환경이 구성되어있는 것

가상화

  • 단일 물리 하드웨어 시스템에서 여러 시뮬레이션 환경이나, 전용 리소스를 생성할 수 있는 시스템

클라우드

  • 네트워크 전체에서 확장 가능한 리소스(서버 호스트, 스토리지, DB, 앱등)을 추상화하고 풀링할 수 있는 환경

클라우드 환경 종류

Public Cloud

Amazon Web Services, Google Cloude Platform, Microsoft Azure, Naver Cloude Platform 등

  • 인터넷을 통해 접근 가능한 환경

  • 특정 벤더사에 의해 제공되는 클라우드 환경

  • 퍼블릭 클라우드 업체는 스스로 퍼블릭으로 분류하는것을 경계함?

    • 퍼블릭이라는 표현이 보안적으로 취약한 이미지를 주기 때문

Private Cloud

OpenStack, Openshift 등

  • 클라우드 환경 자체를 내가 통제할 수 있는 데이터 센터 내에 구축하는 형태

  • 폐쇄망 안에서 구현 가능

  • 가상화되고 추상화된 사용성, 운용성에 초점이 맞춰짐

Multi Cloud

  • 하나의 회사에서 하나의 클라우드 환경을 채택해서 모든 워크로드가 그 클라우드 안에 구성된 경우는 All-in 전략이라한다.

  • 반대로 여러 클라우드의 워크로드가 분산된 경우는 멀티 클라우드 전략이라 한다.

  • 운영면에서 스킬셋이 분리되기 때문에 여러 기술들을 다 알아야해서 비추?

    • 대기업의 경우 팀이 많아서 여러 클라우드를 분산해서 전략적으로 두는게 유리할 수 도 있다.

Hybrid Cloud

  • 클라우드랑 온 프레미스의 하이브레드 구성

  • Public + Private 섞어서

  • 보안에 민감한 건 데이터 센터에 두고 보안에 덜 위험한 시스템은 클라우드에 올리는 시스템

클라우드의 성장

  • 아마존닷컴의 가변적인 환경을 지원하기 위해서 시작됨 (AWS, 2006)

  • 클라우드 환경이 사업성이 좋고 안전성 탄력성 유지하는데 탁월했기 때문에 퍼블릭하게 열게됨

  • 초기에는 서버 호스팅업체에 거의 가까웠는데 2010년대에 올라오면서 지금 사용하는 클라우드 플랫폼 형태로 갖춰짐

  • 우리나라의 경우 2010년 중반부터 폭발적으로 성장함

    • 대기업들이 클라우드를 본격적으로 사용하기 시작하면서

IaaS, PaaS, SaaS - as a Service

  • IaaS - Infra Structure (인프라 제공)

    • 말 그대로 서버

  • PaaS - Platform (플랫폼 제공)

    • 서버 위에 데이터 엔진까지 올린 데이터베이스 플랫폼

  • SaaS - Software (소프트웨어 제공)

    • 그 모든 서비스를 모두 패키징해서 제공하고 사용만 하면되는 소프트웨어

    • 하나의 완전 패키징된 소프트웨어를 사용할 때 그 환경이 조금이라도 내 속안에 있냐 완전 추상화된 형태로 제공업체에 있냐로 사스 개념을 분류하면됨

  • aaS - as a service (서비스를 제공받는다, 내가 관리하지 않는다는 것)

  • 클라우드가 제공하는 서비스들은 그 종류에 따라서 IaaS가 될지, PaaS가 될지, SaaS가 될지 결정됨

    • 하지만 클라우드 그 자체는 SaaS, 클라우드 업체에서 100% 만들어서 제공해주기 때문에 SaaS에 가까움

클라우드로 인한 업무 환경 변화

DevOps의 등장

  • 더 나은 서비스를 제공하고 시장에 성공하기 위한 비즈니스 요구 사항에 나온 새로운 개발방식

  • 제품을 더빠르게 개발하고 안정적으로 운용해서 혁신적으로 성장하기 위한 문화

  • 그러기 위해서는 개발팀과 운영팀이 하나가 되서 협업하고 많은 부분을 자동화해서 개발 및 배포 속도를 높여야했음

  • 그런 프로세스를 자동화하기 위해 CI/CD, MSI 등의 개념을 을 도입해서 아키텍처를 최적화하게됨

  • 변경이 잦은 인프라의 비용을 절감하고 속도를 CI/CD에 맞추기 위해 다이나믹한 환경이 필요함

  • 이러한 변화를 잘 지원해주는게 클라우드였던 것

  • 개발만 할줄아는 시대가 아니게 됨

Last updated