Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 공식적인 정의는 없지만, 다음 공감대가 있을 뿐(Microservice in 위키피디아)
    • 각 서비스간 Network를 통해, 보통 HTTP를 통해
    • 독립된 배포 단위
    • 각 서비스는 쉽게 교체 가능
    • 각 서비스에 적합한 프로그래밍 언어, 데이터베이스, 환경으로 만들어 진다.
    • 서비스는 크기가 작고, 상황에 따라 경계를 정하고, 자율적으로 개발되고, 독립적으로 배포되고, 분산되고, 자동화 된 프로세스로 구축되고 배포된다.
  • 마이크로서비스는 한 팀에 의해 개발할 수 있는 크기가 상한선이다.
    • 절대로 3~9명의 사람들이 스스로 더 많은 개발을 할 수 없을 정도로 커지만 안된다.
  • 마이크로서비스는 아직까지 아이디어 수준에서 크게 벗어나 있지 않다.
    • 다양한 산업분야에서 폭넓게 적용되고 있지만 그것이 좋은지 나쁜지는 시간이 더 지나봐야 알 수 있다. - 조쉬 롱, 커니바스타니, 비보탈

아마존의 선택 (2002년 제프 베조스)

  • 모든 팀들은 데이터와 기능드을 기능들을 서비스 인터페이스로 연결시켜라.
  • 팀들은 이 인터페이스르 인터페이스를 통해서만 연락해야 한다.
  • 다른 어떤 커뮤니케이션 방법도 허용되지 않는다.
    • 직접 링크를 보내거나 다른 팀의 스토리지에 직접 액세스 해도도 안 되며, 공유 메모리나 백도어 같은 것도 안된다.
    • 모든 커뮤니케이션은 네트워크를 통한 서비스 인터페이스로 이루어져야 한다.
  • 어떤 기술을 쓰든 상관없다.
    • HTTP, corba, Pubsub, 독자프로토콜 등등. .
  • 모든 서비스 인터페이스는 예외없이 외부에서 이용 가능하게 만들어져야 한다.
    • 팀들은 외부 개발자들이 인터페이스를 이용할 수 있게 해야 한다는 것이다.
    • 예외는 없다.
  • 2006년 아마존 웹 서비스 (AWS)릴리즈
    • 내부적으로 사용한 것과 똑같은 플랫폼

...