💡 최근 클라우드 솔루션 기업에서 인턴십을 진행하면서 도메인 지식이 부족해서 업무를 진행하는 데 어려움이 많았다😵💫 내가 구현하고자 하는 것이 어떤 의도를 가지고 만들어진 것인지를 알아야 제대로 구현할 수 있다는 걸 알게 되었던 것 같다. 그래서 이번 글에서는 클라우드 기초 개념에 대해 간단히 정리해 보려고 한다 :D
광대한 네트워크를 통해 접근할 수 있는 가상화된 서버와 서버에서 작동하는 프로그램과 데이터베이스를 제공하는 IT "환경"
클라우드를 이용해 컴퓨팅 자원을 사용하는 기술적인 방법
클라우드 컴퓨팅 기반으로 제공되는 서비스
최종 사용자가 소유하지 않은 리소스에서 생성되어 다른 테넌트에 재배포될 수 있는 클라우드 환경
💡 테넌트(Tenant)란?
A. 서비스 제공자의 클라우드 자원을 빌려서 서비스를 이용하는 주체.
최종 사용자 전용 클라우드 환경
퍼블릭 클라우드와 프라이빗 클라우드를 결합한 형태의 서비스
💡 오케스트레이션(Orchestration)이란?
A. 퍼블릭 클라우드와 프라이빗 클라우드 전반의 툴, 애플리케이션, API, 인프라를 통합 워크플로우로 조정하는 프로세스
2곳 이상의 클라우드 벤더에서 제공하는 클라우드 서비스를 하나의 애플리케이션 또는 비즈니스에 통합하여 사용하는 방식

[이미지 출처: Hecto Data Blog]
서버, 스토리지, 네트워크 같은 컴퓨팅 리소스(IT 인프라)를 제공하는 서비스
애플리케이션을 개발, 실행, 관리하기 위한 플랫폼을 제공하는 서비스
ex) Heroku
사용자가 애플리케이션을 사용하기 위해 구매/설치하는 대신, 인터넷을 통해 원하는 SW를 사용할 수 있도록 제공해 주는 서비스
ex) 노션, 웹 메일, MS오피스365, 네이버 클라우드
1. 비용 절감
물리 서버 및 데이터 센터의 구축 및 유지 비용을 줄일 수 있음
2. 확장성과 유연성
사용자에게 필요한 자원을 신속하게 확장하거나 축소할 수 있는 능력 제공 (트래픽 변동이 큰 웹 사이트나 시즌별로 수요가 변화하는 서비스에 특히 유용)
3. 접근성
인터넷만 연결되어 있으면 전세계 어디에서나 데이터와 애플리케이션에 접근 가능
1. 데이터 보안 및 프라이버시 문제
데이터가 제3자의 서버에 저장되는 것이기 때문에, 해킹이나 유출 등의 위험이 존재함
2. 서비스 의존성
클라우드 서비스에 대한 의존도가 높아지면, 제공업체의 안정성과 성능에 따라 비즈니스 운영에 영향을 받을 수 있음
3. 기술적 복잡성
사용자가 설정하고 관리하기에 어려운 복잡한 기술을 포함하고 있을 수 있음
프론트 개발자에게 클라우드 지식은 이제 거의 필수가 되어가네요 ㅠㅠ