프로비저닝 자동화와 Iac(Infrastructure as code)


프로비저닝


프로비저닝은 IT 인프라를 설정하는 프로세스다.


과거에는 물리적 서버의 설정, 하드웨어를 원하는 상태로 설정하는 행위가
수동으로 이뤄졌다.


최근에는 가상 인프라를 취급하는 벤더들이 많이 활성화되어 있다.

AWS, GCP, Naver Cloud 등..

이런 서비스들은 가상화, 컨테이너 기술이 발전하면서

하드웨어가 아니라 소프트웨어에 의해 정의되었기 때문에 

- 프로비저닝 프로세스 속도 증가

- 프로비저닝 자동화

의 이점이 있다.



서버 프로비저닝

네트워크에서 사용될 서버를 설정하는 프로세스

- 서버 하드웨어 설치
- 소프트웨어 설치 및 설정
- 운영 체제 및 애플리케이션 포함
- 미들웨어와 네트워크 및 스토리지 연결


사용자 프로비저닝

액세스 권한과 인증 권한을 모니터링하는 Identity 관리 유형을 뜻합니다.

사용자 객체, 사용자 속성으로 특정된다.

각 사용자에게는 위와 같은 속성으로 분류되고

각각 어떤 자원에 접근할 수 있는지 정보가 부여된다. (db access, network access)

EX) 사용자 프로비저닝의 예
Role-Based Access Control (권한, 롤, 그룹, 사용자)




네트워크 프로비저닝

사용자, 서버, 컨테이너, IoT 기기가 액세스할 네트워크를 설정하는 작업으로 구성된다.

유, 무선 환경 서비스 모두에 해당된다.




서비스 프로비저닝


서비스 설정
과 이와 관련된 데이터 관리를 포함하는 프로비저닝을 뜻한다.

위와 달리 IT적인 요소보다는 비즈니스 로직에 더 가까운 프로비저닝이다.



프로비저닝 자동화와 IaC


개발자는 여전히 새로운 배포 각각에 대해 가상 인프라를 프로비저닝해야 하며,
수동 프로비저닝은 시간이 많이 소요되고 인적 오류가 발생할 확률이 크다.


각 배포에 대해 개발자가 직접 프로비저닝을 관리해야 하는 경우 변경 사항을 추적하고,
버전을 관리하며, 오류 및 비일관성을 방지하기가 어렵다.

IaC는 벤더 전용 콘솔이나 커맨드창에서의 명령어 입력이 아닌

코드를 통해 인프라를 관리하고 프로비저닝한다.


IaC를 사용하면 인프라 사양이 포함된 설정 파일이 생성된다.

이 설정파일이 곧 프로비저닝할 정보를 담은 템플릿이다.

그리고 이 설정 파일을 가지고 자동화 알고리즘을 만들게 되면,

애플리케이션의 운영 라이프사이클을 자동화할 수 있게 되는 것.



댓글

이 블로그의 인기 게시물

실무진 면접 경험으로 정리하는 백엔드 (1) : 에듀 테크 기업 면접

노마드코더 개발자북클럽 Clean code TIL 6 : 6장. 객체와 자료구조

백엔드 개발자가 Djnago fullstack 사이드 프로젝트를하며 ( html, css, vanillaJS 그리고 JS프레임워크 )