728x90
< Microservices 소개 >
Microservices 란?
- 하나의 어플리케이션을 다수의 독립적인 서비스들의 집합으로 구성하는 것
- 각각의 서비스들은 별도의 프로세스에서 실행되며, HTTP API같은 가벼운 매커니즘으로 통신하는 작은 애플리케이션이다
- 작은 서비스들은 각자의 비즈니스 기능을 담당하고, 완전 자동화된 절차에 따라 독립적으로 배포된다
- 각 서비스는 서로 다른 프로그래밍 언어나 서로 다른 데이터 저장 기술을 사용할 수 있다
Microservices 용어
- 3가지는 모두 같은 용어로 사용되지만, 해외에서는 주로 Microservices로 불린다
- Microservice Architecture
- MSA
- Microservices
Microservices 출현
- 2005년 클라우드 컴퓨팅 컨퍼런스에서 Peter Rogers가 Micro Wev Service 개념 발표
- 2011년 SW 아키텍처 워크샵에서 Microservice 라는 용어 탄생함
- 본인들의 아키텍처 스타일을 표현하기 위한 단어로 사용하였다
- 2012 Microservices 라는 용어가 복수형으로 더 적절하다고 판단함
- 2014년 James Lewis와 Martin Fowler가 본인 블로그에 Microservices 정리
- Microservices의 정의, 특징들을 정리하였다
- 현재까지도 다양한 문서에서 거의 표준적인 정의처럼 사용된다
- https://martinfowler.com/articles/microservices.html
- Microservices의 진정한 태동은 산업계에서 시작되었다 - Amazon, Netflix
Microservices in Amazon
- 2001년까지 Amazon.com은 monolithic 시스템으로 구현되었다
- monolithic의 단점은 빠르게 개발되는 코드가 운영에 배포되는데 오랜 시간이 걸린다는 것이다
- Amazon은 monolithic 시스템을 Decomposition하여 독립적인 서비스들의 집합으로 재설계하였다
- *Jeff Baozos의 메세지로 서비스 변경이 발생하게 됨
* Jeff Bazos's Mandate
2002년에 Jeff Bazos가 전직원들에게 다음과 같은 내용의 메일을 보냈다
이 메세지를 통해 아마존이 monolithic에서 Microservices로 넘어가게 되는 강력한 계기가 되었다
- 모든 팀은 해당 팀의 기능 및 데이터를 Service Interface를 통해서만 노출해야 한다
- 다른 팀의 기능/데이터를 사용하려면 Network를 통한 Service Interface를 호출해야 한다
- Service Interface 기술을 상관하지 않겠다 (HTTP, Corba, etc.)
- 누구든 이것을 지키지 않으면 해고하겠다
이후 아마존의 Microservices
- 11.6 - 평균적인 서비스 배포 간격
- 1,079 - 1시간에 최대 배포 수
- 10,000 - 단일 배포를 받는 평균 호스트 개수
- 30,000 - 단일 배포를 받는 최대 호스트 개수
- 우리의 현실은..?
- 주간 정기 배포, 격주 정기 배포를 한다
- 배포의 횟수는 고객에게 주는 가치의 전달 속도와 같다!
- 그만큼 아마존이 대단하다는 것이다!
Microservice in Netflix
- Netflix 초기에는 Monolithic 시스템으로 개발하였다
- 2008년에 데이터베이스 장애가 있었고, 그 결과 3일간 모든 비즈니스가 정지하였다
- Netflix는 장애 이후, 모든 시스템을 AWS Cloud로 마이그레이션 하기로 결정
- Big Bang이 아닌 단계적으로 마이그레이션을 진행하였다
- 조금씩 서서히 진행된 마이그레이션으로 자연스럽게 시스템이 분할되고, Microservices 설계 및 구현이 되었다
- 2009년에 시작한 시스템 재설계/구현이 2011년에 완료되었다
- Cloud로의 마이그레이션은 7년간 진행되었다
- 현재 500개 이상의 Microservices로 구성되었다
Netflix OSS
- Cloud 환경 및 Microservices 전환 중 다양한 문제에 봉착하였다
- Netflix는 여러 문제들을 해결하기 위해서 아키텍처 패턴 및 OSS를 개발하였다
국내 Microservices 사례
국내의 많은 기업들도 MSA로 전환한 사례가 나타나고 있다
Microservices Trend
국내/외 모두 꾸준히 MSA를 향한 관심이 높아지고 있다
Conclusion
- Microservices는 하나의 Application을 다수의 독립적인 Service로 구성하는 Architecture Style 이다
- Monolithic 시스템에서 발생되는 문제들을 해결할 수 있다
- Amazon, Netflix와 같은 Service Company가 기술의 발전을 주도한다
- 국내도 2018년 이후부터 많은 사례들이 발표되고 있다
728x90
'코드프레소 체험단 > MSA' 카테고리의 다른 글
[마이크로서비스 아키텍처 : 패턴과 핵심 기술] MSA 분리 전략 - Microservice 분리 프로세스 (0) | 2022.05.27 |
---|---|
[마이크로서비스 아키텍처 : 패턴과 핵심 기술] MSA 분리 전략 - 도메인 주도 설계 (0) | 2022.05.27 |
[마이크로서비스 아키텍처 : 패턴과 핵심 기술] MSA 분리 전략 - MSA 분리 전략 원칙 (1) | 2022.05.27 |
[마이크로서비스 : 패턴과 핵심 기술] MSA 도입을 위한 역량 및 필요조건 (0) | 2022.05.25 |
[마이크로서비스 아키텍처 : 패턴과 핵심 기술] MSA 개념과 주요 특징 (0) | 2022.05.18 |
댓글