고객 성공 사례 / 디지털 마케팅

2021
Pinterest 로고

Pinterest, Amazon EC2 Mac 인스턴스를 사용하여 iOS 빌드 파이프라인의 신뢰성을 80.5% 개선

Pinterest는 iOS 빌드 환경을 Amazon EC2 Mac 인스턴스로 마이그레이션하여 개발 속도, 인프라 안정성 및 출시 소요 시간을 개선했습니다.  

80.5%

CI/CD 파이프라인의 머신 관련 빌드 장애가 80.5% 감소

비용 절감

개발 비용 절감

18.4%

iOS 애플리케이션의 구축 및 릴리스 속도 18.4% 증가

CI/CD 인프라의

신뢰성 및 안정성 개선

개발자가 혁신적인 서비스를

만드는 데 집중할 수 있도록 지원

개요

Pinterest는 웹 및 모바일 애플리케이션에서 전 세계 4억 4,400만 명의 월 사용자에게 서비스를 제공합니다. iOS 애플리케이션을 지원하기 위해 Pinterest의 개발자들은 macOS와 Apple의 Xcode 통합 개발 환경에 액세스할 수 있는 온프레미스 컴퓨터를 사용했습니다. Apple 애플리케이션의 업그레이드 및 새로운 기능을 개발, 구축, 테스트 및 배포하려면 Xcode 통합 개발 환경이 필요했습니다. 그런데 시각적 검색 플랫폼인 Pinterest는 iOS 빌드 환경을 위한 더 빠르고 효율적인 인프라를 원했고 이를 위해 Amazon Web Services(AWS)에서 솔루션을 찾게 되었습니다.

Pinterest는 iOS 애플리케이션의 지속적 통합 및 지속적 전달(CI/CD) 파이프라인을 Amazon Elastic Compute Cloud(Amazon EC2) Mac 인스턴스로 마이그레이션했고 이후로 개발자들은 클라우드에서 macOS 컴퓨팅 환경을 원활하게 프로비저닝하고 액세스할 수 있게 되었습니다. Pinterest에서는 Amazon EC2 Mac 인스턴스를 사용한 후 머신 관련 빌드 장애가 80.5% 줄었고 개발 속도는 18.4% 개선되었습니다.

458961641

기회 | 클라우드에서 macOS 환경에 액세스

사람들이 주택, 음식, 스타일 및 뷰티와 같은 범주에서 영감을 얻을 때 사용하는 시각적 검색 엔진인 Pinterest는 글로벌 플랫폼으로 성장했습니다. iOS 사용자를 위한 애플리케이션을 구축, 테스트 및 배포할 때 Pinterest 개발자들은 회사에서 수동으로 조달, 구성 및 업그레이드해야 하는 온프레미스 컴퓨터를 사용했습니다. Pinterest의 수석 소프트웨어 엔지니어인 Oliver Koo는 “물리적 머신을 관리하기가 매우 어려웠다”면서 “모든 랩톱을 구성하고 지속적으로 모니터링하고 업그레이드할 직원을 두어야 했다. 머신 하나에 문제가 생기면 서비스 중단이 발생했고 지연 시간이 길어졌다”고 말합니다. 이 온프레미스 환경에서는 개발 시간이 길어졌고 iOS 기능의 출시 시간에 영향을 미쳤습니다.

Pinterest는 iOS 기능 및 업그레이드를 구축, 테스트 및 배포할 수 있는 확장 가능하고 효율적인 방법을 필요로 했습니다. 2010년 첫 출시 이후로 AWS 서비스를 사용해 온 이 회사는 AWS를 찾았고 Amazon EC2 Mac 인스턴스에 대해 알게 되었습니다. 그리고 이 서비스를 사용하면 macOS 환경을 몇 분 내에 프로비저닝하여 액세스하고 필요에 따라 용량을 조정할 수 있으며 컴퓨팅 비용을 최적화할 수 있다는 사실도 알게 되었습니다. Koo는 “AWS로 마이그레이션하면 개발 환경이 간소화된다는 것을 알게 되었다”면서 “Amazon EC2 Mac 인스턴스는 클라우드에서 온디맨드 macOS 환경을 실행할 수 있는 최초의 서비스로서, 시장의 판도를 바꾸고 있다”고 말합니다. 2021년 3월에 Pinterest는 CI/CD 파이프라인을 Amazon EC2 Mac 인스턴스로 마이그레이션하기 시작했습니다.

kr_quotemark

Amazon EC2 Mac 인스턴스를 사용한 후로 머신 관련 빌드 장애 수가 80.5% 감소했는데 이는 엄청난 수치입니다.”

Oliver Koo
Pinterest 수석 소프트웨어 엔지니어

솔루션 | Amazon EC2 Mac 인스턴스를 사용하여 출시 시간을 개선

2021년 8월에 Pinterest는 Amazon EC2 Mac 인스턴스로의 마이그레이션을 완료했습니다. 이 솔루션을 통해 회사는 CI/CD 파이프라인을 간소화했고 이제는 iOS 빌드 환경을 온디맨드로 조정할 수 있습니다. Koo는 “이제는 AWS에서 피크 수요 시 빌드 머신의 수를 400%까지 늘릴 수 있다. 머신의 정적 그룹을 관리할 필요가 없다”고 말합니다. Pinterest는 Buildkite Agent Scaler를 사용하는데, 서버리스 이벤트 중심 컴퓨팅 서비스인 AWS Lambda에서 실행되는 이 함수는 실행되어야 하는 작업의 수를 추적하고 그에 따라 Pinterest의 Amazon EC2 Mac 인스턴스 플릿 크기를 조정하여 회사의 CI/CD 인프라 규모를 효율적으로 조정합니다. Koo는 “수요가 낮은 시기에는 쉽게 스케일 다운할 수 있다”고 말합니다. 이제 개발자는 피크 수요 중에 용량을 사용할 수 있을 때까지 기다리지 않아도 되므로 개발 속도가 개선됩니다. Pinterest는 몇 분 안에 새 Amazon EC2 Mac 인스턴스를 구동할 수 있습니다. 이전에는 몇 시간 또는 며칠을 들여 새 머신을 조달해야 했습니다. 온프레미스 머신에서 빌드를 실행할 때와 비교하여 Amazon EC2 Mac 인스턴스를 사용하면 18.4% 더 빠르게 iOS 애플리케이션을 구축하고 릴리스할 수 있습니다. 머신을 조달할 필요가 없고 사용한 macOS 컴퓨팅 용량에 대한 요금만 지불하면 되기 때문에 개발 비용이 상당히 절감되었습니다.

뿐만 아니라 Amazon EC2 Mac 인스턴스를 사용한 후로 빌드 프로세스도 간소화되었습니다. 이제 더 빠르고 간단하게 새 기능과 업그레이드를 테스트할 수 있습니다. Koo는 “CI/CD 파이프라인에 업그레이드와 패치를 적용하고 보안 수정을 배포하는 프로세스가 꽤 복잡했었다”면서 “하지만 Amazon EC2 Mac 인스턴스와 여기에 구축된 새 프로세스는 이해하기가 참 쉽다”고 말합니다. Pinterest는 Amazon EC2 인스턴스를 시작하기 위해 Amazon Machine Image(AMI)를 구축합니다. 여기에는 AMI를 사용할 수 있는 AWS 계정을 제어하는 권한과 같은 정보가 포함됩니다. 이제는 개발자가 AMI를 생성하고 이와 같은 규칙을 빠르게 구성할 수 있으므로 Pinterest의 개발 속도는 42% 개선되었습니다. 이 간소화된 인프라에서는 새 직원을 온보딩하는 것도 훨씬 간단합니다. 개발자들이 업무를 더 일찍 시작할 수 있으므로 혁신 속도 또한 개선됩니다.

CI/CD 파이프라인의 보안을 유지하기 위해 Pinterest는 모든 AWS 리소스에 대한 세분화된 액세스 제어를 제공하는 AWS Identity and Access Management(AWS IAM)와 같은 AWS 서비스를 사용합니다. Amazon EC2 Mac 인스턴스의 각 클러스터에는 서로 다른 권한이 할당된 AWS IAM 역할이 사용됩니다. 사용자가 클러스터에 액세스하려고 시도하면 Pinterest가 구성한 보안 정책에 따라 자동으로 액세스 권한이 부여되거나 거부됩니다. AWS Secrets Manager도 사용되는데, 이 서비스는 데이터베이스 보안 인증 정보와 API 키를 수명 주기 전체에 걸쳐 손쉽게 교체, 관리 및 검색하는 데 도움이 됩니다. Pinterest는 AWS Secrets Manager를 사용하여 macOS 인증을 중앙 집중화함으로써 iOS 빌드 환경에 대한 무단 액세스를 추가로 방지합니다.

Pinterest는 Amazon EC2 Mac 인스턴스를 사용하여 CI/CD 파이프라인의 안정성을 개선함으로써 새 기능이 더 빠른 속도로 릴리스될 수 있도록 합니다. 이전에는 장시간 가동 후에 온프레미스 머신을 자주 다시 시작해야 했기 때문에 개발이 중단되는 일이 많았습니다. 이제는 안정적인 CI/CD 인프라에 액세스할 수 있습니다. 결과적으로 Pinterest 개발자들은 더 나은 기능을 구축할 수 있게 되었고 Apple App Store에 업데이트를 제출하는 동안에도 지연이 발생하지 않습니다. “Amazon EC2 Mac 인스턴스를 사용한 후로 머신 관련 빌드 장애 수가 80.5% 감소했는데 이는 엄청난 수치입니다.” Amazon EC2 Mac 인스턴스를 사용하면서 Pinterest 개발자들은 더 이상 문제 해결과 인프라 관리에 시간을 쓰지 않아도 됩니다. 이제 그 시간을 Pinterest 사용자를 위한 혁신적이고 새로운 기능을 만드는 데 집중할 수 있습니다.

성과 | AWS에서 지속적인 혁신을 지원

Amazon EC2 Mac 인스턴스를 사용한 후로 Pinterest의 개발 시간, 출시 시간 및 CI/CD 파이프라인 안정성은 대폭 개선되었습니다. 향후에 Pinterest는 클라우드에서 관계형 데이터베이스를 간편하게 설정, 운영 및 확장할 수 있는 Amazon Relational Database Service(RDS)를 사용하여 빌드 장애를 로깅하고 모니터링할 계획입니다. 이러한 인사이트는 특정 오류의 발생 빈도를 파악하고 이를 해결하기 위한 솔루션을 배포하는 데 도움이 될 수 있습니다. Koo는 “AWS는 클라우드에서 온디맨드 macOS 환경을 제공한 최초의 업체”라면서 “Amazon EC2 Mac 인스턴스에서는 바로 사용할 수 있고 액세스 가능한 iOS 빌드 환경과 Mac 머신을 개발자들에게 제공할 수 있다”고 말합니다.

Pinterest 소개

Pinterest는 매월 4억 4,400만 명의 사용자가 조리법, 주택 및 스타일 아이디어 등을 찾을 때 사용하는 시각적 검색 엔진입니다. Pinterest는 캘리포니아주 샌프란시스코에 본사를 두고 있으며 2010년에 시작되었습니다.

사용된 AWS 서비스

Amazon EC2

Amazon Elastic Compute Cloud(Amazon EC2)는 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스입니다. 개발자가 더 쉽게 웹 규모의 클라우드 컴퓨팅 작업을 할 수 있도록 설계되었습니다.

자세히 알아보기 »

Amazon EC2 Mac 인스턴스

Amazon EC2 Mac 인스턴스는 클라우드에서 최초로 온디맨드 macOS 워크로드를 실행할 수 있는 인스턴스로, AWS의 유연성, 확장성 및 비용 이점을 모든 Apple 개발자로 확대합니다.

자세히 알아보기 »

AWS Secrets Manager

AWS Secrets Manager는 애플리케이션, 서비스, IT 리소스에 액세스할 때 필요한 보안 정보를 보호하는 데 도움이 됩니다.

자세히 알아보기 »

AWS를 활용한 Pinterest의 혁신 여정 살펴보기

Pinterest 성공 사례 더 보기

항목을 찾을 수 없음 

1

시작하기

모든 산업에서 다양한 규모의 조직이 AWS를 통해 매일 비즈니스를 혁신하고 임무를 수행하고 있습니다. 지금 전문가와 상담하고 AWS로의 여정을 시작하세요.