본문 바로가기
IBM - old/IBM Bluemix

[Bluemix]Microservices에 대한 간단한 소개

by freeman98 2017. 2. 25.

Microservices에 대한 간단한 소개


마이크로 서비스는 Continuous Integration and DevOps가 수행되는 시스템을 위해 생성된 현대적인 아키텍처입니다.


어플리케이션을 단일 기능을 가진, 잘 정의된 인터페이스를 가진 형태로 분할하는 엔니지어링 방식으로, 이를 통해 각각의 단일 기능의 어플리케이션(Microservice)가  서비스에 대한 전체 라이프사이클(개발 및 운영)을 주도하는 작은 팀에 독립적으로 배포 되고 운영되는 방식을 의미합니다.


마이크로서비스는 사람과 조직간의 커뮤니케이션을 최소화하고, 변경 범위와 이에 대한 리스크를 최소화 함으로써  딜리버리를 가속화 합니다.

Microservices : 어플리케이션 아키텍처 스타일

  • 어플리케이션은 여러개의 독립적인 Microservice들로 분할 
  • Microservice는 자체 비즈니스 로직 및 데이터 저장소를 관리
  • Microservice는 API를 통해 외부의 데이터에 액세스
  • 지리적으로 다른 Microservice간에 캐싱 사용

Monolithic vs. Microservices



마이크로 서비스는 기술과 마찬가지로 팀 프로세스와 조직에 관한 것입니다. 실제로, 팀이 Node.js, Go, Scala, Java ™ 등 다른 스택을 사용하고, 이러한 마이크로 서비스의 가장 큰 장점 중 하나는 목적에 가장 부합하는 기술 스택에 따라 각 마이크로 서비스에 대한 기술 결정을 내릴 수 있다는 것입니다.


또한 마이크로 서비스를 사용하면 팀별 별도 배포 일정을 제어 할 수 있으며, 팀은 각각 지속적인 배송을 통해 마이크로 서비스를 개선시키는 데 주력 할 수 있습니다. 단 강력한 Delivery Pipeline 환경이 제공되지 않은 경우 마이크로 서비스 시스템을 사용하지 마십시오.


Microservices의 가치(Benefits)- 개발자 측면

  • 기능을 유지보수 하거나 추가 용이 : small code
  • 기존 기술 또는 최적의 언어 사용 : 팀별 각각 최적의 기술 선택
  • IDE의 배포 시간과 로드 시간 향상
  • 디버깅이 보다 쉽움
  • 팀별 각 서로 독립적인 작업 가능
  • 팀의 독립성을 보장 : 설계에서부터 개발, 배치, 운영 및 폐기까지 자율권
  • 병목 현상을 쉽게 조정가능

이러한 Microservice를 적용/운영할 수 있는 플랫폼으로 Bluemix가 강력하며, 아래 Bluemix DevOps에서 제공하는 서비스들을 활용하여 개발합니다.


https://console.ng.bluemix.net/catalog/?category=devops



그리고 IBM Architecture Center - Microservices 참조 아키텍처를 참고하여, 각자의 환경에 적합한 아키텍처를 구성할 수 있습니다.


https://www.ibm.com/devops/method/content/architecture/omnichannelArchitecture



댓글