ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AWS Fargate, 실제 사용 후
    기록해야 기억한다 2024. 8. 11. 18:05

    AWS Fargate를 직접 사용해보면서 느낀 점들을 바탕으로 좀 더 객관적인 정보를 드리고자 합니다. 실제 개발자의 시각에서 바라본 Fargate의 장단점과 활용 시 고려해야 할 점들을 중심으로 정리해 보았습니다.

     

    Fargate의 장점

    • 인프라 관리 부담 감소: EC2 인스턴스 관리, 클러스터 설정 등 복잡한 인프라 관리 작업 없이 컨테이너 실행에만 집중할 수 있습니다. 덕분에 개발 생산성이 향상되고, 운영 오버헤드가 줄어듭니다.
    • 유연한 확장성: 필요에 따라 컨테이너를 즉시 생성하거나 삭제할 수 있어 유연한 확장이 가능합니다. 특히 트래픽 변동이 큰 서비스의 경우 자동 스케일링 기능을 활용하면 비용 효율적으로 시스템을 운영할 수 있습니다.
    • 높은 가용성: 다중 가용 영역에 걸쳐 컨테이너를 분산하여 실행하므로 높은 가용성을 보장합니다. 장애 발생 시에도 서비스 중단 없이 운영을 지속할 수 있습니다.
    • 세밀한 자원 할당: CPU, 메모리 등 자원을 컨테이너 단위로 세밀하게 할당할 수 있어 비용 효율적인 운영이 가능합니다.
    • 서버리스 모델: 사용한 만큼만 비용을 지불하는 서버리스 모델이라 초기 투자 비용 부담이 적습니다. 특히 간헐적으로 사용되는 서비스나 프로토타입 환경에 적합합니다.

    Fargate의 단점 및 고려 사항

    • 비용: 컨테이너 실행 시간과 사용한 자원에 따라 비용이 발생하므로, 장기간 실행되는 서비스의 경우 비용이 상대적으로 높아질 수 있습니다.
    • 네트워킹 설정: Fargate는 VPC 내에서 실행되므로, 복잡한 네트워킹 설정이 필요한 경우 추가적인 노력이 요구됩니다.
    • 벤더 종속성: AWS 생태계에 종속된다는 점은 다른 클라우드 환경으로의 이전을 고려할 때 제약이 될 수 있습니다.
    • 데이터 지속성: Fargate는 컨테이너 실행 환경을 제공하는 서비스이므로, 데이터 지속성을 위해 별도의 스토리지 서비스(EBS, S3 등)를 사용해야 합니다.
    • 속도: 실제 pod 가 구동되는 속도가 일반적인 k8s 보다 느립니다. 수초에서 리소스 설정에 따라 더 늦어지기도 합니다.

    Fargate 적합한 사용 사례

    • 마이크로서비스 아키텍처: 각 마이크로서비스를 독립적인 컨테이너로 실행하여 유연하고 확장 가능한 시스템을 구축하는 데 적합합니다.
    • 배치 처리: 대규모 데이터 처리, 머신 러닝 모델 학습 등 배치 처리 작업에 효과적으로 활용할 수 있습니다.
    • 컨테이너 기반 개발 환경: 개발 환경을 빠르게 구축하고 테스트를 반복적으로 수행하는 데 유용합니다.
    • 스파이크 트래픽 대응: 예상치 못한 트래픽 증가에 유연하게 대응하기 위한 버스트 용량 확보에 적합합니다.

     

    결론

    AWS Fargate는 컨테이너 오케스트레이션을 간소화하고 개발 생산성을 향상시키는 매력적인 서비스입니다. 하지만 모든 상황에 완벽한 솔루션은 아니므로, 프로젝트의 특성과 요구사항을 종합적으로 고려하여 Fargate를 도입할지 여부를 결정해야 합니다.

    Fargate 도입을 고려하고 있다면 다음과 같은 내용을 검토해보는 것이 좋을 것 같습니다.

    • 프로젝트의 규모와 복잡도는 어느 정도인가?
    • 컨테이너 오케스트레이션에 대한 전문성은 어느 정도인가?
    • 예상되는 트래픽 변동성은 어떠한가?
    • 비용 효율성이 얼마나 중요한가?

     

    반응형
    LIST

    댓글

Designed by Tistory.