3. "미래는 이미 와 있다. 단지 널리
퍼져있지 않을 뿐이다.”
"The future is already here — it's just not very evenly distributed.”
윌리엄 깁슨
기술 유행은 언제나 후행입니다만,
미래를 위해서는 현재를 살펴 봐야 합니다.
6. ““아마존닷컴은 10년전 (1995년) 웹 서버와 데
이터베이스 백엔드를 가지는 모놀리식
(Monolithic) 애플리케이션이었습니다.”
A Conversation with Werner Vogels , 2006
http://queue.acm.org/detail.cfm?id=1142065
그 시작은 바로 아마존닷컴!
7. 5년전(2001년) 아마존은 주요한 아키텍쳐 변화가
있었는데 2 티어(tier)기반에서 서로 다른 애플리
케이션 기능을 제공하는 분산 서비스 플랫폼으로
변화하였습니다… 여러분이 지금 Amazon.com의
첫화면에 들어온다면, 그 페이지를 생성하기 위해
100여개가 넘는 서비스를 호출하여 만들고 있습
니다.”
A Conversation with Werner Vogels , 2006
8. 완전한 서비스 지향 아키텍쳐 (SOA)
재료(primitives)로서
인터페이스를 가진
서비스들
“Microsevices”
왼쪽 구조도에서 각 점은 아마존닷컴의 개
별 서비스로서 각 서비스간 의존성을 표시
9. 애플리케이션을 완성하기 위한 원료 혹은 재료로서 이
를 빌딩 블록으로 조립하여, 원하는 서비스를 만들 수 있
는 구성 요소를 말한다. 마치 레고블럭을 조립하여 우리
가 원하는 모양의 레고를 만들 수 있는 것과 같은 원리
primitives
11. How to DevOps?
“제품 개발팀을 작게 유지하라 이렇게 하면 프로젝트
를 실제로 실행가능하고 측정가능한 단위로 쪼개야만
하게 된다. 아마존의 대부분의 새로운 기능들과 서비
스는 두 판의 라지 사이즈 피자로 먹일 수 있는 팀에
의하여 개발되었다.”
제프베조스의 2006년 11월 Business Week 인터뷰
12. 각 팀이 분산된
민첩하면서, 독립적인,
신뢰하고, 오너쉽을 가진
서비스 팀
“DevOps”
피자 두판의 팀이란?
14. Amazon 내부 시스템
아폴로- 배포 서비스
파이프라인 – 출시 자동화
“수천명의 아마존 개발자들은 매일 Apollo를 사용
하여, Java, Python, Ruby 앱을 웹 서비스로 네이
티브 코드 서비스로 배포하고 있습니다. 지난 12
개월 동안 Apollo는 5천만번이 넘는 개발, 테스트
및 정식 서버로 배포가 진행되었습니다. 이는 초
당 한번 평균 한번 이상의 배포횟수입니다. “
Werner Vogels, The Story of Apollo - Amazon’s Deployment Engine, 2014
http://www.allthingsdistributed.com/2014/11/apollo-amazon-deployment-
engine.html
18. What’s Microservices?
“마이크로서비스 아키텍처라는 용어는 소프트웨어 응용 프로그램을 독립
적으로 배치 가능한 서비스 조합(suite)으로 설계하는 방식으로서 지난 몇
년 동안 빠르게 자리잡아 가고 있습니다. 본 아키텍처 스타일에 대해 아
직 명확한 정의는 없지만, 비지니스 수행과 관련된 조직, 배포 자동화, (서
비스) 엔드 포인트의 지적 능력(intelligence), 그리고 프로그래밍 언어와
데이터의 분산 제어에 관한 일반적인 특징들은 존재합니다.”
James Lewes, Martin Fowler - Microservices http://channy.creation.net/articles/microservices
20. Loosely Coupled
“다른 서비스의 변경과 관계없이 독자적으로 서비스 업
데이트를 할 수 있는 구조로서, 아무리 작은 서비스로
나누었더라도 동시에 업데이트 해야 한다면 느슨한 결
합이 아니다. 높은 결합이 일어나는 대부분의 요인은 데
이터베이스를 공유하는 것으로 DB스키마가 변하면 관
련 서비스가 모두 업데이트 되어야 하므로, 가급적 DB
를 나누고 비정규화 할 필요가 있다.”
25. Bounded Contexts
“이 개념은 에릭 에반스(Eric Evans)의 도메인 주도 디
자인(Domain-driven Design)에서 것으로 스스로 독
립적이고 완결적인 맥락을 가지고 있고, 주변 서비스
의 내부 디자인을 모르더라도 된다. 다른 맥락을 가
진 서비스와의 모델 및 데이터 참조는 정확히 정의
된 인터페이스(API) 만으로 통신가능하다.”
28. “넷플릭스는 수백개의 마이크로서비스를 AWS 클라우드 기반으로
운영하고 있는 것으로 유명하다. 또한, 인터널 API를 기반으로 가
벼운 REST 프로토콜을 활용하여 서비스 통신을 하고 있으며,
Netflix Internal Web Service Framework(NIWS) 그리고 이러한
다양한 서비스를 발견하기 위한 목록 관리를 위한 Eureka, 서비스
간 유연한 소통을 위한 Ribbon 등 클라우드 내 서비스 운영을 위
한 수십개의 오픈 소스 프로젝트를 http://netflix.github.io/ 에 공
개하고 있다.”
http://techblog.netflix.com/2013/01/announcing-ribbon-tying-netflix-mid.html
50. 어디서 시작할까요?
1. 아마존 웹 서비스(AWS) 가입 ▶ http://aws.amazon.com/ko
2. Amazon 프리티어 서비스 ▶ http://aws.amazon.com/freetier
Amazon EC2 가상 서버의 경우, 750시간의 t2.micro 인스턴스와
10GB의 Amazon EBS 스토리지 옵션
※ t2.micro 인스턴스 10대 x 월 75시간 무료 사용 가능
3. Amazon 서비스 교육 및 강의 수강 ▶ http://bit.ly/awskr-webinar
• 다양한 주제에 대한 온디메인드 온라인 세미나
4. Amazon 서비스 무료 실습하기 ▶ http://qwiklab.com
51. 마이크로서비스 관심자를 위한 880달러 선물!
http://bit.ly/awskr-feedback
AWS Activate 패키지
100달러 무료 크레딧 + 80 달러 Qwiklab Credit
600달러 온라인 강좌 수강권+ 100달러 1개월 비지니스 서포트
등록하시면 패키지를 받으실 수 있는 URL을 이메일로 보내드립니다!
52. 여러분의 피드백을 기다립니다!
• AWSKRUG: http://awskr.org
• AWS 공식 블로그: http://aws.amazon.com/ko/blogs/korea
• AWS 공식 소셜 미디어
@AWSKorea
AmazonWebServices
AWSKorea
AWSKorea