본문 바로가기

DevOps

프로비저닝(provisioning) 이란?

 
"프로비저닝은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말한다."

내가 프로비저닝의 의미를 처음 접한 것이 올해 초에 있던 회사사업 때문에 클라우드 관련해서 알아볼 시절이었다.

각 클라우드 벤더사 마다 프로비저닝~ 프로비저닝~ 이란 용어를 많이 쓰고 있었는 데, 그 뜻의 정확한 의미는 알지 못해서 파악하는 데 힘든 기억이 있다.

프로비저닝은 거창한 뜻은 아니고 근본 적인 의미로 어떤 서비스를 제공하기 위해서 준비하는 일련의 절차의 과정을 모두 통틀어서 얘기를 한다고 한다.

쉽게 얘기해서 서비스를 제공하기 위해, 네트워크, 저장공간, 그리고 웹앱 서비스 등을 제공하는데, 서비스 제공하기 전에 준비하는 단계를 프로비저닝이라 할 수 있다.

 

클라우드적인 측면으로 얘기하면 고객은 우리 같은 개발자라 보면 된다.

개발자는 그냥 코드만 짜서 빌드준비만 하면되고 나머진 클라우드 플랫폼의 프로비저닝 관리자에 코드를 업로드만하면 서비스가 시작된다.. 

뭐 이런식의 서비스가 클라우드 프로비저닝 서비스라 보면 될터이다.

소프트웨어적인 측면으로 말하면 배포/빌드/업데이트 와 같은, 소프트웨어를 사용하기 위해 관리하는 행위를 통틀어 생각하면 된다.

고객 손에 패키지화 된 소프트웨어를 전달해주는 것을 소프트웨어 프로비저닝 서비스라 보면 된다.

일상 경험에 빗대어 얘기하면 우리가 PC를 살 때, 조립식PC보다 대기업 이나 렌탈기업 완제품 가져다가 쓰는 개념이라 보면 된다.

클릭한방이면 짠하고 PC를 쓸 수 있게 준비되있는 것들처럼 말이다.

 

 

 

IaC

IaC 란, Infrastructure as Code 를 말한다.
즉, 인프라를 코드로 구축한다는 말이다. AWS, GCP, Azure 등 많은 인프라 리소스들을 IaC 툴을 사용하면 콘솔에서 작업하지 않고 코드만으로도 구축하고 관리할 수 있다.

IaC는 크게 4가지로 나눠진다.

  • Image Build : Packer, Docker
  • Container Orchestration : Kubernetes
  • Configuration Management : Ansible, Puppet, Chef
  • Infrastructure Provisioning : Terraform, AWS CloudFormation

Terraform은 프로비저닝 도구로 서버 자체를 생성한다는 점에서 앤서블과 다르다.

 

 

 

출처: https://glqdlt.tistory.com/268 [Freesia:티스토리]