API란?
API는 정의 및 프로토콜 집합을 사용하여 두 소프트웨어 구성 요소가 서로 통신할 수 있게 하는 메커니즘이다.
(예시: 레스토랑에서 고객에게 주문 가능한 메뉴를 보여주고 손님이 고른 음식을 주방에 전달 후 , 음식이 나오면 고객에게 전달하는 '점원'이 API이다.)
API는 무엇을 의마할까?
API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)의 줄임말이다.
API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어이다.
Interface는 두 애플리케이션 간의 서비스 계약이라고 할 수 있다.
이계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다.
IaC 개념
IaC(Infrastructure as Code)는 컴퓨터에서 읽을 수 있는 정의 파일을 사용하여 클라우드 인프라를 관리하고 프로비저닝하는 프로세스이며, 실행 가능한 '문서'이다.
인프라 -> 코드화
즉 , 코드형 인프라!!
IaC 장점
인프라를 만드는 과정이 자동화되므로, 오류가 훨씬 덜 발생하고 안전하다.
IaC는 쉽게 공유할 수 있고, 버전 관리에도 용이하다.
배포 과정을 소수의 시스템 관리자만 진행하는 것이 아닌, 개발자 스스로가 배포하고 인프라를 통제할 수 있는 환경으로 만들 수 있다.
CI/CD 파이프라인이란?
파이프라인은 코드를 빌드, 테스트, 배포하는 과정을 거쳐 소프트웨어 개발을 추진하는 프로세스이며, CI/CD라고도 한다.
프로세스를 자동화함으로써 인적 오류를 최소화하고 소프트웨어 출시 방식에 일관된 프로세스를 유지하는 것을 목표로 한다.
무중단 배포란?
말 그대로 애플리케이션의 중단 없이 배포하는 것을 말한다.
Rolling 배포
롤링 배포는 사용중인 인스턴스 내에서 새 버전을 점진적으로 교체하는 것으로 무중단 배포의 가장 기본적인 방식이다.
서비스 중인 인스턴스 하나를 로드밸런서에서 라우팅하지 않도록 한 뒤, 새 버전을 적용하여 다시 라우팅하도록 한다.
이를 반복하여 모든 인스턴스에 새버전의 애플리케이션을 배포한다.
Rolling 장점
인스턴스마다 차례로 배포를 진행하기에 상황에 따라 손쉽게 롤백이 가능하다.
추가적인 인스턴스를 늘리지 않아도 된다.
관리가 간편하다.
Rolling 단점
새 버전을 배포할때 인스턴스의 수가 감소하기 때문에 사용중인 인스턴스에 트래픽이 몰릴 수 있다.
즉, 서비스 처리 용량을 고려해야 한다.
배포가 진행될때 구버전과 신버전이 공존하기에 호환성 문제가 발생할 수 있다.
Blue/Green 배포
블루는 구버전,그린은 신버전을 의미한다.
운영중인 구버전과 동일하게 신버전의 인스턴스를 구성한 후 로드밸런스를 통해 모든 트래픽을 한번에 신버전 쪽으로 전환하는 방식이다.
Blue/Green 장점
구버전의 인스턴스가 그대로 남아있어서 손쉬운 롤백이 가능하다.
구버전의 환경을 다음 배포에 재사용할 수 있다.
운영환경에 영향을 주지 않고 새버전 테스트가 가능하다.
Blue/Green 단점
시스템 자원이 두배로 필요하다.
새로운 환경에 대한 테스트가 전제되어야 한다.
카라니 배포
신버전을 소수의 유저들에게만 배포를 해보고 문제가 없는것을 확인해가며 점차 많은 유저들에게 배포하는 기법이다.
블루그린 배포와 유사하지만 블루그린처럼 트래픽을 한번에 확 바꾸는 것이 아니라 단계적으로 전환하기에 부정적 영향을 최소화하고 상황에 따라 트래픽 양을 조절하며 롤백할 수 있다.
카라니 장점
문제 상황을 빠르게 감지할 수 있다.
A/B 테스트로 활용 가능하다
카라니 단점
네트워크 트래픽 제어에 부담이된다.
*A/B 테스트란?
대조군과 실험군으로 나누어서 특정한 UI나 알고리즘의 효과를 비교하는 방법론
'AWS' 카테고리의 다른 글
[개념] HashiCorp Vault란? (0) | 2023.12.22 |
---|---|
[AWS] 2일차 이론내용 정리 -1 (0) | 2023.12.11 |
AWS JAM 실습후기 (0) | 2023.12.09 |
4) cloud9실행부터 slack 챗봇 연결까지 +실수했던 부분 (0) | 2023.09.22 |
3)slack으로 챗봇만들기 -앱세팅(엄청쉬운설명) (1) | 2023.09.19 |