AWS Summit Seoul 2015에서 GS네오텍 박정수 팀장님의 CloudFront와 Route53 기반 콘텐츠 배포 전략 발표 자료입니다.
---
웹 서비스를 이용하는 사용자들이 늘어나고 트래픽이 증가하면 이에 대응하기 위해 보다 유연한 서비스 환경을 구축할 필요가 있습니다. 특히 서비스 내 미디어 등 콘텐츠를 빠르게 배포하는 것은 서비스 경험을 높이는 데 매우 중요한 요소입니다.
이 강연에서는 AWS 클라우드의 콘텐츠 배포 서비스(CDN)인 Amazon CloudFront와 도메인 관리 서비스인 Amazon Route53를 활용하고 있는 국내 고객의 사례를 소개하고, 국내는 물론 국외에 소재한 고객들에게도 훌륭한 서비스 경험을 제공하기 위해 한국을 비롯해 전 세계 53개소에 자리잡은 CloudFront 엣지 로케이션을 활용하는 방법의 다양한 기술적/비용적 이점에 대해 설명하겠습니다.
AWS Summit Seoul 2015에서 GS네오텍 박정수 팀장님의 CloudFront와 Route53 기반 콘텐츠 배포 전략 발표 자료입니다.
---
웹 서비스를 이용하는 사용자들이 늘어나고 트래픽이 증가하면 이에 대응하기 위해 보다 유연한 서비스 환경을 구축할 필요가 있습니다. 특히 서비스 내 미디어 등 콘텐츠를 빠르게 배포하는 것은 서비스 경험을 높이는 데 매우 중요한 요소입니다.
이 강연에서는 AWS 클라우드의 콘텐츠 배포 서비스(CDN)인 Amazon CloudFront와 도메인 관리 서비스인 Amazon Route53를 활용하고 있는 국내 고객의 사례를 소개하고, 국내는 물론 국외에 소재한 고객들에게도 훌륭한 서비스 경험을 제공하기 위해 한국을 비롯해 전 세계 53개소에 자리잡은 CloudFront 엣지 로케이션을 활용하는 방법의 다양한 기술적/비용적 이점에 대해 설명하겠습니다.
클라우드 기반의 실시간 비딩 시스템 아키텍처를 구축하는 방법에 대해 설명하는 백서 [Building a Real-Time Bidding Platform on AWS]의 내용을 AWS 코리아의 김필중 솔루션즈 아키텍트가 한글로 요약한 슬라이드입니다. 어떻게 클라우드가 RTB의 필수 요소인 낮은 지연시간과 확장성을 확보하는 데 도움이 될 수 있는지 설명하고, 실제 고객 사례를 통해 이러한 아키텍처를 구성하는 법을 살펴보실 수 있습니다.
아마존 웹 서비스의 경우, 스타트업 부터 엔터프라이지까지 개발자 및 인프라 운영 엔지니어들이 주로 사용하는 것으로 알려져 있습니다. 하지만, 블로거로서 일반인들도 AWS 서비스를 유용하게 사용할 수 있습니다. 본 자료는 4주 완성으로 알파 사용자들이 아마존 웹 서비스를 활용하는 방법을 스터디 길잡이 입니다.
대상: 워드 프레스를 자체 서버로 블로그를 운영하려는 블로거, 포트폴리오 사이트를 운영하는 웹 디자이너, 클라우드를 통한 안정적인 소규모 워드프레스를 운영하려는 스타트업 등
얻을 수 있는 것:
1. 클라우드 컴퓨팅의 개념과 AWS 서비스에 대한 이해
2. AWS의 도메인 관리, 스토리지 및 동영상 인코등, 이메일 전송 서비스 활용 지식 습득
3. 복잡한 서버 운영 (콘솔 및 커맨드)과 DB 관리 없이도 안정적인 워드 프레스 운영 노하우 습득
주차별 스터디 내용:
<1주> 클라우드 컴퓨팅 및 AWS 소개
1. 클라우드 컴퓨팅 및 AWS 서비스 소개
2. AWS 가입 및 빌링 알람 설정(CloudWatch)
3. AWS Activate 프로그램 가입 및 사용 방법
<2주> 서버 없이 웹 사이트 호스팅하기
1. S3에 파일 서버 구축하기(S3 지원 FTP 클라이언트 사용법)
2. AWS 사용자 및 크리덴셜 만들기(IAM)
3. S3에 정적 웹 사이트 운영하기
4. CloudFront로 콘텐츠 배포하기
5. 도메인 네임 관리 및 설정하기(Route53)
<3주> CloudFormation으로 워드프레스 운영하기
1. AWS 아키텍쳐 이해하기 (EC2/ELB/RDS/AutoScaling)
2. 5분만에 확장 가능한 워드프레스 구성하기(CloudFormation)
3. 마켓플레이스에서 Bitnami를 활용한 웹 서비스 운영하기
4. WordPress 로컬 서버 및 GIT 레포지터리 설치하기
<4주> Elastic Beanstalk으로 워드프레스 운영하기
1. Elastic Beanstalk 설정 및 배포하기
2. Elastic Transcoder를 통한 자동 동영상 인코딩 하기
3. SES를 통해 대용량 이메일 보내기
4. S3에서 동적 블로그 웹 사이트 운영하기(Lambda with Metalsmith)
KOR201 - A brief overview of new launches for Korean customers, Channy Yun -...Amazon Web Services Korea
동영상: https://youtu.be/MB47pKOkxJo
---
KOR201 - A brief overview of new launches for Korean customers
In this session, we deliver a brief overview of the latest news about AWS products and services introduced during the re:Invent keynote sessions for our Korean customers who are interested in innovating their local businesses in the cloud. Join us to explore how to impact your business and technical roadmap in the Seoul Region. Note that this session is delivered only in Korean
AWS를 이용하는 스타트업에서 신입개발자가 살아남는 썰들을 다루었습니다.
아무래도 썰 푸는 글이다보니 주제가 없다라고 돌을 던지신다면!!!
주제가 있는 글을 또 준비해보겠습니다 히히 :)
남들과 경험을 나누다보면 저도 성장하는것 같아서, 이런거 만드는거 참 좋아합니다.
굉장히 AWS이야기 중심적이기 때문에 AWS에 관심이 있는 분이시라면 공감할만한 이야기를 담았고, AWS가 처음이라면 자신감을 심어드릴 수 있도록 저의 실수하고 극복해 나가는 이야기를 담았습니다. 그리고 모두에게 도움이 되었으면 해서 미력하지만 Insight를 드릴 수 있는 내용들을 준비해 보았습니다.
끝으로, 제 이야기가 여러분께 도움이 되었으면 좋겠습니다.
글에 문제가 있거나 수정이 되었으면 하는부분, 또는 자신의 생각 등 자유로운 의견 메일이든 코멘트든 전부 환영입니다.
매년 11월말 AWS re:Invent 행사에서는 내년 클라우드 기술을 전망할 수 있는 새로운 서비스를 대거 출시했습니다. 올해 리인벤트 행사에서 발표된 신규 서비스 중 개발자들이 관심을 가질만한 서비스를 선보이는 시간으로 데모와 함께 소개합니다. 특히, AWS re:Invent에서 새로 출시한 Amazon CodeBuild, AWS X-Ray 등의 서비스를 통한 민첩한 데브옵스 방법을 알려드립니다. 리인벤트에서 발표된 신규 서비스로 클라우드 기술의 미래를 살펴보세요.
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)Tae Young Lee
파이썬 데이터과학 - 기초 과정(1일차)
- 데이터분석, 데이터시각화
- jupyter notebook, numpy, pandas, matplotlib, seaborn
2차 과정은 따로 올리겠습니다.
문의 및 제안 : se2n@naver.com
데이터 소스 : https://github.com/sh2orc/datascience
Similar to AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 - AWS Summit Seoul 2017 (20)
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...Amazon Web Services Korea
Database Migration Service(DMS)는 RDBMS 이외에도 다양한 데이터베이스 이관을 지원합니다. 실제 고객사 사례를 통해 DMS가 데이터베이스 이관, 통합, 분리를 수행하는 데 어떻게 활용되는지 알아보고, 동시에 데이터 분석을 위한 데이터 수집(Data Ingest)에도 어떤 역할을 하는지 살펴보겠습니다.
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Web Services Korea
Amazon ElastiCache는 Redis 및 MemCached와 호환되는 완전관리형 서비스로서 현대적 애플리케이션의 성능을 최적의 비용으로 실시간으로 개선해 줍니다. ElastiCache의 Best Practice를 통해 최적의 성능과 서비스 최적화 방법에 대해 알아봅니다.
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Amazon Web Services Korea
ccAmazon Aurora 데이터베이스는 클라우드용으로 구축된 관계형 데이터베이스입니다. Aurora는 상용 데이터베이스의 성능과 가용성, 그리고 오픈소스 데이터베이스의 단순성과 비용 효율성을 모두 제공합니다. 이 세션은 Aurora의 고급 사용자들을 위한 세션으로써 Aurora의 내부 구조와 성능 최적화에 대해 알아봅니다.
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...Amazon Web Services Korea
오랫동안 관계형 데이터베이스가 가장 많이 사용되었으며 거의 모든 애플리케이션에서 널리 사용되었습니다. 따라서 애플리케이션 아키텍처에서 데이터베이스를 선택하기가 더 쉬웠지만, 구축할 수 있는 애플리케이션의 유형이 제한적이었습니다. 관계형 데이터베이스는 스위스 군용 칼과 같아서 많은 일을 할 수 있지만 특정 업무에는 완벽하게 적합하지는 않습니다. 클라우드 컴퓨팅의 등장으로 경제적인 방식으로 더욱 탄력적이고 확장 가능한 애플리케이션을 구축할 수 있게 되면서 기술적으로 가능한 일이 달라졌습니다. 이러한 변화는 전용 데이터베이스의 부상으로 이어졌습니다. 개발자는 더 이상 기본 관계형 데이터베이스를 사용할 필요가 없습니다. 개발자는 애플리케이션의 요구 사항을 신중하게 고려하고 이러한 요구 사항에 맞는 데이터베이스를 선택할 수 있습니다.
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Amazon Web Services Korea
실시간 분석은 AWS 고객의 사용 사례가 점점 늘어나고 있습니다. 이 세션에 참여하여 스트리밍 데이터 기술이 어떻게 데이터를 즉시 분석하고, 시스템 간에 데이터를 실시간으로 이동하고, 실행 가능한 통찰력을 더 빠르게 얻을 수 있는지 알아보십시오. 일반적인 스트리밍 데이터 사용 사례, 비즈니스에서 실시간 분석을 쉽게 활성화하는 단계, AWS가 Amazon Kinesis와 같은 AWS 스트리밍 데이터 서비스를 사용하도록 지원하는 방법을 다룹니다.
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon Web Services Korea
Amazon EMR은 Apache Spark, Hive, Presto, Trino, HBase 및 Flink와 같은 오픈 소스 프레임워크를 사용하여 분석 애플리케이션을 쉽게 실행할 수 있는 관리형 서비스를 제공합니다. Spark 및 Presto용 Amazon EMR 런타임에는 오픈 소스 Apache Spark 및 Presto에 비해 두 배 이상의 성능 향상을 제공하는 최적화 기능이 포함되어 있습니다. Amazon EMR Serverless는 Amazon EMR의 새로운 배포 옵션이지만 데이터 엔지니어와 분석가는 클라우드에서 페타바이트 규모의 데이터 분석을 쉽고 비용 효율적으로 실행할 수 있습니다. 이 세션에 참여하여 개념, 설계 패턴, 라이브 데모를 사용하여 Amazon EMR/EMR 서버리스를 살펴보고 Spark 및 Hive 워크로드, Amazon EMR 스튜디오 및 Amazon SageMaker Studio와의 Amazon EMR 통합을 실행하는 것이 얼마나 쉬운지 알아보십시오.
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon Web Services Korea
로그 및 지표 데이터를 쉽게 가져오고, OpenSearch 검색 API를 사용하고, OpenSearch 대시보드를 사용하여 시각화를 구축하는 등 Amazon OpenSearch의 새로운 기능과 기능에 대해 자세히 알아보십시오. 애플리케이션 문제를 디버깅할 수 있는 OpenSearch의 Observability 기능에 대해 알아보세요. Amazon OpenSearch Service를 통해 인프라 관리에 대해 걱정하지 않고 검색 또는 모니터링 문제에 집중할 수 있는 방법을 알아보십시오.
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Amazon Web Services Korea
데이터 거버넌스는 전체 프로세스에서 데이터를 관리하여 데이터의 정확성과 완전성을 보장하고 필요한 사람들이 데이터에 액세스할 수 있도록 하는 프로세스입니다. 이 세션에 참여하여 AWS가 어떻게 분석 서비스 전반에서 데이터 준비 및 통합부터 데이터 액세스, 데이터 품질 및 메타데이터 관리에 이르기까지 포괄적인 데이터 거버넌스를 제공하는지 알아보십시오. AWS에서의 스트리밍에 대해 자세히 알아보십시오.
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Web Services Korea
이 세션에 참여하여 Amazon Redshift의 새로운 기능을 자세히 살펴보십시오. Amazon Data Sharing, Amazon Redshift Serverless, Redshift Streaming, Redshift ML 및 자동 복사 등에 대한 자세한 내용과 데모를 통해 Amazon Redshift의 새로운 기능을 알고 싶은 사용자에게 적합합니다.
From Insights to Action, How to build and maintain a Data Driven Organization...Amazon Web Services Korea
데이터는 혁신과 변혁의 토대입니다. 비즈니스 혁신을 이끄는 혁신은 특정 시점의 전략이나 솔루션이 아니라 성장을 위한 반복적이고 집단적인 계획입니다. 혁신에 이러한 접근 방식을 채택하는 기업은 전략과 비즈니스 문화에서 데이터를 기반으로 하는 경우가 많습니다. 이러한 접근 방식을 개발하려면 리더가 데이터를 조직의 자산처럼 취급하고 조직이 더 나은 비즈니스 성과를 위해 데이터를 활용할 수 있도록 권한을 부여해야 합니다. AWS와 Amazon이 어떻게 데이터와 분석을 활용하여 확장 가능한 비즈니스 효율성을 창출하고 고객의 가장 복잡한 문제를 해결하는 메커니즘을 개발했는지 알아보십시오.
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...Amazon Web Services Korea
데이터는 최종 소비자의 성공에 초점을 맞춘 디지털 혁신에서 중추적인 역할을 하고 있습니다. 모든 기업들은 데이터를 자산으로 사용하여 사례 제공을 추진하고 까다로운 결과를 해결하고 있습니다. AWS 클라우드 기술과 분석 솔루션의 강력한 성능을 통해 고객은 혁신 여정을 가속화할 수 있습니다. 이 세션에서는 기업 고객들이 클라우드에서 데이터의 힘을 활용하여 혁신 목표를 달성하고 필요한 결과를 제공하는 방법에 대해 다룹니다.
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...Amazon Web Services Korea
LG ThinQ는 LG전자의 가전제품과 서비스를 아우르는 플랫폼 브랜드로서 앱 하나로 간편한 컨트롤, 똑똑한 케어, 스마트한 쇼핑까지 한번에 가능한 플랫폼입니다. ThinQ 플랫폼은 글로벌 서비스로 제공되고 있어, 작업 시간을 최소화하고, 서비스의 영향을 최소화 할 필요가 있었습니다. 따라서 DB 버전 업그레이드 작업 시 애플리케이션 배포가 필요없는 Blue/Green Deployment 방식은 최선의 선택이 되었습니다.
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...Amazon Web Services Korea
온프레미스 분석 플랫폼에는 자원 증설 비용, 자원 관리 비용, 신규 자원 도입 및 환경 설정의 리드타임 등 다양한 측면에서의 한계가 존재합니다. 이에 KB국민카드에서는 기존 분석 플랫폼의 한계를 극복함과 동시에 시너지를 낼 수 있는 클라우드 기반 분석 플랫폼을 설계 및 도입하였습니다. 본 사례 소개는 KB국민카드의 데이터 혁신 여정과 노하우를 소개합니다.
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...Amazon Web Services Korea
SK Telecom의 망관리 프로젝트인 TANGO에서는 오라클을 기반으로 시스템을 구축하여 운영해 왔습니다. 하지만 늘어나는 사용자와 데이터로 인해 유연하고 비용 효율적인 인프라가 필요하게 되었고, 이에 클라우드 도입을 검토 및 실행에 옮기게 되었습니다. TANGO 프로젝트의 클라우드 도입을 위한 검토부터 준비, 실행 및 이를 통해 얻게 된 교훈과 향후 계획에 대해 소개합니다.
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...Amazon Web Services Korea
2022년 코리안리는 핵심업무시스템(기간계/정보계 시스템)을 AWS 클라우드로 전환하는 사업과 AWS 클라우드 기반에서 손익분석을 위한 어플리케이션 구축 사업을 동시에 진행하고 있었습니다. 이에 따라 클라우드 전환 이후 시스템 간 상호운용성과 호환성을갖춘 데이터 분석 플랫폼 또한 필요하게 되었습니다. 코리안리 IT 환경에 적합한 플랫폼 선정을 위하여 AWS Native Analytics Platform, 3rd Party Analytics Platform (클라우데라, 데이터브릭스)과의 PoC를 진행하고, 최종적으로 AWS Native Analytics Platform 으로 확정하였습니다. 코리안리는 메가존클라우드와 함께 2022년 10월부터 4개월(구축 3개월, 안정화 및 교육 1개월) 동안 AWS 기반 데이터 분석 플랫폼을 구축하고 활용 범위를 지속적으로 확대하고 있습니다.
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...Amazon Web Services Korea
LG 이노텍은 세계 시장을 선도하는 글로벌 소재·부품기업으로, Amazon Redshift 을 데이터 분석 플랫폼의 핵심 서비스로 활용하고 있습니다.지속적인 데이터 증가와 업무 확대에 따른 유연한 아키텍처 개선의 필요성에 대처하기 위해, 2022년에 AWS 에서 발표된 Redshift Serverless 를 활용한, 비용 최적화된 아키텍처 개선 과정의 실사례를 엿볼수 있는 기회가 됩니다.
4. 발표자 소개
% Wbb a6++eee X TSX R +X +PSS c +
HgbW cS A U P( DTP +:VX T
.,-. ( % :NJ ScRbX TdT
o ( x l
z
% TdG a k@ J XbWl % Wbb a6++W a XbW X
%.,-2 G.G kCP XhaP DP l PR T S aT dT + X U P STd a
%.,-1 cS R cbX V :. R P g R )U c ST %kCA Ol
%.,-, JP ac V J UbeP T ET T aWX % (
%.,,3 >OG EP TJb g DXdT KTP :( J: % …
0
5. Introduction
Hg :H: .,-2 % Wbb a6++eee gR +.,-2P PR+ V P +-1
m PX g bX c ca T g T b
cab DA s :NJ > PabXR TP abP …n
1
8. Continuous Deployment란?
U NX X TSXP
" bX c ca ST XdT g Xa a TbX Ta R UcaTS eXbW R bX c ca ST g T b
bX c ca ST g T b TP a bWPb TdT g RWP VT Xa Pcb PbXRP g
ST gTS b ScRbX n
6 ( (
6 Wbb 6++Td cbgh X +STd a Wb
4
9. Daily CD란?
6 m n ( (
x o
I>JK :HA aT dT %N:J ( N T %Pag R
R cbX V SPbP( V u
…
( Jb PVT
SPbP( V
5
22. Play with AWS #1
> .%:EA ' >D
:EA dT aX % o u 8
GJ TdT aTRc Xbg PbRW
:EA … % (
>D STbPRW( PbbPRW u
p ( PbRW > . > .o >D PbbPRW o
..
23. Play with AWS #2
> PX g
> T dX T b%> . ' >D
ST g T b
> T d
> .
GJ%: Ph DX cf :EA
> . a UbeP T abPR
> T do V TT abPbca ‘ (
> T d :E> aeP X V
./
24. Play with AWS #2
> PX g
>
% 6 k+ b+ gbW + STR l z o ” k+ b+ gbW +Rc T bl z
> … v ( o
> T d p b PUUXR %R XT b J RPRWX V
- p > T d
D V
… -1 J/ R … x
Wbb 6++S Ra Pea P Ph R +T PabXR TP abP + PbTab+SV+caX V)UTPbc Ta VVX V Wb
.0
27. 실제 운영 사례 #1
:NJ K g TVX
.,-2 :NJ JT c TVX T
:NJ K g TVX X U P JT c TVX XV PbX
… PX g XV PbX ” w
K g TVX J/( I J SPbP JT c TVX XV PbX %
I>JK :HA aT dT %N:J ( N T %Pag R PX g
kP ) bWTPab)-l kP ) bWTPab).l z
- p
.3
28. 실제 운영 사례 #2
c XR R cS
- ME P )X ) T% ( N:Jj
:J)AJ R ST N:J( e T ( ab PVT( bXT :NJ XV PbX
:NJ XV PbX N:J( N T PX g
:NJ X U P XV PbX 0
2s
.4
29. 실제 운영 사례 #3
k@ J XbWl % Wbb a6++W a XbW X
:NJ X U P PX g
( SPbP( V % 6 I J
HgbW R ST GJJ kKXP Pbl s
Wbb a6++VXbWc R +@P S X TSJ XbW+bXP Pb
Wbb a6++VXbWc R +@P S X TSJ XbW+ WP P
.5
35. 본 강연에서 다룰 내용
• Continuous Integration & Continuous Deployment
• 기존 Unmanaged CI/CD의 문제
• 왜 GitHub와 Travis CI 인가?
• Travis CI의 한계, AWS Lambda로 뛰어넘다
• Code Build vs Travis CI
• 신뢰성 높은 Software Stack 이란?
39. Definition
Continuous Integration (지속적인 통합)
• Build & Packaging을 자주 행함
• 여러 사람이 작성한 코드가 병합되었을 때 생기는 문제를 미리 감지
• 언제든 최신 Build를 고객에게 바로 제공가능
Continuous Deployment (지속적인 배포)
• Deployment를 자주 행함
• System과 Application을 최대한 Fresh한 상태로 유지
• 장시간 운영 시 발생하는 문제를 예방
Jenkins, Bamboo, Cruise Control등을 주로 사용해 옴
40. Jenkins, Bamboo 같은 CI 의 문제
• 설치/운영비용 소요
(최소 t2.medium = Android App 필요 시)
• 여러 Job들이 같은 서버에서 실행,
Job끼리 영향을 미칠 수 있음
• 낮은 활용률: 큰 프로젝트가 아니면
서버가 24시간 내내 바쁠 일이 적음
운영(관리)에 드는 돈, 시간, 노력을
줄일 수 있는 방법은 없을까?
41. 우리는 왜 IDC에서 AWS로 이동 하는가?
1. 서버관리를 위한 잡일을 AWS에 위임
2. 시간 및 비용이 절감됨
3. 작은 개발팀으로 큰 시스템 개발/운영 가능
4. 집에 좀더 일찍 감
5. 가정이 안정되고 …
6. 나라가 좋아지고 ...
…
43. HBSmith의 개발 Stack (As of 2017.4)
• AWS
• GitHub
• Jenkins -> Bamboo -> Travis CI
• Atlassian Cloud (JIRA/Confluence)
• Slack
https://hbsmith.io/
44. GitHub + Travis CI = 최적의 조합
• GitHub 와의 Seamless한 통합
• 2016 CI Ranking Top 3
(Travis CI, CodeShip, Jenkins)
• 수많은 GitHub기반 Open Source
프로젝트들이 이용 (ex: Apache Zeppelin)
• Managed CI 중 가장 많은 Reference
• Docker 기반으로 모든 Job이
Independent한 환경에서 수행
• 정말정말 배우기 쉬움(Easy)
45.
46. 아직 아쉬운? Travis CI 기능
• Job기반이 아닌, 저장소 기반
• GUI에서 할 수 있는 게 거의 없음
(대신 REST API는 엄청나게 많음)
• 정말 중요해 보이는 기능이 Beta
• CronJob이 Beta인 상황 (as of 2017.4)
• Cron Expression을 지원 안 함
47. AWS Lambda를 이용, Travis CI를 제어
- 1 Job = 1 Lambda
- Lambda의 Cron Expression 이용
- Lambda에서 Travis CI의 Build API 호출
참고사항
- 저장소의 .travis.yml은 최소설정만 사용
- Build API는 위 설정 위에 CI/CD에 맞는 설정을
Override 하여 실행할 수 있음
- 모든 과정은 Python Script로 언제나 재현가능
(Provisioning Ready)
53. 결과: 최신 Stack + 신뢰성 높은 CI/CD 탄생
• Lambda or Travis CI가 장애가 생기지 않는 한 멈출 일이 없음
• 장애가 생겨도 그쪽에서 빨리 복구함, 우리는 기다리면 됨
• iOS도 Build 가능 (Code Build엔 미 지원)
• 문제생기면 Slack으로 바로 Notification
2016년 10월 첫 Setup이후 6개월 동안 3000 Build
이상 진행하는 동안 중단 및 장애 거의 없음
Travis CI 장애 발생시 Travis Team에서 빠르게 대응
Lambda 장애 발생시 AWS에서 빠르게 대응
54. Jenkins 대비 비용비교 (TCO)
비교기준
• Travis CI Docker Instance: 2 CPU + 4G Ram
• AWS: 위와 가장 유사한 t2.medium Instance
• 1 Job = 1 Instance로 계산 (논쟁의 여지는 있음)
결론
• t2.medium = 약 $59/월
• Travis CI = 약 $69/월
• Concurrent Instance가 늘어날수록 가격차 커짐
평가
• EC2 관리자로 1 Man-month를 고용/투입하는 것보다 월 $10을
더 내고 투입하지 않는 게 더 효율적
• 서버가 늘어날수록 Travis CI가 EC2 대비 더 저렴
• 보안, 성능 등이 맘에 안들 경우 Travis CI Enterprise도 고려가능
(Enterprise는 EC2 환경에서 동작함!)
55. Code Build & Code Deploy로 옮길 생각은?
우리 팀 기준엔 아직 미 부합
- 충분한 Reference 있음?
- 기존 것을 대체할 만큼 충분한 기능 있음?
- 확실히 옮길만한 이유가 존재?
그러나 충분히 가능성 있음
- 안정성, 가격측면서 확실한 Benefit이 존재
- GitHub 연동이 Travis 보다 좋아진다면…
- 특히 iOS Build 만 지원이 된다면…
망설임 없이 옮길 예정!
?
56. Code Build vs Travis CI
Code Build Travis CI
• 월 돌리는 Build 개수, Build 완료까지
걸리는 시간이 짧고 유동적일 경우
(시간당 과금 = Build 가 느릴수록 비용이 더 늘어남)
• AWS 인프라만 이용해야 할 경우
• GitHub 외에 다른 저장소일 경우
• Linux 또는 Windows Build 환경만 필요할 경우
• 월 돌리는 기본 Build 개수가 고정되어 있을 경우
• Build 완료까지 걸리는 시간이 꽤 걸릴 경우
(Travis CI는 시간당 과금 없음)
• 팀이 GitHub를 적극적으로 사용할 경우
(특히 PR 및 Review 기능)
• iOS App Build가 필요할 경우 (XCode Server)
57. 결론: 한가지 일을 잘하는 것들을 조합, 확실한 것을 만들다.
- Trigger = AWS Lambda
- Build = Travis CI
이 모든 게 서로 잘 조합될 수 있는 이유
- 훌륭한 표준 인터페이스 (API)
- 완전 관리 형 서비스 (Full Managed)
- 각자 1가지의 목적에 충실 (Primitive)
58. Unix 창시자 Douglas McIlroy 께서 말씀하시길…
AWS = Unix 철학에 가장 가까운 Public Cloud
59. 본 강연이 끝난 후…
여러분도 AWS Lambda로
멋진 자동화 시스템을 만들 수 있습니다!
지금 떠오르는 아이디어로 시작해보세요!
https://aws.amazon.com/lambda/getting-started/
도움이 필요하세요? 아래로 언제든 문의주세요
https://hbsmith.io/