Chaos Engineering을 위한 최신 도구 업데이트 - 윤석찬 (AWS 테크에반젤리스트)Channy Yun
- 발표 영상: https://www.youtube.com/watch?v=mLWD4KCQuT4
카오스 엔지니어링(Chaos Engineering)을 테스트해 볼 수 있는 각종 도구에 대해 최신 업데이트를 해드립니다. 로컬 장애 주입용 도구 부터, AWS System Manager기반 Runcommand 도구, AWS Lambda 도구, 그리고 ToxiProxy, ChaosToolkit 같은 오픈 소스 기반 도구와 간단한 데모를 함께 보여드립니다.
How to Measure DevRel's Perfomances: From Community to Business - Channy Yun ...Channy Yun
Developer relations are an impactable to generate business values in many software companies who hope to gain mindshare of developers in various approaches from contributing open sources to gaining meaningful sales leads. In this session, you’ll learn about how to measure the perfomrmance of developer relations for building community, increasing impacts and generating leads for sales.
https://tokyo-2018.devrel.net/speakers/yun/
카오스 엔지니어링(Chaos Engineering)이란 프로덕션 서비스의 각종 장애 조건을 견딜 수 있는 시스템의 신뢰성을 확보하기 위해 분산 시스템을 실험 하고 배우는 분야입니다. 즉, 개발자들이 현실 세계에서 발견되는 시스템 장애를 미리 탐지하여 복원성 높은 아키텍처를 구성하는 방법을 공유합니다.클라우드 컴퓨팅의 발전과 데브옵스 방법론을 기반으로 자동화를 통해 좀 더 쉽게 개발자들이 직접 분산 시스템을 통제된 환경에서 실험을 하는 동안 나오는 결과를 관찰함으로써 현실에서 실제 행동 방법을 배울 수 있습니다. 본 세션에서는 카오스 엔지니어링의 기본 개념과 함께 Kubernetes용 Chaos Tool인 KubeMonkey를 통해 무작위로 클러스터의 포드를 삭제하여 장애 복구 서비스 아키텍처를 검증하는 방법을 설명합니다.
클라우드 컴퓨팅과 Daum의 사례- 윤석찬 (KREN 연구 협력 포럼, 2013) Channy Yun
출처: http://www.koren.or.kr/board/board.php?task=view&db=data2&no=44
<개발자에서>
최근에 클라우드 기술이 부각되면서 다음에서도 발빠르게 사내 프라이빗 클라우드 서비스를 준비중이다. 가장 먼저 한 일은 사내 개발자들이 언제든지 자신의 가상머신(VM)을 할당 받아 테스트해 볼 수 있는 사내 클라우드 플랫폼 구축이었다.
2011년 초 오픈소스인 클라우드스택을 최적화해 구축했으며, 개발자들은 공용 테스트 서버나 서비스 서버에서 못하던 자신만의 최신 기술 습득이나 테스트를 아무 구애 받지 않고 자기 서버에서 해 볼 수 있게 됐다. 이 플랫폼은 앞으로 클라우드 파운더리 기반의 사내 PaaS과 하둡 테스트베드로도 활용하고 있으며, 실제 다음 서비스에서 클라우드 컴퓨팅 기술을 활용하는 기초가 되고 있다.
- http://www.bloter.net/archives/107844
DockerCon 2014에서 Adrian Cockcroft가 발표한 The state of the art in Microservice 중 해외 사례 발췌본
https://blog.docker.com/2014/12/dockercon-europe-keynote-state-of-the-art-in-microservices-by-adrian-cockcroft-battery-ventures/
2005년 구글맵으로 부터 시작된 웹 기반 지도 API 서비스는 웹 2.0의 데이터 플랫폼 서비스의 주요 사례로 떠올랐다. 그 이후 야후!, 마이크로소프트 등에서 지도 플랫폼 서비스와 API 제공이 잇달았으며, 국내에서도 다음이 최초로 항공 사진(스카이뷰)과 거리 사진(로드뷰)을 제공하고 네이버도 참여함으로서 로컬 기반 서비스의 폭발적 성장의 견인차 역할을 하였다. 노키아의 Here 및 오픈스트릿맵 등 제 3의 사업자 및 협업 기반 플랫폼이 성장하였으며, Open Layer 라이브러리 및 Open GIS 등 다양한 공개 소프트웨어 들도 함께 성장하였다.
특히, 스마트폰의 보급과 아울러 모바일용 지도 SDK를 적극 보급 및 지원하는 추세로 기존의 Ajax 기반의 이미지 기반 웹 지도 표현 기술은 WebGL 혹은 Canvas를 통해 3차원 기술을 도입하면서 웹 호환성 및 성능을 동시에 높히고 있다. 구글 스케치업을 통해 시작된 공간 3차원 서비스는 약간 주춤하지만 45도 이미지너리 및 DEM 기반 데이터는 계속 추가되고 있다.
최근에는 구글맵 엔진 서비스와 같은 전문 사용자의 참여를 이끌어 내어 클라우드 소싱 형태의 지도 데이터 생성 커뮤니티를 통해 저개발 국가 및 북한과 같은 미공개 지도 데이터 생산을 만들고 있다.
2011년부터 구글 부터 지도 API 서비스 유료화를 단행하여 보안 강화 및 품질 및 성능 향상을 통해 제 3자 재판매를 통한 사업을 진행하고 있다. 또한, 최근 많은 기업들이 글로벌 홈페이지에 자사의 위치나 고객센터를 이용자들이 찾는데 활용하고 있으며, 이를 활용해 물류•관제•입지분석•위험관리•마케팅 등에 활용하고 있다.
현재 글로벌 지도 API 플랫폼은 단순히 베이스맵을 지원하는데 그치지 않고 공간 정보를 시각화 및 표현하는데 필요한 다양한 기능을 제공하면서, 정보 전달 역할을 강화하고 있다. 또한, Mapbox 등 지도 타일의 다양한 스타일과 테마 기능을 통해 좀 더 미려한 지도를 제공하기도 한다.
향후 글로벌 지도 API 플랫폼은 단보다 고도화된 시스템을 활용해 데이터 분석 및 2차원 시각화 그리고 3차원 공간 정보 활용으로 진화하고 있다.
Chaos Engineering을 위한 최신 도구 업데이트 - 윤석찬 (AWS 테크에반젤리스트)Channy Yun
- 발표 영상: https://www.youtube.com/watch?v=mLWD4KCQuT4
카오스 엔지니어링(Chaos Engineering)을 테스트해 볼 수 있는 각종 도구에 대해 최신 업데이트를 해드립니다. 로컬 장애 주입용 도구 부터, AWS System Manager기반 Runcommand 도구, AWS Lambda 도구, 그리고 ToxiProxy, ChaosToolkit 같은 오픈 소스 기반 도구와 간단한 데모를 함께 보여드립니다.
How to Measure DevRel's Perfomances: From Community to Business - Channy Yun ...Channy Yun
Developer relations are an impactable to generate business values in many software companies who hope to gain mindshare of developers in various approaches from contributing open sources to gaining meaningful sales leads. In this session, you’ll learn about how to measure the perfomrmance of developer relations for building community, increasing impacts and generating leads for sales.
https://tokyo-2018.devrel.net/speakers/yun/
카오스 엔지니어링(Chaos Engineering)이란 프로덕션 서비스의 각종 장애 조건을 견딜 수 있는 시스템의 신뢰성을 확보하기 위해 분산 시스템을 실험 하고 배우는 분야입니다. 즉, 개발자들이 현실 세계에서 발견되는 시스템 장애를 미리 탐지하여 복원성 높은 아키텍처를 구성하는 방법을 공유합니다.클라우드 컴퓨팅의 발전과 데브옵스 방법론을 기반으로 자동화를 통해 좀 더 쉽게 개발자들이 직접 분산 시스템을 통제된 환경에서 실험을 하는 동안 나오는 결과를 관찰함으로써 현실에서 실제 행동 방법을 배울 수 있습니다. 본 세션에서는 카오스 엔지니어링의 기본 개념과 함께 Kubernetes용 Chaos Tool인 KubeMonkey를 통해 무작위로 클러스터의 포드를 삭제하여 장애 복구 서비스 아키텍처를 검증하는 방법을 설명합니다.
클라우드 컴퓨팅과 Daum의 사례- 윤석찬 (KREN 연구 협력 포럼, 2013) Channy Yun
출처: http://www.koren.or.kr/board/board.php?task=view&db=data2&no=44
<개발자에서>
최근에 클라우드 기술이 부각되면서 다음에서도 발빠르게 사내 프라이빗 클라우드 서비스를 준비중이다. 가장 먼저 한 일은 사내 개발자들이 언제든지 자신의 가상머신(VM)을 할당 받아 테스트해 볼 수 있는 사내 클라우드 플랫폼 구축이었다.
2011년 초 오픈소스인 클라우드스택을 최적화해 구축했으며, 개발자들은 공용 테스트 서버나 서비스 서버에서 못하던 자신만의 최신 기술 습득이나 테스트를 아무 구애 받지 않고 자기 서버에서 해 볼 수 있게 됐다. 이 플랫폼은 앞으로 클라우드 파운더리 기반의 사내 PaaS과 하둡 테스트베드로도 활용하고 있으며, 실제 다음 서비스에서 클라우드 컴퓨팅 기술을 활용하는 기초가 되고 있다.
- http://www.bloter.net/archives/107844
DockerCon 2014에서 Adrian Cockcroft가 발표한 The state of the art in Microservice 중 해외 사례 발췌본
https://blog.docker.com/2014/12/dockercon-europe-keynote-state-of-the-art-in-microservices-by-adrian-cockcroft-battery-ventures/
2005년 구글맵으로 부터 시작된 웹 기반 지도 API 서비스는 웹 2.0의 데이터 플랫폼 서비스의 주요 사례로 떠올랐다. 그 이후 야후!, 마이크로소프트 등에서 지도 플랫폼 서비스와 API 제공이 잇달았으며, 국내에서도 다음이 최초로 항공 사진(스카이뷰)과 거리 사진(로드뷰)을 제공하고 네이버도 참여함으로서 로컬 기반 서비스의 폭발적 성장의 견인차 역할을 하였다. 노키아의 Here 및 오픈스트릿맵 등 제 3의 사업자 및 협업 기반 플랫폼이 성장하였으며, Open Layer 라이브러리 및 Open GIS 등 다양한 공개 소프트웨어 들도 함께 성장하였다.
특히, 스마트폰의 보급과 아울러 모바일용 지도 SDK를 적극 보급 및 지원하는 추세로 기존의 Ajax 기반의 이미지 기반 웹 지도 표현 기술은 WebGL 혹은 Canvas를 통해 3차원 기술을 도입하면서 웹 호환성 및 성능을 동시에 높히고 있다. 구글 스케치업을 통해 시작된 공간 3차원 서비스는 약간 주춤하지만 45도 이미지너리 및 DEM 기반 데이터는 계속 추가되고 있다.
최근에는 구글맵 엔진 서비스와 같은 전문 사용자의 참여를 이끌어 내어 클라우드 소싱 형태의 지도 데이터 생성 커뮤니티를 통해 저개발 국가 및 북한과 같은 미공개 지도 데이터 생산을 만들고 있다.
2011년부터 구글 부터 지도 API 서비스 유료화를 단행하여 보안 강화 및 품질 및 성능 향상을 통해 제 3자 재판매를 통한 사업을 진행하고 있다. 또한, 최근 많은 기업들이 글로벌 홈페이지에 자사의 위치나 고객센터를 이용자들이 찾는데 활용하고 있으며, 이를 활용해 물류•관제•입지분석•위험관리•마케팅 등에 활용하고 있다.
현재 글로벌 지도 API 플랫폼은 단순히 베이스맵을 지원하는데 그치지 않고 공간 정보를 시각화 및 표현하는데 필요한 다양한 기능을 제공하면서, 정보 전달 역할을 강화하고 있다. 또한, Mapbox 등 지도 타일의 다양한 스타일과 테마 기능을 통해 좀 더 미려한 지도를 제공하기도 한다.
향후 글로벌 지도 API 플랫폼은 단보다 고도화된 시스템을 활용해 데이터 분석 및 2차원 시각화 그리고 3차원 공간 정보 활용으로 진화하고 있다.
1. 개방형 개발 플랫폼 현황
Overview of the Open
Applications Platform
윤석찬
㈜다음커뮤니케이션 DNA Lab
http://dna.daum.net
2. Agenda
• 소프트웨어 서비스(SaaS)
– 유틸리티 컴퓨팅
– 애플리케이션 호스팅
• 소셜 애플리케이션 서비스 (SNS)
– Facebook F8
– Open Social
• 데이터 이동성 및 저장소 독점 전쟁
3. 웹 서비스 컴퓨팅 변천
ARPANET Internet
Web Web as a SNS Grid
Darkness Awareness Platform Platform Platform
9 9 2 67 1 4 6
95 96 98 99 199 00 00 00
1 1 1 1 2 2 2
Dot‐Com Bubble Web 2.0 Social Graph
Open APIs
Google,Amazon,Ebay… Web2.0 Startups
Social Platform
facebook, open social
Apps Platform
Amazon,Google
4. 서비스 플랫폼의 변화
• 과거
– 단일한 고립 시스템
– 견고성에 집중
– Highly coupled 시스템
• 현재
– 다양한 개방 시스템
– 확장성 및 표준에 집중
– Loosely coupled 시스템
5. SW 플랫폼 vs. 개방 플랫폼
독립 API를 가진 오픈 API를 가진 웹
Platform
버추얼 머신 서비스
API
독자적/폐쇄형 개방형/표준형
기술 장벽으로 진입이 빠르고 쉽게 개발 및
Costs
어려움 서비스 가능
Lock-in
기능 위주 데이터 위주
특정 플랫폼 소속 거의 모든 플랫폼 소속
Developers
개발자 개발자 포용
.Net Google
Examples
Java Amazon
6. 1. 소프트웨어형 서비스 (SaaS)
• 소비자형 오피스 서비스
– Google Apps
• 비즈니스형 오피스 서비스
– Zoho Web Applications + CRM
– Microsoft Office Live
• 비즈니스형 CRM 서비스
– Salesforce.com
– Microsoft Dynamics Live
– eLink
7. • 전통적인 SW 플랫폼을 웹에 구현
– Software as a Service 사례로 많이 인용
• 웹을 통한 서비스형 개발 및 유통 플랫폼
– Salesforce.com : Cloud 기반 CRM 플랫폼
– Force.com : Salesforce.com을 확장하기 위한 독립
SW벤더 플랫폼
– Apex :애플리케이션 개발 언어
– AppExchange : ISV들의 개발 프로그램을 사고 팔수
있는 마켓 플레이스
8. 2. 유틸리티 컴퓨팅
• Hardware as a Service (HaaS)
– 대용량 서비스를 운영하는 플랫폼 기업들이 자신들의 플랫폼에
렌탈함으로서 가용성을 높이고 이를 통한 과금이 가능하도록
하기 위함
• 주요 특징
– 서비스가 갑자기 커지더라도 컴퓨팅 비용에 드는 비용을
측정(Scaling)할 수 있음
– 개방형 API 및 RESTful 방법으로 제어 가능
– 합리적인 가격 정책
• 주요 고객
– 초기 비용에 어려움이 있는 경우 (벤처 기업?)
– 대용량 처리가 주력이 아닌 경우 (쇼핑몰 상품 이미지 파일?)
– 주기적으로 대용량 처리가 필요할 경우 (대학 원서 접수?)
9. Elastic Compute Cloud (EC2)
• Personalised Linux virtual servers
– 원할때 바로 세팅해서 사용 가능
• 1.7 Ghz x86 processor, 1.7 GB of RAM, 160 GB disk, 250
Mb/second network
– Start and stop on demand through REST interface
– Persistent storage through Amazon S3
• 시간단 과금 체계
– $0.10 per CPU hour
– $0.20 per GB transferred across Net
– S3사이의 데이터 이동에 대해서는 무료
http://aws.amazon.com/ec2
10. Simple Storage Server (S3)
• REST 및 SOAP 기반 파일 시스템 (검색이 용이)
• 주요 제공 서비스
– GET Object, Bucket, Service
– PUT Object, Bucket
– DELETE Object, Bucket
Storage: $0.15 per GB/Month
Data Transfer: $0.20/GB to transfer data
http://aws.amazon.com/s3
11. Simple DB
• Attribute-Value 기반의 데이터 저장소
• REST 및 SOAP 기반 인터페이스
– CREATE new domain to house your unique set
of structured data.
– GET, PUT or DELETE items in your domain
– QUERY data sets using simple set of
operators
• 데이터를 이용할 때만 과금
http://aws.amazon.com/simpledb
12. • Loose Schema – XML, Property Bag
• SQL Server와 Windows Server 기술을 이용해
구축
– Highly scalable – scales as data grows
– High availability, security and support standards-
based web interfaces
• SOAP, REST and LINQ APIs
• Private Beta – Pricing TBA
http://www.microsoft.com/sql/dataservices
13. Xcalibre FlexiScale
• 버추얼 머신을 이용해서
Windows 및 Linux 시스템
제공
• Live Service with
Business SLAs
• Per Hour / Per Gigabyte
Model
• £0.05 per hour Linux
Servers
• £0.08 per hour
Windows 200x Servers
• Network attached
storage
http://www.flexiscale.com
17. 컴퓨팅 뿐만 아니라 애플리케이션도 분산?
Microsoft SSDS
Google App Engine
MS BizTalk Services
Amazon Simple DB
Facebook Data Store
Flexi Scale
Amazon S3, EC2
Salesforce.com
18. • 웹 애플리케이션 개발 환경 – Python 언어 기반
• 비 관계형 데이터 저장소 제공
• Google에서 애플리케이션 직접 호스팅
– http://appgallery.appspot.com/
– 다른 도메인 설정 가능
Google Apps Engine 유료 정책
- CPU: $0.10 - $0.12 per CPU 시간당
- 스토리지: $0.15 - $0.18 per GB
• 서비스 비용 무료 - 트래픽: $0.09 - $0.11 per GB
– 500mb data store
– 5 million page views per month
http://code.google.com/appengine/
19. 주요 특징 및 한계점
• Python 웹 애플리케이션 개발 가능
– Django Framework 이용 가능
– Google Accounts를 이용한 사용자 인증
– 외부 HTTP(S) URL Fetch 및 이메일 전송 기능 제공 (다른 통신
방법 없음)
– 파일 시스템 사용 불가
– Batch job, Delay job 불가
• Big Table 기반의 property-value 형식의 데이터 저장소
제공 (Simple DB와 유사)
– GQL(Google Query Language 제공)
– 1,000개 결과만 가져 올 수 있음
21. 3. 소셜 애플리케이션 플랫폼
• 소셜 개발 플랫폼이란?
– 소셜 네트웍 서비스에서 ‘사람의 데이터’를 다루는
애플리케이션 플랫폼 발전
– 취급데이터: 개인 정보, 취향 정보, 주요 활동 기록,
친구 목록 등
• 주요 플랫폼 종류
– Facebook F8: 페이스북을 위한 서드파티 개발 플랫폼
– 오픈 소셜(Open Social): SNS 서드파티를 위한 공개
표준 모델
– 소셜 그래프(Social Graph): XFN과 FOAF 기반
23. Facebook F8 Open Social
클라이언트 기반
Facebook 웹 사이트
기본 구조
규격에 맞는 웹 서비스 위젯
사용자 프로필
폐쇄적/ Push 모델 개방형/표준형
특정 캔버스 안에서 각 서비스에 위젯 처럼
서비스 구조
웹으로 구동 구동
SNS 사이트에 대해
플랫폼을 오픈 소스화
전략 장기적으로 데이터 허브
시킬 계획 있음
역할을 함
한번 개발로 모든 SNS
Facebook에만 적용 가능 3rd Party 사이트에 적용 가능
보안
Facebook이 조정 각 SNS가 조정
24. 주요 기술 규격
Facebook API OpenSocial API
FBML XHTML/XML
• •
FQL JavaScript
• •
FBJS Full Support for AJAX
• •
Partial support for Backend languages
• •
AJAX like PHP, Java, .NET
on Canvas
• Backend languages
like PHP, Java, .NET
on Canvas
27. Data Portability란?
• 회원정보(회원과 관련된 모든 정보)를 공유
• 이미 존재는 데이터 공유를 위한 기술 표준들을
가지고 플랫폼간의 데이터를 공유
– ex)Myspace에 있는 자신의 친구정보를 ebay에서 이용
http://www.dataportablity.org
29. Links to Other Websites
Our Site contains links to
other websites.
▪ MySpace의 프로파일 정보를 가져와 twitter에 적용
▪ e-mail로 Social Network 검색
30. Friends Connect
Social 플랫폼을 다른 사업자가 채택할수 있도록 아키텍
처 공개 MySpace의 Data Portability 발표후 Facebook
Connect 공개
Facebook Facebook
Facebook
F8 플랫폼 Connect
F8
공개
Google의 Open
Social발표
32. Friends Connect
구글과 제휴된 SNS사이트의 사용자를 등록하고 초대
Friend Connect에 가
입한 SNS 회원들의
회원갤러리 및 메시
지 리뷰를 공유
33. 회원정보를 공개한 Facebook과
는 달리, SNS의 회원정보와 연결
역할만을 하는 Friend Connect
MySpace는 Google Friend
Connect를 통해
경쟁 SNS업체와 회원정보를 공유
34. 소셜 플랫폼 전쟁
Facebook이 Google Friend Connect 유입을 봉쇄
▪ 회원 정보를 사용하는 이용약관에 따른 문제점
▪ 사진첩, 닉네임, 친구정보를 공유할수 있으며, 닉네임만
공유 가능하도록 설정
35. Open Strategy
•Platformization
현재는 전략만 제시된 상태 야후를 사용할 때마다 느끼는게
모든서비스가 따로 논다는 느낌
• Portability
웹 어플리케이션간
Portability
•Open Yahoo
Open Social 수용측과
<어플리케이션 중심의 야후 오픈전략>
야후 어플리케이션 플랫폼(YAP)이 중심
36. ▪ Facebook의 “Find Friends”
▪ 공유받은 LIVE ID 주소록은 에서 제공되는 Windows Live
SNS에서 친구 검색시 활용 Contacts 기능
37. Platform Ecosystem?
Social
Platform
ps
ap nt
eb e -소셜 데이터
W nm
Web API (개인,친구,활동)
ew viro
Nn
Platform
E
Grid
-정보성 데이터
(검색,지도) - 애플리케이션 호스팅
Platform
- 데이터 저장