Amazon Web Services 한국 블로그

Amazon EC2 차세대 컴퓨팅 최적화 C5 인스턴스 출시

수년 동안 우리는 고객에게 최상의 네트워킹, 스토리지 및 컴퓨팅 성능을 제공하기 위해 끊임없이 노력해 왔으며 AWS에 의해 설계되고 구축 된 전용 하드웨어로 다양한 유형의 작업을 오프로드하는 데 오랜 기간 집중했습니다. 오늘 새로운 Amazon EC2 C5 인스턴스 타입을 추가하여, 최신 세대의 하드웨어 오프로드를 통합하며 하드웨어와 함께 새로운 하이퍼 바이저를 추가하여 했습니다.

EC2 C5 인스턴스 타입 출시
EC2 C5 인스턴스는 Amazon EC2의 차세대 컴퓨팅 최적화 인스턴스로, 3.0GHz Intel® Xeon® Scalable 프로세서(Skylake)로 구동됩니다. C5 인스턴스는 새로운 경량 하이퍼바이저를 사용하여 빌드되며, 이 하이퍼바이저가 고객의 인스턴스에 거의 모든 컴퓨팅 및 메모리 리소스를 제공합니다. 그 결과, C5 인스턴스는 EC2 제품군에서 최상의 가격 대 컴퓨팅 성능 비율을 자랑합니다.

C5 인스턴스의 가격 대 성능비는 C4 인스턴스에 비해 25% 개선되었고 일부 애플리케이션에서는 50% 이상 개선되었습니다. C5 인스턴스는 배치 처리, 분산 분석, 고성능 컴퓨팅(HPC), 머신/딥 러닝 추론, 광고 서비스, 확장성이 높은 멀티플레이어 게임, 비디오 인코딩 등 컴퓨팅 집약적 워크로드를 실행하는 데 이상적입니다.

C5 인스턴스는 6가지 크기로 이용 가능하며, 고객이 효과적으로 워크로드를 병합할 수 있도록 72개 vCPU 및 144GiB 메모리를 제공하는 더 큰 크기의 c5.18xlarge를 새로 출시했습니다.

인스턴스 타입 vCPUs
RAM
EBS 대역폭
네트워크 대역폭
c5.large 2 4 GiB Up to 2.25 Gbps Up to 10 Gbps
c5.xlarge 4 8 GiB Up to 2.25 Gbps Up to 10 Gbps
c5.2xlarge 8 16 GiB Up to 2.25 Gbps Up to 10 Gbps
c5.4xlarge 16 32 GiB 2.25 Gbps Up to 10 Gbps
c5.9xlarge 36 72 GiB 4.5 Gbps 10 Gbps
c5.18xlarge 72 144 GiB 9 Gbps 25 Gbps

차세대 Elastic Network Adapter(ENA) 및 NVM Express(NVMe) 기술이 적용되어 C5 인스턴스는 네트워킹 및 Amazon Elastic Block Storage(Amazon EBS)를 위한 높은 처리량, 낮은 지연 시간 인터페이스를 제공합니다. C5 인스턴스는 최대 25Gbps의 네트워크 대역폭과 최대 9Gbps의 Amazon EBS 대역폭을 제공합니다. 또한 C5 인스턴스는 더 작은 인스턴스 크기에서 월등히 높은 네트워킹 및 Amazon EBS 성능을 자랑합니다. 새로운 Intel Advanced Vector Extensions 512(AVX-512) 명령 집합을 지원하여 이전 세대 C4 인스턴스에 비해 사이클당 코어별 FLOPS가 최대 2배에 달합니다.

정식 출시
C5 인스턴스는 미국 동부, 미국 서부 및 EU에서 온디맨드, 예약 및 스팟 인스턴스로 제공됩니다. 자세히 알아보려면 Amazon EC2 요금 페이지를 참조하십시오.

Jeff;

AWS 주간 소식 모음 – 2017년 11월 6일

안녕하세요! 여러분~ 매주 월요일 마다 지난 주에 업데이트된 국내 AWS 관련 콘텐츠를 정리해 드립니다.  AWS 클라우드에 대한 새로운 소식을 확인하시는데 많은 도움 되시길 바랍니다. 혹시 빠지거나 추가할 내용이 있으시면, 저에게 메일 주시면 추가 공유해 드리겠습니다.

AWS코리아 블로그

AWS코리아 발표 자료

AWS코리아 동영상

AWS 관련 뉴스 추천 콘텐츠

AWS 글로벌 신규 소식

AWS 제품별 블로그(영문)

AWS 주요 행사 온라인 세미나

AWS 마케팅 행사

 

AWS 공인 교육 일정

 

AWSKRUG 소모임

AWS 주요 파트너사 블로그

AWS 관련 새 소식을 확인하고 싶으시다면, 매주 업데이트 되는 AWS 주간 소식 모음을 살펴 보시기 바랍니다! 좀 더 빠르게 새소식을 접하시고 싶다면, 공식 트위터공식 페이스북을 팔로우 하세요!

이번 한주도 즐겁게 보내시고, 다음주에 다시 만나요!.

– AWS코리아 마케팅팀;

 

 

Stephen Orban – 클라우드를 통해 실험할 때 해야 할 일과 하지 말아야 할 일 4가지

“막대기가 휘어져 있음을 보여 주는 가장 좋은 방법은 막대기에 관해 논쟁하거나 비난하는 데 시간을 허비하는 것이 아니라 곧은 막대기를 옆에 놓는 것이다” ― D.L. Moody

지난 게시물에서 규모와 형태를 막론하고 모든 회사에게 클라우드를 통해 실험이 얼마나 쉬워지고 저렴해지며 덜 위험해지는지 설명했습니다. 회사가 오늘날의 시장에서 실험 문화를 가지고 있다는 것은 경쟁력을 유지할 수 있는 기반이 됩니다. 실험은 혁신을 키우며, 지금처럼 새로운 아이디어를 실천하기에 좋은 때는 없었습니다.

그럼 어디서부터 시작해야 할까요? 조직에서 실험 문화를 구축할 때 고려해야 할 네 가지와 피해야 할 네 가지를 알려 드리겠습니다.

1. 기대수준을 관리하십시오.

예상과 다른 결과가 나오는 실험도 있지만 모든 실험은 배우고 운영을 개선할 수 있는 기회입니다. 조직이 “배우기 위한 실패”라는 개념에 익숙하지 않다면 작은 것부터 시작하고 실험이라고 생각하는 프로젝트를 모두에게 알리십시오. 실험의 목표, 바라는 결과, 결과를 측정하고 테스트할 방법, 이를 통해 배우고자 하는 것을 명확히 함으로써 이해관계자의 기대치를 관리하십시오. 제가 이 과정을 통해 발견한 것은 실험을 해보고 뭔가를 배움으로써 조직이 어떻게 발전하는지 알게 되면 대부분의 임원도 결과가 불확실한 실험의 가치를 이해한다는 것입니다.

모두가 구체적인 성과를 바라보고 있는 프로젝트부터 시작하지 마십시오.

실험 문화를 조성하기 위해 노력하는 변화 관리자 역할을 맡고 있다면  초기에는 이해 관계자들이 구체적인 성과를 요구하는 프로젝트로 실험을 시작하지 마십시오. 예를 들어, 연말 거래 총액 집계로 실험을 시작하는 것은 권장하지 않습니다. 제가 예전에 함께 일했던 한 CEO는 실험에 대해 이렇게 말했습니다. “실패해서는 안 될 때가 아니라면 실패해도 괜찮다”. 점진적 발전에 만족하고 실행하는 실험의 수를 천천히 늘리되 조직보다 앞서가지는 마십시오.

2. 팀의 실험 제안을 독려하십시오.

조직마다 기술 자원을 어떤 프로젝트에 할당할 지 결정하는 고유의 방식이 있습니다. 불행히도 현재 일부 조직은 기술 또는 IT 부서를 코스트 센터로 취급하고 있습니다.  또한 아이디어 생성 과정이 아이디어를 실행하는 사람들과  동떨어져 분리되어 있습니다. 좋은 아이디어는 어디서나 나올 수 있으며, 외부 프로젝트와 관련하여 대부분의 기술 전문가는 독특한 시각을 드러내곤 합니다. 막 클라우드를 시작하는 조직에서는 특히 그렇습니다. 클라우드 고유의 기능을 활용하여 비즈니스에 가치를 가져다 주는 실험을 제안할 적임자는 바로 클라우드를 사용하는 개개인입니다. 팀의 제안을 장려하고 경영진이 어떤 프로젝트에 투자하는지에 영향을 미칠 수 있는 위치에 직원들을 배치하십시오.

측정 방법을 알기 전까지는 실험을 추진하지 마십시오.

여러분은 적절한 실험에 시간을 쏟고 실험에서 얻은 교훈을 통해 조직과 제품이 개선되기를 바랄 것입니다. 팀의 실험 진행을 허락하기 전에 실험 도중 무엇을 어떻게 측정할지 합의해야 합니다. 웹사이트의 새 기능을 테스트한다면 성공적인 웹사이트의 지표는 무엇입니까? 페이지 뷰 수입니까? 클릭 수입니까? 포기율입니까? 이 작지만 중요한 실사 작업은 애초에 팀이 실험을 제안하는 이유를 곱씹어 보도록 합니다. 또한 팀으로 하여금 적절한 실험 우선순위를 정하도록 합니다.

3. 실험을 제도화할 DevOps를 고려하십시오.

DevOps 문화는 실험을 조직의 규범으로 만드는 강력한 방법이 될 수 있습니다. 자산 개발 및 운영(run-what-you-build)과 자동화의 결합은 변경 사항을 적용하는 데 드는 시간을 크게 줄여 더 자주 더 빨리 적용하고 효과 없는 변경 사항은 빠르게 롤백할 수 있습니다. 성숙한 DevOps 조직은 서로 다른 사용자 집단을 이용해 조금씩 다른 사용자 경험을 실험하여 가장 효과적인 것을 찾을 수 있는 A/B 테스트 프레임워크도 개발합니다.

팀을 의심하지 마십시오.

의심은 팀의 사기를 꺾고 실패의 문을 여는 가장 강력한 방법입니다. 적절히 실험 범위를 정하고 측정하며 빠르게 반복하는 방법을 배움에 따라 의심에 앞서 자신의 방법을 조정할 수 있어야 합니다. 팀이 올바른 실험 측정 방법에 대해 생각하도록 하고 어려운 질문을 하는 것이 건전하다는 것을 주지시켜야 하지만, 문제를 해결할 수 있는지 의심하기보다는 팀이 문제를 해결하도록 돕는 방법을 찾아야 합니다. 사람들은 성공하리라 믿는 리더를 따르는 경향이 있습니다.

4. 전체 조직의 참여를 독려하십시오.

실험을 통해 보다 빠르게 결과를 내기 시작하면 조직의 다른 부서들도 여러분의 방법에 끌리게 됩니다. 이런 사람들을 참여시키십시오. 다양한 비즈니스 분야를 포함하는 해커톤을 시도하고, 이해관계자가 실험 측정을 돕도록 하며, 조직에게 항상 실험하고 싶었던 분야를 물어보십시오. 직원들에게 실험할 시간을 주지 않는 회사도 있겠지만 일반적으로는 이를 경쟁력으로 선전합니다. 적어도 이런 종류의 포괄적 활동은 직원들의 사기와 직원 보유율을 높입니다. Amazon에서의 짧은 근무 기간 중에 저는 실험에 대해 깊이 생각하고 이를 글로 명확히 표현할 수 있는 사람이라면 누구나 일반적으로 시도할 기회를 얻게 된다는 것을 알게 됐습니다. 이것은 우리 문화의 특별한 부분이며, 혁신가와 구축가를 끌어들이고 유지하는 훌륭한 도구입니다.

실험이라고 결과가 늦게 나오거나 중단되어서는 안 됩니다.

실험이라는 이유만으로 팀이 결과에 소홀해지지 않도록 하십시오. 실패하고 배우는 것은 좋지만 실험이라 하여 미흡한 결과를 내도 되는 것은 아닙니다. 테스트할 소프트웨어는 여전히 제공되어야 하고, 프로덕션에서 실제 트래픽으로 측정되어야 합니다. 실험이라는 이유로 측정을 늦게 시작하거나 품질이 떨어져도 되는 것은 아닙니다. 어쨌든 여전히 비즈니스를 운영하고 있다는 점을 잊지 마십시오.

실험 문화를 가능케 하기 위해 여러분의 회사는 무엇을 합니까? 꼭 듣고 싶습니다.

– Stephen;
@stephenorban
http://aws.amazon.com/enterprise/

본 블로그 글은 Stephen Orban의 엔터프라이즈 클라우드 여정 시리즈 입니다. 더 자세한 것은 전체 목록을 참고하시기 바랍니다.

Amazon Athena, 서울 리전 출시

오늘 Amazon Athena 서비스가 서울 리전에 출시되었습니다. Amazon Athena는 표준 SQL을 사용해 Amazon S3에 저장된 데이터를 간편하게 분석할 수 있는 대화식 쿼리 서비스로서, 서버리스 기반 서비스이므로 관리할 인프라가 없으며 실행한 쿼리에 대해서만 비용을 지불하는 데이터 분석 서비스입니다.

Amazon Athena 서비스에 대한 자료 모음입니다.

좀 더 자세한 것은 기술 문서를 참고하세요.

윤석찬 (Channy);

Stephen Orban – 직원에게 클라우드 교육 시 고려해야 할 11가지

말로 들은 것은 잊어버린다. 누군가 내게 가르친 것은 기억에 남는다. 참여하면 비로소 익히게 된다. – Benjamin Franklin

 

지난 번 게시물에서는 적절한 교육을 통해 직원을 지원한다면 클라우드 기술을 활용하는 데 필요한 이미 리소스를 갖춘 것이라고 할 수 있는 이유에 대해 설명했습니다.

그러면 최고 변화 관리 책임자(CCMO, Chief Change Management Officer)는 여정을 가속화할 수 있도록 어떻게 직원을 교육할 수 있을까요? 모든 조직의 여정은 다르지만 이를 잘 해내는 조직에는 몇 가지 공통점이 있습니다. 이러한 공통점 11가지를 소개합니다.

1. 의미 있지만 기본적인 것부터 시작하십시오.

비즈니스에 중요한 것을 성취하고 나면 팀은 클라우드 기술의 실용적인 이점을 금방 알아차리게 됩니다. 저는 몇몇 회사의 경우 상황을 크게 변화시키지 않는 프로젝트에 집중했기 때문에 원하는 만큼 빨리 발전하지 못한 것을 확인했습니다. 물론 처음 진행하는 몇 개 프로젝트에 모든 것을 걸어서는 안 되지만 비즈니스 이점을 볼 수 있을 만큼 의미 있는 프로젝트부터 시작하는 것이 좋을 것입니다. 처음에 시작해 볼 수 있는 것으로는 여러 가지가 있습니다. 간단한 웹 사이트, 모바일 애플리케이션, 쉽게 데이터에 액세스할 수 있는 API 또는 백업/재해 복구 개선 등이 있습니다. 팀은 교육 내용이 실용적으로 적용되는 경우 그 과정에서 배운 것들을 더 많은 프로젝트에 더 빨리 적용할 수 있게 될 것입니다.

2. AWS 교육을 활용하십시오.

이전 게시물에서 AWS가 제공하는 우수한 교육 프로그램에 대해 언급했습니다. 이러한 프로그램을 통해 수백 개의 회사들이 클라우드 기술을 연마할 수 있었습니다. AWS는 모든 교육 참여를 개선의 기회로 활용하고 조직에서 특정 요구를 충족하는 교육을 맞춤 설정할 수 있는 다양한 교육 과정과 다양한 전달 메커니즘을 개발했습니다.  Dow Jones에 있을 때 팀의 대부분이 기술 담당자를 교육했는데 이 과정이 나중에 AWS Technical Fundamentals 과정이 되었습니다. 이 교육은 직원들이 새로운 기술을 갖추도록 준비시키는 것 외에도 여정이 시작될 때 일반적으로 느끼는 미지의 영역에 대한 두려움도 없앨 수 있었습니다.

3. 팀이 충분히 실험할 수 있는 시간을 주십시오.

실험 문화를 창안하는 것이 여정에 있어 그 다음 우수 사례이며, 특히 직원에게 동기를 부여 할 때 적합합니다. 혁신은 실험에서 나옵니다. 클라우드를 사용하면 새로운 것을 시도할 때 대규모 선행 투자가 필요하지 않기 때문에 팀이 적극적으로 업계에서 새로운 혁신 제품을 만들 수 있게 됩니다. 팀에게 새로운 방식으로 기존 프로젝트를 구현할 자유를 주십시오.

4. 학습과 실험을 장려하는 목표를 세우십시오.

대부분의 기업은 직원의 목표 및 KPI를 세우고 이러한 목표와 성과를 연결시킵니다. 이러한 기존 메커니즘을 사용하는 것은 전략을 강화하고 원하는 행동을 만들어낼 수 있는 좋은 방법입니다. 관련 교육 이수, 예산 확보 또는 적절한 클라우드 아키텍처를 활용하여 운영 효율성이 어떻게 향상되었는지 등을 중심으로 목표를 수립할 수 있습니다. 이렇게 하면 책임자들이 모두에게 실험 및 학습 기회를 주는 것을 진지하게 고려하고 있음을 보여줄 수 있습니다.

5. 시간 제한을 두고 적절한 속도를 찾으십시오.

실험문화 형성을 목표로 삼을 때 특히 중요한 점입니다. 결국은 가장 중요한 것은 결과입니다. 각 프로젝트의 마감일을 설정하여 팀원들이 이미 알고있는 것을 사용하도록 하고 균형 잡힌 실험을 하도록 도울 수 있습니다. 때로는 팀이 이러한 제약 조건으로 인해 타협하고, 실험을 진행함에 따라 이러한 타협안을 처리하는 방법을 정의해야 합니다. 그러나 팀은 항상 다음 프로젝트를 위해 기술을 배우고 향상시킬 것입니다.

6. 변화에 대한 저항을 확인하고 이를 처리하십시오.

고려해야 할 이 모든 사항의 목적은 사람들에게 성공에 필요한 도구를 제공하여 변화에 대한 직원의 저항을 통제하는 것입니다. 하지만 이러한 모든 기회가 있음에도 불구하고 조직에는 계속 저항하는 사람들이 있을 가능성이 높습니다. 명확한 목적 제시에 대한 게시물은 이러한 과제에 대한 내용을 설명합니다. 팀이 보일 수 있는 불안을 이해하고 효과가 있는 방법과 그렇지 않은 방법에 대해 열린 마음을 가지고 불필요한 마찰을 신속하게 처리하십시오. 이것은 다음 요점으로 이어집니다.

7. 사람들에게 새로운 역할을 부여하는 것에 대해 두려워하지 마십시오.

의미 있는 방식으로 클라우드로 이동하는 것은 기술 변화만큼이나 문화적 변화입니다. 저는 사람들에게 새로운 역할을 수행 할 수 있는 기회를 제공함으로써 변화에 대한 그들의 저항을 극복 할 수 있음을 발견했습니다. 제도적 지식은 비싸고 일반적으로 불필요한 손실이기 때문에 저는 항상 우선적으로 회사 내부를 살펴 보았습니다. Bloomberg에서 11년 동안 일하면서 저는 6가지 매우 다른 역할을 맡았습니다. 이런 많은기회 때문에 그렇게 오랜 시간 동안 근무할 수 있었습니다. 직원에게 새로운 기회를 제공하는 방법을 모색하면 직원의 지속적인 참여를 유지하고 직원 유지를 도울 수 있습니다.

8. 직원에게 조직의 큰 그림 안에서 그들이 어떤 역할을 하고 있는지 보여주십시오.

자신의 직무가 조직의 큰 그림에서 어떤 부분을 차지하고 있는지 알면 직무에 대해 더 쉽게 흥미를 느끼게 됩니다. 반드시 각 역할을 고려하고 팀원에게 그 역할이 어떤 의미에서, 왜 중요한지 알려주십시오. 다시 말하면, 귀하의 조직이 조직 목표를 부서 및 개인 목표에 어떻게 부합시키는지 살펴보고, 각 역할에 맞게 목표를 조정하는 방법을 모색하십시오.

9. 업계 행사에 참여하여 다른 기업이 하고 있는 일을 보십시오.

대부분의 사람들은 다른 사람의 성공과 실패에서 많은 것을 배웁니다. 지금까지 5년 이상 엔터프라이즈용 클라우드 지원 기술 전략을 개발하고 있는데도 AWS re:Invent, AWS Summits 및 기타 기술 이벤트에 참석해 배우는 것을 살펴보면 아직도 놀랍습니다. 직원이 인맥을 쌓고 새로운 아이디어를 얻을 시간을 주십시오. 당신이 추구하지 않을 것이라고 확신하는 것들을 포함해 많은 아이디어를 고려하는 것은 교훈을 배우고 전략을 강화할 수 있는 훌륭한 방법입니다.

10. 파트너로부터 배우십시오.

AWS 파트너 네트워크에는 수만 개의 조직이 있습니다. 그 중 많은 수는 이미 기존 파트너에 속해 있지만 새로운 파트너에게서도 배울 수 있는 기회가 있을 것입니다. 많은 대기업이 클라우드 전략을 가속화하고 IT 문화를 바꾸기 위해 Cloudreach, 2nd Watch 및 Minjar와 같은 규모가 작고 오래되지 않은 “클라우드 기반” 시스템으로 전환하는 것을 보는 것은 매우 놀라웠습니다.

그리고 결과적으로…

11. 조직 내 교육의 특성을 제도화하십시오.

여정을 진행하면서 조직의 몇몇 팀이나 개인이 자신들이 학습한 것을 다른 사람들과 공유하고 싶어한다는 것을 알게 될 것입니다. 클라우드 혁신 센터에서 그런 반응이 나온다면 가장 이상적일 것입니다. 향후 여정의 또 다른 모범 사례로 소개하겠습니다. 제가 Dow Jones에 있을 때 DevOps 팀은 주기적으로 “DevOps 데이”를 주최했습니다. 팀이 조직의 다른 사람들에게 개발한 클라우드 모범 사례, 프레임워크 및 거버넌스 모델을 공유하는 자리가 되었습니다. 자사 조직에만 적용되는 비슷한 프로그램을 구축한 다른 여러 Fortune 500 기업과도 대화를 나눠보았습니다.

이외에 고려해본 다른 내용이 있나요? 있다면 꼭 듣고 싶습니다.

– Stephen;
@stephenorban
http://aws.amazon.com/enterprise/

본 블로그 글은 Stephen Orban의 엔터프라이즈 클라우드 여정 시리즈 입니다. 더 자세한 것은 전체 목록을 참고하시기 바랍니다.

Gluon 상세 소개 – 유연한 딥러닝을 위한 사용하기 쉬운 프로그램 인터페이스

AWS와 Microsoft는 선택한 딥 러닝 프레임워크에 상관 없이 모든 개발자를 지원할 수 있도록 기계 학습 기술의 속도, 유연성 및 액세스 가능성 개선에 초점을 둔 Gluon이라는 새로운 표준 인터페이스를 발표했습니다. 이 협업을 통해 거둔 첫 번째 성과는 Apache MXNet의 오픈 소스 라이브러리인 새로운 Gluon 인터페이스로, 초보 개발자라도 딥 러닝 모델의 프로토타입을 제작하고, 딥 러닝 모델을 빌드하고 학습시킬 수 있습니다. 이 인터페이스를 사용하면 학습에 많은 시간을 들이지 않고도 딥 러닝 모델을 매우 간편하게 제작할 수 있습니다.

다음은 4가지 주요 장점과 이 장점을 잘 보여 주는 코드 샘플입니다.

1. 이해하기 쉬운 단순한 코드

Gluon에서 간결하고 명확한 코드를 사용하여 신경망을 정의할 수 있습니다. 미리 정의된 레이어, 최적화 도구, 이니셜라이저를 포함한 플러그 앤 플레이 신경망의 구성 요소 전체 세트를 가져올 수 있습니다. 이에 따라 복잡한 구현 세부 내역이 추상화됩니다. 다음 예제에서는 단 몇 줄의 코드로 단순한 신경망의 정의 방법을 보여줍니다.

# 첫 단계는 모델 초기화
net = gluon.nn.Sequential()
# 그런 다음 모델 아키텍처 정의
with net.name_scope():
    net.add(gluon.nn.Dense(128, activation="relu")) # 첫 번째 계층 - 노드 128개
    net.add(gluon.nn.Dense(64, activation="relu")) # 두 번째 계층 – 노드 64개
    net.add(gluon.nn.Dense(num_outputs)) # 출력 계층

다음 다이어그램은 신경망 구조를 보여 줍니다.

자세한 내용은 이 자습서를 참조하여 Gluon 신경망 구성 요소로 Multilayer Perceptron(MLP)이라고 하는 간단한 신경망을 빌드하는 방법을 알아보십시오. 고급 사용 사례에서도 처음부터 신경망의 일부를 쉽게 작성할 수 있습니다. Gluon을 통해 신경망에서 미리 정의된 사용자 지정 구성 요소를 혼합하여 적용할 수 있습니다.

2. 유연한 구조

신경망 모델 학습은 컴퓨팅 집약적이고, 경우에 따라서는 수일 혹은 수주까지도 소요될 수 있습니다. 많은 딥 러닝 프레임워크는 이 모델을 명확하게 정의하고 학습 알고리즘과 분리하여 이 시간을 단축해 줍니다. 이 엄격한 접근 방식은 상당한 복잡성을 수반하여 디버깅을 어렵게 만듭니다.

하지만 Gluon 접근 방식은 다릅니다. 학습 알고리즘과 신경망 모델을 통합하여 성능을 저하시키지 않으면서 개발 프로세스에 유연성을 더해 줍니다. 이 접근 방식의 중심에는 Gluon trainer 메서드가 있고, 모델을 학습시킬 때 이 메서드를 사용합니다. 이 trainer 메서드는 MXNet autograd 라이브러리에 따라 달라지고, 미분값(기울기, gradient)을 자동으로 계산하는 데 사용됩니다. 미분값(derivate)은 변수의 변경률을 측정하는 수학 계산입니다. 미분값은 학습 알고리즘에 필요한 입력입니다. 이 autograd 라이브러리는 이 수학 계산을 효율적으로 구현하면서도 Gluon이 부여해 주는 유연성을 지원하는 데 필수적입니다. 이제 단순한 중첩 for 루프로 구성된 학습 알고리즘을 정의하려면 autogradtrainer를 통합하면 됩니다.

epochs = 10

for e in range(epochs):
    for i, batch in enumerate(train_data):
        data = batch.data[0]
        label = batch.label[0]
        with autograd.record(): # 파생물 기록 시작
            output = net(data) # 순방향 반복
            loss = softmax_cross_entropy(output, label)
            loss.backward()
        trainer.step(data.shape[0])

이처럼 유연한 구조 덕분에 코드가 직관적이고 디버깅이 용이하며, 더 수준 높은 모델을 개발할 수 있습니다. 친숙한 기본 Python 언어 구문( for 루프 또는 if 문 등)을 신경망 내에서나 알고리즘 일부로 사용할 수 있습니다. 모델과 알고리즘을 통합하여 모델의 모든 코드를 실행하므로, 버그를 유발하는 특정 코드 줄을 보다 쉽게 확인할 수 있습니다.

3. 동적 그래프

특정 시나리오에서 신경망 모델은 학습 과정 중에 그 모양과 크기를 변경해야 하는 경우도 있습니다. 특히 신경망으로 공급되는 데이터 입력이 가변적일 때 그러한 변경이 필수적이며, 이는 입력된 각 문장의 길이가 각기 다른 자연 언어 처리(NLP)에서는 일반적입니다. Gluon을 사용하면 신경망 정의가 동적이므로, 원하는 어느 구조든 실행 중에 Python의 기본 제어 흐름을 사용하여 빌드할 수 있습니다.

예를 들어, 이와 같은 동적 신경망 구조는 2015년 NLP의 주요 성과인 Kai Sheng Tai, Richard Socher, Chris Manning의 트리 구조화된 Long Short-Term Memory(LSTM) 모델을 빌드하기가 더 쉽습니다.  트리 LSTM은 한 쌍의 문장이 그 의미가 동일한지 여부를 식별하는 등의 작업에 사용되는 매우 효과적인 모델입니다. 기본적으로 두 문장의 의미가 동일한 다음 예를 들겠습니다.

  • Michael threw the football in front of the player. – “Michael이 던진 이 공은 목표에 도달하지 못했습니다.”
  • The ball was thrown short of the target by Michael. – “Michael이 던진 공은 목표에 닿지 못했습니다.”

문장을 알려진 시퀀스 학습 모델인 RNN에 입력으로 집어 넣고 분류할 수도 있습니다. 하지만 사전 지식이 있는 언어에서 종종 문제가 생긴다는 것이 트리 LSTM의 기본적인 아이디어입니다. 예를 들어 문장에 문법 구조가 나와 있고, 문장에서 이 구조를 추출할 수 있는 강력한 도구가 있다고 합시다. 단어들을 연결하여 아래 그림과 같이 문장의 문법 트리 구조를 모방한 트리 구조 신경망을 만들 수 있습니다.

(Stanford 자연 언어 처리(NLP) 그룹)

이렇게 하려면 각 예제마다 다른 신경망 구조를 실행 중에 빌드해야 합니다. 기존의 프레임워크로는 어렵지만, Gluon은 문제 없이 이런 작업을 처리할 수 있습니다. 아래 코드에서 모델 학습을 반복하는 루프를 만들고 autogradtrainer 이점을 역시 활용하는 법을 알 수 있습니다. 이와 같이, 모델에서 문장의 트리 구조를 차례로 순회하면서 학습할 수 있습니다.

def forward(self, F, inputs, tree):
	children_outputs = [self.forward(F, inputs, child)
    for child in tree.children]
  #각 입력 문장의 구문을 기반으로 신경망 빌드
  #모델 정의와 학습 과정 중의 구조
  …

4.  높은 성능 지원

Gluon이 지원하는 유연성 덕분에 신경망 모델로 프로토타입을 쉽게 제작하고 실험을 진행할 수 있습니다. 그런 다음, 속도가 유연성보다 더 중요하게 되면(모든 학습 데이터를 피드할 준비가 된 경우 등) Gluon 인터페이스를 통해 신경망 모델을 쉽게 캐시에 저장하여 고성능을 확보하고 메모리 공간을 절약할 수 있습니다. 이때 프로토타입 제작을 완료하고 대규모 데이터세트에서 이 프로토타입을 테스트할 준비가 된 후 신경망을 설정하고 나면 약간의 조정만이 필요합니다. 신경망 계층을 쌓아 올리는 데 Sequential (앞의 그림 참조)을 사용하지 말고 HybridSequential을 사용해야 합니다. 그 기능은 Sequential과 동일하지만 최적화된 기본 엔진 호출을 지원하므로 모델 아키텍처의 일부 또는 전체를 나타낼 수 있습니다.

net = nn.HybridSequential()
with net.name_scope():
    net.add(nn.Dense(128, activation="relu")) # 첫 번째 계층 - 노드 128개
    net.add(nn.Dense(64, activation="relu")) # 두 번째 계층 – 노드 64개
    net.add(nn.Dense(10)) # 출력 계층

그 다음, HybridSequential를 컴파일하고 최적화하기 위해 hybridize 메서드를 호출할 수 있습니다.

net.hybridize()

이제 모델을 학습시킬 때에도 기본 MXNet 인터페이스를 사용할 때와 거의 동일한 고성능을 활용하고 메모리 사용량을 줄일 수 있습니다.

5. Gluon 시작하기

Gluon을 사용하려면 MXNet 설치 과정 가이드에 나오는 간단한 단계에 따라 실행하거나 클라우드에서 Deep Learning Amazon 머신 이미지(AMI)를 실행하면 됩니다. 그런 다음, 앞서 다룬 여러 구성 요소를 사용하는 방법을 단계별로 실행하여 Multilayer Perceptron(MLP)이라고 하는 간단한 2계층 신경망을 빌드하고 학습합니다. Python 버전 3.3 이상에서 Jupyter 노트북을 사용하여 이 예제를 실행하는 것이 좋습니다.

먼저, MXNet를 가져오고 gluon 라이브러리뿐 아니라 다른 필수 라이브러리 autogradndarray를 붙잡습니다.

import mxnet as mx
from mxnet import gluon, autograd, ndarray

그런 다음 데이터를 가져오고 이 데이터에서 어느 정도 전처리를 실행합니다. 많이 사용되는 MNIST 데이터세트를 가져오며, 여기에는 손으로 쓴 숫자가 나오는 대규모 이미지 모음과 이 이미지에 적합한 레이블이 포함되어 있습니다. 물론, 사진을 어레이에 맞게 재구성하여 쉽게 처리하고 어레이를 MXNet 기본 NDArray 객체로 변환할 수도 있습니다.

# 기본 MXNet utils 함수를 사용하여 MNIST 가져오기
data = mx.test_utils.get_mnist()

# 학습 데이터 설정 및 사진 재구성
train_data = data['train_data'].reshape((-1, 784))
train_label = data['train_label']

# 테스트 데이터 설정 및 사진 재구성
test_data = data['test_data'].reshape((-1, 784))
test_label = data['test_label']

# 데이터를 NDArrays로 변환
train_data_mx = mx.nd.array(train_data)
train_label_mx = mx.nd.array(train_label)
test_data_mx = mx.nd.array(test_data)
test_label_mx = mx.nd.array(test_label)

그 다음, 반복자를 만들어 학습 데이터를 보유합니다. 반복자는 큰 데이터 세트를 순회할 때 유용한 객체 클래스입니다. 이 작업을 진행하기 전에 먼저 배치 크기를 설정하여 각 학습 알고리즘을 반복하는 동안 신경망이 처리할 데이터 분량을 정의합니다. 이 경우에는 32입니다.

batch_size = 32
train_data = mx.io.NDArrayIter(train_data_mx, train_label_mx, batch_size,  
                                 shuffle=True)           

이제 바로 실제 신경망을 정의할 수 있습니다. 계층 2개를 만들려고 합니다. 첫 번째 계층에는 노드 128개가 있고, 두 번째 계층에는 노드 64개가 있습니다. 이 두 계층 모두 Rectified Linear Unit(ReLU)이라는 활성화 함수를 포함합니다. 활성화 함수는 모델 입력과 출력 간의 비선형 관계를 표현하기 위해 중요합니다. 또한, 노드 개수가 가능한 총 출력 개수와 일치하도록 출력 계층을 설정해야 합니다. MNIST의 경우에 사진은 10개(즉, 0~9)뿐인 숫자를 나타내기 때문에 가능한 출력이 10개뿐입니다.

# 첫 단계는 모델 초기화
net = gluon.nn.Sequential()
# 그런 다음 모델 아키텍처 정의
with net.name_scope():
    net.add(gluon.nn.Dense(128, activation="relu")) # 첫 번째 계층 - 노드 128개
    net.add(gluon.nn.Dense(64, activation="relu")) # 두 번째 계층 – 노드 64개
    net.add(gluon.nn.Dense(10)) # 출력 계층

모델 학습 절차를 시작하기 전에 모델의 파라미터를 초기화하고 손실 및 모델 옵티마이저 함수를 설정해야 합니다.

# 표준편차가 0.05인 정규 분포에서 모델의 파라미터 전체에 대해 
# 임의 값으로 시작
net.collect_params().initialize(mx.init.Normal(sigma=0.05))

# softmax cross entropy loss 함수를 사용하여 # 모델이 정답을 얼마나 잘 예측할 수 있는지 평가하도록 선택
softmax_cross_entropy = gluon.loss.SoftmaxCrossEntropyLoss()

# SGD(Stochastic Gradient Descent) 학습 알고리즘을 사용하고 
# 학습 속도 하이퍼파라미터를 .1로 설정하도록 선택
trainer = gluon.Trainer(net.collect_params(), 'sgd', {'learning_rate': .1})

이제 모델 학습 알고리즘을 정의할 시간입니다. 반복할 때마다 다음 4단계를 거칩니다. (1) 데이터 한 배치를 입력 받고 (2) 신경망 모델의 출력과 실제 값의 차이를 계산하고 (3) autograd를 사용하여 손실 함수로부터 모델 파라미터의 미분값을 계산하고 (4) trainer 메서드를 사용하여 손실 함수가 감소하는 방향으로 파라미터를 최적화합니다. 전체 Epoch 개수를 10으로 설정했습니다. 즉, 전체 학습 데이터 세트를 10회 반복합니다.

epochs = 10

for e in range(epochs):
    for i, batch in enumerate(train_data):
        data = batch.data[0]
        label = batch.label[0]
        with autograd.record(): # 파생물 기록 시작
            output = net(data) # 순방향 반복
            loss = softmax_cross_entropy(output, label)
            loss.backward()
        trainer.step(data.shape[0])

이제 학습된 신경망 모델이 준비되었으므로, 확보한 테스트 데이터를 사용하여 이 모델의 정확도를 확인해 보겠습니다. 예측한 값과 실제 값을 비교하여 정확도를 계산할 수 있습니다.

acc = mx.metric.Accuracy()# 정확성 지표 초기화
output = net(test_data_mx) # 신경망을 통해 테스트 데이터 실행
predictions = ndarray.argmax(output, axis=1) # 테스트 데이터 예측
acc.update(preds=predictions, labels=test_label_mx) # 정확성 계산
print(acc)

Gluon 인터페이스와 딥 러닝에 대해 자세히 알아 보려면, 종합 자습서 모음을 참조하면 됩니다. 이 자습서에서는 딥 러닝 소개부터 첨단 신경망 모델의 구현 방법에 이르기까지 자세한 내용을 다룹니다.

작성자 소개
Vikram Madan은 AWS Deep Learning 담당 선임 제품 관리자입니다. 특히 오픈 소스 Apache MXNet 엔진에 초점을 두고 딥 러닝 엔진을 보다 쉽게 사용하도록 해주는 제품 연구에 주력하고 있습니다. 여가 시간에는 장거리 달리기와 다큐멘터리 시청을 즐기곤 합니다.

 

이 글은 Introducing Gluon — An Easy-to-Use Programming Interface for Flexible Deep Learning의 한국어 번역으로, 강지양 AWS 솔루션즈 아키텍트께서 감수하였습니다.

Amazon Elasticsearch Service, VPC 지원 기능 출시

지난주 Amazon VPC 내부에서 NAT 인스턴스나 인터넷 게이트웨이 없이도 Amazon Elasticsearch Service 도메인에 접속할 수 있습니다. Amazon ES용 VPC 지원은 구성하기 쉽고 안정적이면서도 보안이 한층 강화되어 있습니다. VPC 지원을 통해 다른 서비스와 Amazon ES 간 트래픽이 퍼블릭 인터넷과 분리된 AWS 네트워크 내에 완전히 유지됩니다. 기존 VPC 보안 그룹을 사용하여 네트워크 액세스를 관리하고, AWS Identity and Access Management(IAM)를 사용하여 보호력을 강화할 수 있습니다. Amazon ES 도메인용 VPC 지원은 추가 비용 없이 사용할 수 있습니다.

시작하기

VPC에서 Amazon Elasticsearch Service 도메인을 쉽게 만들 수 있습니다. 클러스터를 만들고 나서 [“VPC access”]를 선택할 때 사용하는 일반적인 단계 전체를 실행합니다.

됐습니다. 이제 다 끝났습니다. 이제 VPC 내에서 도메인에 액세스할 수 있습니다!

알아둘 사항

VPC를 지원하기 위해 Amazon ES는 엔드포인트를 사용자의 VPC의 서브넷 1개 이상에 배치합니다. Amazon ES는 클러스터의 각 데이터 노드별로 VPC에 탄력적 네트워크 인터페이스(ENI)를 배치합니다. 각 ENI는 서브넷 IPv4 범위의 프라이빗 IP 주소를 사용하고 퍼블릭 DNS 호스트 이름을 수신합니다. 영역 인식이 활성화되어 있으면 Amazon ES는 각기 다른 가용 영역에 있는 서브넷 2개에 엔드포인트를 만들기 때문에, 데이터 내구성이 강화됩니다.

클러스터의 노드 개수는 IP 주소 개수의 3개로 확보해야 합니다. 영역 인식이 활성화되어 있으면 이 개수를 2로 나눌 수 있습니다. 사용자는 Amazon ES에서 별도의 서브넷을 만드는 것이 가장 좋습니다.

참고 사항:

자세한 내용은 Amazon ES 설명서를 참조하십시오.

Randall;

이 글은 Amazon Elasticsearch Service now supports VPC의 한국어 번역입니다.

애플리케이션 로드 밸런서(ALB) 기반 서버 이름별(SNI) 다중 TLS 인증서 지원

오늘부터 우리는 애플리케이션 로드 밸런서(ALB)에서 서버 이름 표시(SNI)를 사용해 다중 TLS/SSL 인증서 지원을 시작합니다. 이제 단일 로드 밸런서 뒤에서 각각 자체 TLS 인증서를 갖는 다수의 TLS 보안 애플리케이션을 호스팅할 수 있습니다. SNI는 로드 밸런서에서 동일한 보안 리스너로 다수의 인증서를 바인딩하기만 하면 사용할 수 있습니다. 그러면 ALB가 각 클라이언트마다 최적의TLS 인증서를 자동으로 선택합니다. 이러한 새로운 기능은 추가 요금 없이 제공됩니다.

새로운 기능의 사용 방법에 대한 TL;DR을 찾고 있다면 여기를 클릭하십시오. 저처럼 TLS(Transport Layer Security)에 대해서 약간 서툴다고 생각한다면 아래 이어지는 내용까지 계속해서 읽어주십시오.

TLS? SSL? SNI?

SSL과 TLS는 기술적으로 약간 다르기는 하지만 동일한 용어로 사용되는 경우가 많습니다. 기술적인 측면에서 SSL은 TLS 프로토콜의 이전 형태라고 할 수 있습니다. 하지만 쉽게 이해할 수 있도록 이번 포스트에서는 TLS라는 용어를 사용하겠습니다.

TLS는 암호, 쿠키, 신용 카드 번호 같은 데이터를 안전하게 전송하기 위한 프로토콜입니다. 이를 위해 전송되는 데이터의 프라이버시, 인증 및 무결성을 지원합니다. TLS는 인증서 기반 인증 방식을 사용합니다. 여기에서 인증서는 웹사이트에서 ID 카드와 같은 역할을 합니다. 즉 인증서에 서명하여 발급하는 사람, 즉 인증 기관(CA)을 신뢰하기 때문에 인증서 데이터의 정확성까지 신뢰하게 됩니다. 브라우저가 TLS를 지원하는 ALB에 연결되면 ALB가 사이트의 공개 키가 포함된 인증서를 제출합니다. 이 공개 키에는 CA의 서명이 암호화되어 있습니다. 이러한 방식으로 클라이언트는 실제 서버라는 사실을 신뢰하고 사이트의 공개 키를 사용하여 안전하게 연결을 구성합니다.

SNI 지원이 시작되면서 이제는 동일한 ALB에 인증서를 1개 이상 쉽게 사용할 수 있게 되었습니다. 다수의 인증서가 필요한 가장 공통적인 이유는 동일한 로드 밸런서로 여러 도메인을 처리해야 하기 때문입니다. ALB에 와일드카드 인증서와 SAN(Subject-Alternate-Name) 인증서를 사용하는 것은 항상 가능했지만 몇 가지 제약이 따릅니다. 와일드카드 인증서는 단순 패턴이 일치하는 하위 도메인에서만 사용 가능합니다. 또한 SAN 인증서가 다수의 여러 도메인을 지원하기는 하지만 동일한 인증 기관이 각 도메인을 인증해야 합니다. 이 말은 새로운 도메인을 추가할 때마다 인증서를 다시 인증하고 프로비저닝해야 한다는 것을 의미합니다.

포럼과 reddit, 그리고 저의 이메일 수신함으로 가장 자주 도착하는 요청 중 하나가 바로 TLS의 서버 이름 표시(SNI) 확장을 사용하여 클라이언트 인증서를 선택할 수 있도록 해달라는 것이었습니다. TLS는 HTTP 아래 단계인 전송 레이어에 속하기 때문에 클라이언트가 요청하는 호스트 이름을 알지 못합니다. 이때 클라이언트가 처음 연결 시 서버에게 “이것이 내가 인증서를 원하는 도메인입니다”라고 지정할 수 있도록 도와주는 것이 바로 SNI입니다. 그러면 서버가 올바른 인증서를 선택하여 클라이언트에게 응답할 수 있습니다. 오늘날 모든 웹 브라우저와 대다수 클라이언트는 SNI를 지원합니다. 실제로 CloudFront에 연결되는 클라이언트의 99.5% 이상이 SNI를 지원하고 있습니다.

ALB의 스마트 인증서 선택

ALB의 스마트 인증서 선택은 SNI보다 한 걸음 더 나아갑니다. 유효한 도메인 이름 목록이 저장되는 것 외에도 키 교환 유형과 서버가 지원하는 암호화, 그리고 인증서 서명에 사용되는 알고리즘(SHA2, SHA1, MD5)이 인증서에 설명되어 있습니다. TLS 연결을 구성하려면 먼저 클라이언트가 프로토콜 버전, 확장자, 암호 그룹, 압축 방법 등 클라이언트의 기능을 간략히 나타낸 “ClientHello” 메시지를 전송하여 TLS 핸드섀이크를 시작합니다. 그러면 ALB의 스마트 선택 알고리즘이 각 클라이언트가 지원하는 기능에 따라 연결에 적합한 인증서를 선택하여 클라이언트에게 보냅니다. ALB는 고전적인 RSA 알고리즘과 최근에 등장하여 더욱 빠른 속도를 자랑하는 타원 곡선(Elliptic-curve) 기반 ECDSA 알고리즘을 모두 지원합니다. ECDSA 지원이 SNI만큼 클라이언트 사이에 널리 퍼진 것은 아니지만 오늘날 모든 웹 브라우저에서는 이미 지원되고 있습니다. 속도가 더욱 빠를 뿐만 아니라 CPU 사용량도 적기 때문에 지연 시간이 매우 낮은 애플리케이션에 유용할 뿐만 아니라 모바일 애플리케이션에서 사용되는 배터리 양을 절약하는 데도 매우 효과적입니다. ALB가 TLS 핸드섀이크를 통해 각 클라이언트가 지원하는 기능을 알 수 있기 때문에 RSA 인증서와 ECDSA 인증서를 동일한 도메인에 모두 업로드할 수 있습니다. 그러면 ALB가 각 클라이언트마다 가장 알맞은 인증서를 자동으로 선택합니다.

ALB와 SNI의 사용

여기에서 2개의 웹사이트인 VimIsBetterThanEmacs.comVimIsTheBest.com를 예로 들겠습니다. 저는 이 두 도메인을 구매하여 Amazon Route 53에 호스팅한 후 각 도메인에 사용할 인증서 2개를 AWS Certificate Manager(ACM)에 프로비저닝하였습니다. 이때 단일 ALB를 통해 두 사이트를 모두 안전하게 운영하고 싶다면 콘솔에서 인증서 2개를 빠르게 추가할 수 있습니다.

먼저 콘솔에서 내 로드 밸런서를 선택한 후 리스너 탭으로 이동하여 “view/edit certificates”를 선택합니다.

그런 다음 왼쪽 상단 모퉁이에 있는 “+” 버튼을 사용하여 인증서를 선택한 다음 “Add” 버튼을 클릭합니다.

이제 다 끝났습니다. GUI 사용에 익숙하지 않다면 AWS 명령줄 인터페이스(CLI)(또는 SDK)를 사용하여 새로운 인증서를 쉽게 추가하는 방법도 있습니다.

aws elbv2 add-listener-certificates --listener-arn <listener-arn> --certificates CertificateArn=<cert-arn>

알아야 할 것들

  • ALB 액세스 로그에는 클라이언트가 요청한 호스트 이름과 사용한 인증서 ARN이 포함됩니다. “hostname” 필드가 비어있다면(“-“로 표시) 클라이언트가 요청에서 SNI 확장을 사용하지 않았기 때문입니다.
  • ACM 또는 IAM에서는 어떤 인증서든 사용할 수 있습니다.
  • 동일한 도메인이라고 해도 다수의 인증서를 보안 리스너로 바인딩할 수 있습니다. 그러면 ALB가 클라이언트 기능을 포함하여 여러 가지 요인에 따라 최적의 인증서를 선택합니다.
  • 클라이언트가 SNI를 지원하지 않으면 ALB가 기본 인증서(리스너 생성 시 지정한 인증서)를 사용합니다.
  • 새로운 ELB API 호출은 AddListenerCertificates, RemoveListenerCertificates, DescribeListenerCertificates 등 세 가지가 있습니다.
  • 로드 밸런서 1개당 바인딩이 가능한 인증서는 최대 25개입니다(기본 인증서 제외).
  • 이번에 새롭게 추가된 기능은 처음부터 AWS CloudFormation에서 지원됩니다.

새로운 기능의 사용 예는 저의 동료인 Jon Zobrist가 만든 웹사이트(https://www.exampleloadbalancer.com/)에서 찾아볼 수 있습니다.

저는 개인적으로 이 기능을 사용할 예정이며 수많은 AWS 사용자들 역시 커다란 이점을 경험하게 될 것입니다. AWS 사용자들을 위해 이처럼 멋진 기능을 개발하느라 수고해 주신 Elastic Load Balancing 팀에게 깊은 감사를 드립니다.

Randall;

이 글은 Application Load Balancers Now Support Multiple TLS Certificates With Smart Selection Using SNI 한국어 번역입니다.

떠오르는 스타트업 소개 – 레코벨, 메쉬코리아, 블로코

AWS는 스타트업을 사랑합니다!

세상을 변화시키기 위한 열정과 창의력으로 새롭고 흥미 진진한 비즈니스 및 애플리케이션을 구축하기 위해 모인 사람들이 만든 스타트업을 위해 AWS는 다양한 프로그램을 제공하고 있습니다. 앞으로 연재로서 색 다르게 좋은 서비스로 국내외에서 주목 받고 있는 스타트업 서비스와 그들이 AWS를 어떻게 활용하고 있는 지에 대해 전해 드리고자 합니다. (해외의 주요 스타트업은 영문 블로그 시리즈를 참고하세요.)

AWS 클라우드를 통해 세상을 바꾸고 있는 떠오르는 스타트업을 소개합니다!

이번에는 아래 스타트업을 소개합니다.

레코벨은 소셜커머스나 인터넷 쇼핑몰 등 전자상거래 기업에게 상품 추천 및 개인화 마케팅 솔루션을 제공하는 기업입니다. 쉽게 설명 드리면 데이터를 활용해 기업과 고객이 원하는 서비스와 제품을 딱 찾아 맞춤형으로 제공해주는 아주 스마트한 서비스라고 할 수 있습니다. 개인화 추천 서비스, 개인화 마케팅 서비스, 그리고 키워드 광고 대행 서비스를 제공하고 있고 최근에는 뉴스 추천 서비스를 신설하게 되었습니다. 국내 약 200여개 신문사 데이터를 수집하고 분석해서 실시간으로 맞춤뉴스를 제공하고 있습니다.

이 중에도 주력 서비스는 개인화 추천 서비스인데, 쇼핑몰에 방문하는 고객 개개인 성향에 맞춰 메인 화면을 제공하고 추천 상품을 제시하는 서비스입니다. 고객이 원하는 제품을 보여주기 때문에 구매까지 성공적으로 이루어져 고객사 매출 상승으로 이어집니다.

레코벨에서는 AWS의 다양한 서비스들을 활용해서 사용자에게 서비스를 제공하고 있습니다. 데이터를 수집하여, 분석하고, 제공하는 일련의 과정들이 모두 AWS 인프라위에 올라가 있습니다. EC2, RDS 와 같은 서비스를 이용하여 기본적인 인프라를 구성하고 있으며, S3 를 이용해서 각 단계에서 나오는 데이터 산출물을 저장합니다. Full Managed Service 인 Kinesis 를 이용해서 데이터를 수집하거나, 실시간으로 분석하는데 사용합니다 Redshift 를 이용하여 추천엔진을 만들고 있습니다.

AWS의 가장 큰 장점은 적은 인원과 비용으로 확장가능한 서비스를 할 수 있다는 점입니다. 현재 레코벨에서는 2명의 개발자로 300개 이상의 사이트에 서비스를 하고 있습니다. 특히, AWS의 Kinesis, SQS, Redshift와 같은 full managed service를 이용하여 관리에 대한 부담을 줄이고, 효율적인 자원활용으로 많은 비용을 절약하고 있습니다.

레코벨의 서비스에 대한 자세한 내용은 웹사이트에서 보실 수 있습니다!

메쉬코리아는 IT 기반의 물류 스타트업입니다. ‘부릉(VROONG)’이라는 물류 브랜드를 통해 단순히 물건을 전달하는 기존 배송 서비스뿐만 아니라 정보와 정보를 연결해 새로운 가치를 창출하고 있습니다. 현재 프리미엄 배송 서비스 ‘부릉 프라임(VROONG Prime)’, 통합 물류관리 솔루션 ‘부릉 TMS(VROONG TMS)’, 프리미엄 배달 책자 ‘부릉 컬렉션(VROONG Collection)’, 신선식품 배송 서비스 ‘부릉 프레시(VROONG Fresh)’ 등의 서비스를 운영하고 있습니다.

전국 13,000여 명의 제휴 기사님들과 물류 거점이자 기사님들의 쉼터인 부릉 스테이션을 80여 개 보유하고 있으며, 연내 130여 개로 확충해 보다 정확하고 빠른 배송 서비스를 제공할 계획입니다.

특히, 자사의 IT 기술력을 총동원해 자체 개발한 통합 물류관리 솔루션 ‘부릉 TMS(VROONG TMS)’는 4차 산업혁명의 핵심 기술 중에 하나인 빅데이터 분석과 클라우드 기술 등을 적용해 물류 업계에서 혁신을 일으키고 있습니다. 배송기사들의 배송 패턴을 스스로 학습해 정교한 배송경로 제안이 가능하며, 국내 최초 클라우드 방식의 TMS로 초기 도입 비용이 낮으며 도입후에도 별도의 유지 보수 및 업그레이드 비용이 없다는 점이 특장점입니다.

메쉬코리아에서는 다양한 AWS 서비스를 사용하고 있습니다. EC2, RDS, S3는 모든 서비스에서 유용하게 사용하고 있으며, 캐쉬 및 빠른 데이터 접근을 위해 일부 서비스에서는 ElasticCache를 사용하고 있습니다. 서비스간의 통신들은 최근 SQS를 이용해 Queue 기반의 통신을 늘려가고 있는 상황입니다. 배송 트래픽의 경우 하루 중에도 시간 별로, 요일별로도 차이가 많이 나는데 EC2, ELB, Scaling Group을 이용하여 탄력적으로 시스템 자원을 관리하여 비용을 많이 절감하고 있습니다.

또한 Log 관리를 위해 ElasticSearch 서비스를 이용하고 있는데, 기존에 ElasticSearch를 직접 활용할 때보다 Managed Service를 사용하게 되어 관리 비용이 많이 줄어든 바 있습니다. 현재 ElasticSearch와 더불어 기능이 더 좋아지고 있는 Cloudwatch Log도 테스트 해보고 있습니다.

전반적인 서비스 모니터링엔 CloudWatch Dashboard와 SNS를 사용하고 있습니다. 회사 내 여러 서비스에 대한 지표들을 한눈에 바라볼 수 있게 만든 Dashboard를 사무실 중간에 띄워 놓고 언제나 볼 수 있도록 사용하고 있고, 혹시나 모를 장애 알람이나 경고 메시지를 Cloudwatch Alert + SNS + Lambda + Slack을 이용하여 Slack에서 실시간으로 받아보고 있습니다.

최근 메쉬코리아에서 Microservice Architecture로의 전환이 활발하게 이뤄지고 있는데요, 그에 따라 Cloud Formation이나 Code Deploy 사용을 조금씩 늘려가고 있습니다. 간단한 어플리케이션 배포를 위해서 Elastic Beanstalk도 활발히 사용하고 있습니다.

AWS의 가장 큰 장점은 물리 환경에서는 엄청나게 많은 인력과 시간이 들 작업을 단 몇 분, 몇 시간만에 Console 환경을 통해 빠르게 설정할 수 있다는 점으로 생각합니다. 또한 많은 서비스들을 Managed Service로 지원해주면서 쉽게 놓칠 수 있거나 관리하기 힘든 백업, HA 구성 등을 손 쉽게 구성할 수 있도록 도와주어서 다른 중요한 것에 더 집중 할 수 있도록 해줘 만족하면서 사용 중입니다.

메쉬코리아의 서비스에 대한 자세한 내용은 웹사이트에서 보실 수 있습니다!

블로코는 블록체인 기술을 현실화 시키는 기업입니다. 블록체인 개발 플랫폼인 ‘코인스택’을 통해 블록체인 기술을 도입하는데 가장 큰 걸림돌이었던 높은 기술/비용 장벽을 해결합니다. 금융. 사물인터넷(IoT). 제조. 공공 서비스 등 다양한 분야의 기업과 공공기관이 코인스택을 활용해 블록체인 기반 서비스를 구축하고 있습니다.

블로코는 이미 국내 주요 금융/카드사들과 함께 블록체인 기반 기술을 구축했으며, 국내 블록체인 최다 레퍼런스 기업으로 부상했습니다. 또한 국내 최초로 블록체인 플랫폼 GS인증을 획득하며 블록체인 기반 생체인증/전자문서 인증 상용화, 블록체인 기반 장외주식 서비스 상용화 등 국내 블록체인 시장을 이끌어가고 있습니다.

블록체인 기술은 기존 중앙집중식 플랫폼/서비스에 비해 높은 보안성과 낮은 비용 등의 장점을 갖춰 금융권을 시작으로 기존 비즈니스 프로세스를 완전히 바꿀 새로운 패러다임으로 떠올랐습니다. 하지만 이를 도입하는 과정이 복잡하고, 까다로운 설계 프로세스와 많은 자원을 요구하는 까닭에 많은 기업이 도입에 어려움을 겪고 있습니다. 블로코는 이러한 문제점을 개선하여 안전한 블록체인 생태계의 확장을 목표로 하며, 이 과정에서 AWS의 서비스를 최대한 활용하고 있습니다. 블로코는 AWS의 Amazon EC2, EBS를 이용하여 블록체인 노드를 구성하고 ELB, Router53 를 이용하여 기본적인 네트워크 인프라를 구성하고 있습니다. 블로코 홈페이지 역시 Amazon S3와 Amazon CloudFront 를 기반으로 운영하고 있습니다.

블로코의 서비스에 대한 자세한 내용은 웹사이트에서 보실 수 있습니다!

“AWS는 클라우드 기반으로 성공적인 비즈니스를 향해 나아가는 스타트업들을 위해 AWS를 시작하는 데 필요한 리소스를 제공하는 AWS Activate라는 스타트업 지원 프로그램을 운영하고 있습니다. 스타트업 지원에 대한 궁금한 점은 언제든지 알려주시기 바랍니다.”

–  박세정, AWS코리아 스타트업 비지니스 개발 매니저;

AWS 주간 소식 모음 – 2017년 10월 30일

안녕하세요! 여러분~ 매주 월요일 마다 지난 주에 업데이트된 국내 AWS관련 콘텐츠를 정리해 드립니다. AWS 클라우드에 대한 새로운 소식을 확인하시는데 많은 도움 되시길 바랍니다. 혹시 빠지거나 추가할 내용이 있으시면, 저에게 메일 주시면 추가 공유해 드리겠습니다.

 

AWS코리아 블로그

AWS코리아 발표 자료

AWS코리아 동영상

AWS 관련 뉴스 추천 콘텐츠

AWS 글로벌 신규 소식 (영문)

AWS 제품별 블로그(영문)

AWS 주요 행사 온라인 세미나

AWS 마케팅 행사

 

AWS 공인 교육 일정

 

AWSKRUG 소모임

AWS 주요 파트너사 블로

AWS 관련 새 소식을 확인하고 싶으시다면, 매주 업데이트 되는 AWS 주간 소식 모음을 살펴 보시기 바랍니다! 좀 더 빠르게 새소식을 접하시고 싶다면, 공식 트위터공식 페이스북을 팔로우 하세요!

이번 한주도 즐겁게 보내시고, 다음주에 다시 만나요!

– AWS코리아 마케팅팀;