istio, kubernetes, msa 간단 설명.

msa(MicroService Architecture)
예전 서버는 대체로 계정, UI, 로직이 하나의 프로그램에 구현되어 있었다. 이를 Monolithic Architecture 이라고 한다.
MicroService Architecture는 계정, UI, 로직을 다른 프로그램으로 구현하고 경우에 따라 머신도 나눈 것이다.


istio 
msa(MicroService Architecture)가 머신, 프로세스가 여러군데로 분산되어 있어 통신할 수 있는 수단으로 사용한다. 대체로 보안, 모니터링 등의 부가기능을 붙여서 사용한다.


kubernetes
바이너리, 라이브러리, OS설정 등을 컨테이너에 담아 일원화 하여 배포한다.
msa(MicroService Architecture)가 여러개의 단위로 나뉘어 개발되다 보니 일원화된 OS, 런타임 환경 구성에 많은 자원이 소모되게 된다. 이를 해결하기 위한 기술이다.


결론.
PC업계가 점차 한계산업으로 이행되어 고도화된 회사들은 글로벌한 거대한 서비스를 하게 됐다. 예로 구글, 애플, 아마존 등이 있다. 또한 IT기술의 대중화로 국가 서비스가 IT로 이뤄진다.
msa는 분산처리의 간편함으로 대용량 서비스를 원활하게 할수 있고 부차적으로 개발의 단순화, 유지보수의 단순화 등을 이뤄 서비스에 비지니스 적용이 신속하고 안정적으로 이뤄질수 있게 한다. 
msa로 구현된 서비스의 배포를 쉽게 하기 위해 kubernetes가 사용되고 MicroService간에 통신을 하기위해 istio가 사용된다.

msa, istio, kubernetes는 구글, 애플, 아마존, 국가서비스 같이 거대한 서비스를 하는데 적합한 기술이다. 구현하려는 서비스의 규모와 성격에 따라 선택하거나 일부분만 따로 선택해 사용할수 있다.

댓글

이 블로그의 인기 게시물

파이썬 vscode에서 자동 코드 정렬. Formatter.

Unity3D git 저장소에 올릴때 필요없는 파일 제외하기. gitignore

플러터(flutter) 개발 참고 사이트들.