클라우드 컴퓨팅이란?
클라우드 컴퓨팅 : 필요한 컴퓨터 자원을 인터넷으로 빌려 쓸 수 있는 기술
클라우드 컴퓨팅이 없다면? 회사나 집에서 직접 컴퓨터 서버(하드웨어)와 네트워크를 구매하여 운영해야 함.
클라우드 컴퓨팅 예시 : 내 컴퓨터에 워드 프로그램을 설치하지 않고도, 구글 문서 웹사이트에 접속해서 글을 작성하고 저장할 수 있음! <- 이 때, 데이터가 저장되고 프로그램이 돌아가는 서버는 구글의 클라우드 인프라에 있음.
대표 클라우드 서비스 제공업체 : AWS, Microsoft Azure, Google Cloud Platform
클라우드 컴퓨팅 서비스 모델이란?
클라우드에서 무엇을, 어디까지 빌려 쓰는지에 대해 나눈 기준에 따른 클라우드 컴퓨팅의 구체적인 모델
대표 세 가지 :
1. IaaS(Infrastructure as a Service) 2. PaaS(Platform as a Service) 3. SaaS(Software as a Service)
이렇게 기초 내용이 있다. 자, 이제 하나씩 살펴보자
기본적인 컴퓨터 자원(인프라)를 빌려 사용하는 방식
'이아쓰'로 발음한다.
EX) CPU, 메모리, 스토리지(하드디스크), 네트워크(인터넷 연결) 등을 빌려 사용
추상적으로 비유하자면.. 만약 내가 식당은 운영하고 싶을 때?
원래는 땅을 사고 건물을 올리고 각종 테이블 세팅 등을 다 직접 해야 한다.
그런데 IaaS를 이용하여 이미 레스토랑 자리(인프라)가 마련된 곳을 빌려 나는 운영에만 신경쓰면 된다.
구체적으로 비유하자면.. 친구들이랑 마인크래프트 서버를 하나 만들어서 직접 운영하며 즐기고 싶을 때, AWS에서 EC2를 하나 빌려 OS, 마인크래프트를 설치하고 방화벽/포트 설정을 해서 게임서버를 관리할 수 있다.
대표 서비스로는
AWS EC2
Google Compute Engine (GCE)
Microsoft Azure Virtual Machines
DigitalOcean Droplets
Linode, Vultr
등이 있다고 한다.
이 중에서 나는 프로젝트 때 AWS EC2를 이용할 예정이다.
애플리케이션을 돌리기 위한 '개발/실행 환경(플랫폼)'을 빌려 쓰는 방식
'파쓰'로 발음한다.
EX) 운영체제나 서버 설정을 직접 하지 않아도, 코드를 올리면 바로 웹서비스를 실행해주는 플랫폼
추상적으로 비유하자면.. 내가 IaaS를 이용하여 식당을 운영할 준비가 된 이 상태에서,
내가 레시피를 주며 "이 레시피대로 조리와 서빙을 '해줘'~"하는 것.
즉, 내가 '해줘'명령을 간단하게 하면 플랫폼 측이 알아서 각종 설정 등을 해준다.
구체적으로 비유하자면.. 헤로쿠나 넬리파이같은 플랫폼에 에 내 깃 저장소 속 코드를 간단한 명령어들로 올릴 수 있다.
대표 서비스로는
Heroku
AWS Elastic Beanstalk
Google App Engine
Microsoft Azure App Service
Cloud Foundry
Salesforce의 Force.com
등이 있는데, Netlify도 PaaS에 가깝다고 볼 수 있다고 한다.
완성된 소프트웨어를 인터넷을 통해 바로 사용하는 형태의 서비스
'싸쓰'로 발음한다.
EX) 별도 설치 없이 브라우저나 앱으로 접속해서 사용하는 소프트웨어 서비스
추상적으로 비유하자면.. 잘 차려진 레스토랑에 손님으로 가서, 음식을 시켜먹는 것이다.
식당은 인프라도 구축되어 있고 요리도 다 되어 있다.
나는 이제 가서 비용을 지불하고 요리를 맛있게 먹으면 된다.
구체적으로 비유하자면.. 팀 프로젝트를 진행하며 팀원들의 이메일이 필요하고, 문서 협업 등이 필요할 때에 마이크로소프트365나 구글 워크스페이스 등의 서비스를 구독해서 사용하는 것!
대표 서비스로는
이메일 서비스: Gmail, Outlook.com
문서 도구: Google Docs(구글 문서), Microsoft Office 365
협업 도구: Slack, Trello, Jira
파일 저장/공유: Dropbox, Google Drive
스트리밍: Netflix, Spotify
기타: Adobe Creative Cloud, Zoom, Salesforce
등이 있다.