본문 바로가기
코드프레소 체험단/MSA

[마이크로서비스 아키텍처 : 패턴과 핵심 기술] MSA 소개

by 의정부핵꿀밤 2022. 5. 16.
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의 진정한 태동은 산업계에서 시작되었다 - 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

댓글