개발 공부를 하면서 DevOps의 중요성을 나날이 깨닫고 있다.
클라우드의 발전이 앞으로도 무한하지 않을까 생각한다. 그래서 CS 스터디에서 DevOps 부분도 추가했다.
☁️ 클라우드 컴퓨팅?
클라우드 컴퓨팅은 컴퓨팅 리소스를 인터넷을 통해 서비스로 사용할 수 있는 주문형 서비스이다. 기업에서 직접 리소스를 조달하거나 구성, 관리할 필요가 없으며 사용한 만큼만 비용을 지불하면 된다.
쉽게 말하면 클라우드 컴퓨팅은 인터넷을 통해 서버, 스토리지, DB, 네트워킹, S/W, 분석, 인텔리전스 등 컴퓨팅 서비스를 제공받는 것을 말한다. 사용한 만큼만 비용을 지불함으로써 운영 비용을 낮추고 인프라를 효율적으로 사용할 수 있다.
클라우드 컴퓨팅의 장점
✔️ 비용절감
- 사용한 만큼만 지불함으로서 비용을 절감할 수 있음
- 직접 운영(온사이트) 비용보다 저렴하게 이용 가능
✔️ 유연성 및 확장성
- 필요할 때 언제 어디서든 서비스에 접근하고 확장, 축소 가능
- 필요에 따라 리소스를 증가시키거나 줄일 수 있으며 성능, 스토리지, 대역폭 등 적절한 리소스를 제공할 수 있음
✔️ 속도
- 컴퓨팅, 스토리지 및 데이터베이스와 같은 인프라 서비스부터 사물 인터넷, 기계 학습, 데이터 레이크 및 분석 등 광범위한 기술에 쉽게 액세스가 가능
- 더욱 빠르게 구축하고 배포할 수 있음
- 하드웨어 설치, 소프트웨어 패치 등과 같이 시간이 오래 걸리는 작업들을 진행하지 않아도 됨
✔️ 보안
- 많은 클라우드 서비스 제공업체들은 데이터 보안과 백업 솔루션을 제공하며 클라우드 업체의 보안 수준은 업계 최고 수준
클라우드 컴퓨팅의 유형
클라우드 서비스 유형
클라우드 컴퓨팅의 유형은 서비스의 범위, 제어 수준, 유연성에 따라 세 가지로 나누어진다.
✔️ IaaS(Infrastucture as a Service)
기본 컴퓨팅 인프라(서버, 스토리지, 네트워크, 운영체제, VM 등)를 대여
가상화된 컴퓨팅 리소스를 인터넷을 통해 제공하며 사용자는 인프라를 필요에 따라 확장, 축소
사용자가 운영체제, 미들웨어, 데이터, 애플리케이션 등을 관리
→ 높은 유연성과 제어가 필요한 환경, 개별 애플리케이션의 맞춤 설정이 필요할 때
예) AWS, Microsoft Azure, Google Cloud Platform, 네이버 클라우드 서비스
✔️ PaaS(Platform as a Service)
애플리케이션 개발 및 배포를 위한 플랫폼(운영체제, 개발도구, DB 시스템 등)을 제공
사용자는 배포 애플리케이션과 데이터를 관리, 인프라 및 플랫폼 관리는 서비스 제공업체에서 담당
→ 빠른 애플리케이션 개발과 배포, 개발 프로세스의 간소화
예) Heroku, Google App Engine, 구름 IDE
✔️ SaaS(Software as a Service)
완전한 애플리케이션 제공
소프트웨어 사용에 집중하며 인프라, 플랫폼, 애플리케이션 유지보수는 서비스 제공업체가 담당
→ 즉시 사용가능한 소프트웨어 솔루션, IT 인프라 유지보스에 부담 줄이고 싶을 때 사용
예) Google Workspace, Microsoft Office 365, Salesforce
인프라에 따른 배포 모델 유형
클라우드 리소스를 어떻게 배포하고 관리하는지에 따라 구분된다. (클라우드에 따른 분류와 다름)
✔️ 공용클라우드(Public Cloud)
클라우드 서비스 제공업체가 관리하는 인프라를 기반으로 여러 고객이 리소스를 공유하여 사용
인터넷을 통해 접근가능한 서비스
✔️ 사설 클라우드(Private Cloud)
회사 내부 또는 조직에서 자체적으로 운영하는 클라우드 환경으로 조직 내부 네트워크에 구축
보안과 데이터 프라이버시에 대한 통제가 중요한 경우에 사용
✔️ 하이브리드 클라우드(Hybrid Cloud)
공용 클라우드와 사설 클라우드를 결합하여 사용하는 모델로 일부 데이터와 애플리케이션은 사설 클라우드에서 관리되어 보안, 통제를 유지하며 일부는 공용 클라우드를 활용
✨IaaS, SaaS, PaaS를 나누는 기준과 공용 클라우드, 사설 클라우드, 하이브리드 클라우드를 나누는 기준 자체가 달라서 공용 클라우드가 IaaS, 하이브리드가 SaaS 이런 식으로 나눌 수는 없다. (는 내가 그랬다....) 공용 클라우드, 사설 클라우드, 하이브리드 모든 부분에서 IaaS, SaaS, PaaS 의 사용이 가능하기 때문에 배포와 관리가 어떻게 되는지에 따라서 나누어 진다는 것을 기억하면 된다.
개인적으로 나는 클라우드 서비스를 굉장히 잘 이용하고 많이 이용하기도 해서 클라우드 서비스의 보안과 관련하여서도 매우 믿는 편이다. 하지만 얼마전 엄마아빠랑 클라우드 서비스에 대해 이야기 한 적이 있었는데 어른들은 아직 클라우드 서비스에 대해 믿지 못하는 사람이 많다고... ㅎㅎ... 아빠 회사에서도 젊은 사람들은 보안 수준이 엄청 높다. 그래서 문제 없다. 라는 의견이었는데 아빠를 포함한 어른들은 아니었다고 한다. 아무래도 외부에 본인의 데이터를 맡기는 서비스이다 보니 데이터 손실이나 유출에 대한 걱정이 있는 듯 하다.
📖 참고자료
🔗
🔗
🔗
🔗
'DevOps' 카테고리의 다른 글
[DevOps] 스케일 아웃(Scale-out)과 스케일업(Scale-up) / 로드밸런싱이란? (0) | 2024.01.31 |
---|---|
DevOps(Development and Operations)란? DevOps와 클라우드 (0) | 2024.01.29 |
[Docker] Spring Boot 프로젝트 Docker 로 배포하기 / 로컬에서 도커 배포 (0) | 2023.11.13 |
[AWS] AWS Pipeline을 통한 배포 자동화 / 문제 해결 : is not authorized to perform: iam:createrole on resource (1) | 2023.07.29 |
[Docker] Window11 Docker desktop 설치하기 (0) | 2023.07.24 |