오늘은 Amazon Elastic Container Service(ECS) 10주년을 축하하며 클라우드에서 가능성의 한계를 뛰어넘은 놀라운 여정을 돌아봅니다! Amazon Web Services(AWS)에서 Docker 컨테이너 실행을 간소화하는 솔루션으로 시작한 것이 이제는 원활한 컨테이너 오케스트레이션을 위한 AWS Fargate의 서버리스 옵션을 포함하여 놀라운 성능과 운영 단순성을 모두 제공하는 핵심 기술로 발전했습니다.
지난 10년 동안 Amazon ECS는 SmugMug와 같은 고객이 인프라 문제에 시달리지 않고 운영을 강화하는 데 필요한 신뢰성과 성능을 제공하면서 수많은 조직에서 신뢰할 수 있는 솔루션으로 자리 잡았습니다. SmugMug의 수석 엔지니어인 Andrew Shieh의 설명에 따르면, Amazon ECS는 AWS로 원활하게 전환하고 페타바이트 규모의 사진을 Amazon Simple Storage Service(Amazon S3)로 마이그레이션하는 등 대규모 데이터 작업을 효율적으로 처리하는 데 ‘숨은 영웅’이었습니다. “엄청나게 빠른 컨테이너 스핀업 덕분에 고객에게 멋진 경험을 제공할 수 있습니다.”라고 그는 덧붙입니다. 이러한 종류의 신뢰할 수 있는 지원 덕분에 Amazon ECS는 개발자와 플랫폼 팀 사이에서 인기를 얻었으며 수년에 걸쳐 솔루션의 규모를 조정하고 혁신하는 데 도움이 되었습니다.
2010년대 초, Docker와 같은 컨테이너화 서비스가 인기를 얻으면서 개발자들은 이 새로운 패러다임에서 애플리케이션을 관리하고 규모 조정할 수 있는 효율적인 방법을 찾기 시작했습니다. 기존 인프라는 번거로웠고 대규모 컨테이너 관리도 어려웠습니다. Amazon ECS는 개발자들이 대규모로 컨테이너 도입을 모색하던 2014년에 출시되었습니다. 이 서비스는 AWS에서 컨테이너 오케스트레이션을 간소화하는 신뢰할 수 있는 완전관리형 솔루션을 제공했습니다. 팀이 클러스터나 복잡한 인프라를 관리하는 오버헤드 없이 애플리케이션을 구축하고 배포하는 데 집중할 수 있게 되면서 클라우드 네이티브 개발의 새로운 시대가 열렸습니다.
Amazon ECS 팀이 이 서비스를 구축하기 시작했을 때 비전은 분명했습니다. 제품 관리자로서 Amazon ECS를 출시하고 현재는 차세대 개발자 경험 담당 부사장으로 재직하고 있는 Deepak Singh는 당시 “고객은 AWS와 긴밀하게 통합되어 대규모로 작동하고 비즈니스 성장에 따라 확장할 수 있는 솔루션을 원했습니다.”라고 말했습니다. Amazon ECS는 AWS가 제공하는 최고의 기능(확장성, 가용성, 복원력 및 보안)을 활용하여 고객이 프로덕션 환경에서 애플리케이션을 안정적으로 실행할 수 있도록 설계되었습니다.
진화 과정
Amazon ECS는 지난 10년 동안 고객을 위해 지속적으로 혁신해 왔습니다. 이는 AWS에서의 컨테이너 혁신 여정의 시작으로, 기업이 애플리케이션을 구축하고 관리하는 방식을 변화시킨 컨테이너 관련 서비스의 광범위한 에코시스템을 위한 초석을 마련했습니다.
Smartsheet는 Amazon ECS, 특히 AWS Fargate가 지금까지 비즈니스에 미친 심대한 영향을 자랑스럽게 칭찬합니다. “우리 팀은 더 자주 배포하고, 처리량을 늘리고, 배포를 위한 엔지니어링 시간을 수 시간에서 수 분으로 줄일 수 있었습니다. 주별 배포에서 하루에도 여러 번 배포하는 방식으로 바뀌었습니다. 그리고 예전에는 최소 두 명의 엔지니어가 몇 시간씩 걸려 처리해야 했던 작업을 몇 분만에 처리할 수 있었습니다.”라고 Smartsheet의 저명한 엔지니어인 Skylar Graika는 말합니다. “지난 한 해 동안 용량을 50배까지 스케일 아웃할 수 있었으며, AWS 서비스 전반의 심층 통합을 활용하여 효율성을 개선하고 보안 및 규정 준수 프로세스를 간소화했습니다. 또한 Fargate 배포와 함께 AWS Graviton을 채택하여 비용을 20% 절감할 수 있었습니다.”
Amazon ECS는 AWS에서 지난 10년간 이룩한 컨테이너 진화의 출발점으로서 중추적인 역할을 했으며, 오늘날에도 여전히 가장 확장 가능하고 신뢰할 수 있는 컨테이너 오케스트레이션 솔루션 중 하나로 자리매김하며 Amazon이 7,724만 개나 되는 ECS 태스크를 시작한 2024년 프라임데이, Amazon ECS를 핵심 아키텍처의 일부로 사용하는 생성형 AI로 구동되는 쇼핑 어시스턴트 경험인 Rufus 등 대규모 운영을 지원하고 있습니다.
Instrumental의 ML 엔지니어링 매니저이자 AWS 기계 학습 히어로인 Rustem Feyzkhanov는 이 서비스를 도입하여 효율성이 향상되었음을 금방 알아차렸습니다. “Amazon ECS는 우리 작업에 없어서는 안 될 도구가 되었습니다.”라고 Rastem은 말합니다. “지난 몇 년간 컨테이너 관리 및 서비스 규모 조정을 간소화하여 인프라보다는 개발에 집중할 수 있게 되었습니다. 이 서비스 덕분에 애플리케이션 코드 팀이 인프라를 공동 소유할 수 있게 되어 개발 프로세스가 가속화되었습니다.”
타임라인
이제 ECS의 진화를 이끈 주요 사건들을 살펴보겠습니다. 고객이 AWS에서 컨테이너의 성능을 활용하는 방식을 변화시킨 중요한 순간들입니다.
2014년 – Amazon EC2 Container Service 출시! – ECS의 평가판 릴리스를 소개한 이 향수를 불러일으키는 블로그 게시물을 읽어 보세요. 이 서비스가 이미 출시한 기능이 처음부터 얼마나 큰 영향을 미쳤는지 보여줍니다! 고객은 이미 내장된 리소스 관리 및 태스크 스케줄링 기능을 통해 일단의 Amazon Elastic Compute Cloud(EC2) 인스턴스의 클러스터에서 Docker 컨테이너를 실행, 중지, 관리할 수 있었습니다. 정식 출시는 2015년 4월 9일이었습니다.
2015년 – Amazon ECS 오토 스케일링 – 더 많은 Amazon CloudWatch 지표에 대한 지원이 추가됨에 따라 이제 고객은 클러스터의 CPU 및 메모리 사용량을 모니터링하고 오토 스케일링 임계값을 구성하여 클러스터를 자동으로 스케일 인/아웃할 수 있게 되었습니다. 이는 겉보기에 평범한 릴리스가 고객에게 얼마나 큰 영향을 미칠 수 있는지를 보여주는 좋은 예라고 생각합니다. 또 다른 영향력 있는 릴리스는 컨테이너 스토리지 및 배포를 간소화하는 완전관리형 컨테이너 레지스트리인 Amazon ECR의 도입이었습니다.
2016년 – ECS용 Application Load Balancer(ALB) – ECS용 ALB가 도입되어 컨테이너화 애플리케이션을 위한 고급 라우팅 기능을 제공했습니다. ALB는 마이크로서비스 전반에서 보다 효율적인 로드 밸런싱을 지원하여 ECS 워크로드의 트래픽 관리 및 확장성을 개선했습니다. 또한 Windows 사용자는 여러 AMI를 포함한 Windows Server 2016에 대한 추가 지원, Windows 서버 컨테이너에 대한 베타 지원을 포함하여 이 해에 다양한 릴리스의 혜택을 받았습니다.
2017년 – AWS Fargate 출시! – Fargate는 고객이 기본 인프라를 관리하지 않고도 컨테이너를 실행할 수 있는 기술적 혁신으로, 이를 통해 운영이 크게 간소화되었습니다. 개발자는 더 이상 컨테이너가 실행되는 EC2 인스턴스의 프로비저닝, 규모 조정 또는 유지 관리에 대해 걱정할 필요가 없고 AWS가 나머지 작업을 처리하는 동안 이제 애플리케이션 로직에만 집중할 수 있게 된 것입니다. 이를 통해 더 빠르게 규모 조정하고 더 자유롭게 혁신하여 클라우드 중심 여정을 가속화하고 컨테이너화 애플리케이션에 접근하는 방식을 혁신할 수 있었습니다.
2018년 – AWS Auto Scaling – 이 릴리스를 통해 팀은 이제 Amazon ECS 태스크를 위한 규모 조정 계획을 쉽게 수립할 수 있게 되었습니다. 또한 이 해에는 Amazon ECR을 Amazon ECS 콘솔 외부에서 자체 콘솔 환경으로 이전하고, Amazon ECS와 AWS Cloud Map을 통합하는 등 많은 개선 사항이 출시되었습니다. 또한 AWS Fargate는 전 세계의 리전으로 계속 확장되었습니다.
2019년 – Amazon ECS에서 사용 가능한 Arm 기반 Graviton2 인스턴스 – 많은 기업이 지속 가능성 목표의 우선순위를 재정립하는 데 관심을 돌리던 시기에 AWS Graviton2가 출시되었습니다. 성능 향상과 전력 사용량 감소에 중점을 둔 Graviton2 기반 EC2 인스턴스는 출시 첫날부터 Amazon ECS에서 지원되었습니다. 고객은 클라우드용으로 특별히 구축된 이 획기적인 맞춤형 칩셋을 최대한 활용할 수 있었습니다. 이 해의 또 다른 하이라이트는 고객이 상당한 비용 절감을 달성할 수 있도록 도와준 AWS Fargate Spot의 출시였습니다.
2020년 – Bottlerocket – 컨테이너 실행에 최적화된 오픈 소스 Linux 기반 운영 체제입니다. 보안을 개선하고 업데이트를 간소화하도록 설계된 Bottlerocket은 Amazon ECS 사용자가 컨테이너화 워크로드 관리의 효율성과 안정성을 높일 수 있도록 지원했습니다.
2021년 – ECS Exec – Amazon ECS는 2021년 3월에 ECS Exec을 도입했습니다. 이를 통해 고객은 Amazon EC2 또는 AWS Fargate에서 실행 중인 컨테이너 내에서 직접 명령을 실행할 수 있게 되었습니다. 이 기능은 컨테이너를 수정하거나 재배포할 필요 없이 향상된 문제 해결 및 디버깅 기능을 제공하여 운영 워크플로를 간소화했습니다. 또한 이 해에는 Amazon ECS Windows 컨테이너가 출시되어 클러스터에서 컨테이너를 실행하는 사용자의 운영이 간소화되었습니다.
2022년 – Amazon ECS에서 Service Connect 출시 – ECS Service Connect 출시는 Amazon ECS에서 마이크로서비스 아키텍처를 실행하는 조직에게 중요한 순간이었습니다. 서비스 간 네트워킹과 관련된 복잡성을 상당 부분 추상화하였기 때문입니다. 이를 통해 서비스 간 통신 관리가 크게 간소화되었습니다. 이제 개발자는 네이티브 서비스 검색 및 서비스 메시 기능을 사용하여 서비스가 원활하게 상호 작용하는 방식을 정의하고 관리할 수 있으므로 사용자 지정 네트워킹 또는 로드 밸런서를 관리할 필요 없이 관찰성, 복원력, 보안을 개선할 수 있습니다.
2023년 – Amazon GuardDuty ECS 런타임 모니터링 – 작년에 Amazon GuardDuty는 AWS Fargate용 ECS 런타임 모니터링을 도입하여 실행 중인 컨테이너 내에서 잠재적 위협을 탐지하며 보안을 강화하였습니다. 이 기능은 컨테이너 워크로드에 대한 지속적인 가시성을 제공하여 추가적인 성능 오버헤드 없이 보안 태세를 개선합니다.
2024년 – Amazon ECS Fargate에서 EBS 통합 지원 – 올해 1월, Amazon ECS와 AWS Fargate는 Amazon EBS 볼륨에 대한 지원을 추가하여 컨테이너용 영구 스토리지가 가능해졌습니다. 이 통합을 통해 사용자는 EBS 볼륨을 Fargate 태스크에 연결할 수 있으므로 스토리지를 훨씬 쉽게 배포하고 데이터 집약적인 애플리케이션을 지원할 수 있습니다.
우리는 지금 어디에 있을까요?
Amazon ECS는 신규 고객과 기존 고객 모두에게 엄청난 가치를 제공하면서 혁신을 지속할 수 있는 성숙도를 누리고 있다는 점에서 현재 주목받고 있습니다. 올해에는 서비스가 많이 개선되어 더욱 안전하고 비용 효율적이며 사용이 간편해졌습니다.
여기에는 Service Connect에서 TLS를 사용한 자동 트래픽 암호화 지원, 태스크 시작 실패 문제를 보다 간단하게 해결할 수 있게 해주는 향상된 태스크 중지 오류 메시지, 태스크 재시작 없이 컨테이너를 재시작할 수 있는 기능 등이 포함됩니다. AWS Fargate Spot에 Graviton2 기반 인스턴스를 도입하여 고객은 비용 절감을 두 배로 늘릴 수 있는 좋은 기회를 얻었습니다.
AWS와 마찬가지로 Amazon ECS 팀은 고객을 만족시키는 데 전념하고 있습니다. “Amazon ECS와 AWS Fargate를 사용하면 리소스를 직접 관리할 필요 없이 AWS가 제공하는 모든 강력한 컴퓨팅을 활용하면서 차별화된 비즈니스 로직에 매우 쉽게 집중할 수 있습니다.”라고 서버리스 컴퓨팅 제품 및 과학 담당 이사인 Nick Coult는 말합니다. “이러한 서비스에 대한 우리의 비전은 인프라 관리를 최소화하고, 코드 작성 횟수를 줄이고, 확장성을 고려하여 설계하고, 고성능, 복원력 및 보안을 촉진할 수 있도록 하는 것이었고 지금도 마찬가지입니다. 그리고 우리는 지난 10년 동안 이러한 목표를 염두에 두고 각 영역에서 지속적으로 혁신해 왔습니다. Amazon ECS에서는 보안을 손상시키지 않으면서 민첩성을 제공하고, 개발자에게 탁월한 경험을 제공하고, 더 광범위하고 단순한 통합을 실현하고, 생성형 AI와 같은 새로운 워크로드를 위한 새로운 가능성을 제공하겠다는 약속을 확고히 지키고 있습니다.”
결론
과거를 돌아보면 ECS가 고객 요구 사항에서부터 거꾸로 시작하는 AWS 접근 방식의 증거라는 것을 분명히 알 수 있습니다. 컨테이너 오케스트레이션 간소화에 주력하던 초창기부터 혁신적인 Fargate 및 Service Connect의 도입에 이르기까지 ECS는 개발자와 기업 모두의 장벽을 없애기 위해 지속적으로 진화했습니다.
미래를 내다보면 ECS는 계속해서 한계를 뛰어넘어 훨씬 더 혁신적이고 확장 가능한 솔루션을 구현할 것이라고 생각합니다. 저는 모든 사람들이 ECS가 제공하는 기능을 계속 탐색하고, 새로운 구축 방법을 발견하고, 플랫폼의 잠재력을 최대한 발휘할 것을 권장합니다. 앞으로 훨씬 많은 것들이 기다리고 있습니다. 그 여정이 우리를 어디로 데려갈지 기대가 됩니다.
학습 리소스
Amazon ECS를 처음 사용하는 경우 포괄적이고 액세스 가능한 Amazon ECS 시작하기 안내서를 읽어 보길 권장합니다.
무료 실습을 통해 기술을 향상할 준비가 되었다면 이 게시물에서 언급한 여러 기능을 포함하여 서비스의 여러 측면을 다루는 자기 주도 Amazon ECS 워크숍에 참여해 보길 권장합니다.
Amazon ECS에 감사 드리며, 이 서비스를 이용하고 더 나은 서비스를 제공할 수 있도록 계속 도와주시는 모든 분께 감사드립니다. 컨테이너 혁신의 또 다른 10년을 기원합니다!