Kubernetes

[컨테이너 인프라 환경 구축을 위한] 쿠버네티스/도커

운덩하는 개발자 2023. 4. 5.
반응형

온프레미스 : 엔지니어가 개발 환경을 만들어 제공하면 사용자(개발자)는 그에 맞는 도구를 모두 설치해야했던 환경 - 고전적 방법

IaaS : 돈을 넣으면 자판기에서 미리 준비된 상품이 나오듯 이미 구성된 환경을 사용자가 필요에 따라 선택하고 조합해서 사용할 수 있게 제공되는 서비스로서의 인프라

인프라 환경이 빠르게 갖춰지는 만큼 소프트웨어도 빠르게 개발하고 적용되길 고대함 -> 애자일 방법 대두

 

폭포수 방법론(기존 개발 방법론) : 계획 단계에서 설계와 환경을 완전히 구비한 후 예정된 목표를 달성해 나아감

애자일 :  일정 주기를 정한 다음 해당 주기에 맞춰 요구 사항을 만족하는 프로토타입을 만들고 이를 개선해 나가며 최종 목표에 점진적으로 접근

 

애자일 방법론 시대에 맞춰 인프라는 계속해서 변화 중, 사용자가 요구하는 인프라를 즉각 제공하는 주요 기능은 유지하면서, 사용자마다 독립적인 환경에서 개발해도 모두 동일한 결과를 얻을 수 있고 개발된 소프트웨어의 성능을 보장하며 인프라의 가용 리소스를 최대한 확보할 수 있는 그런 인프라 환경으로 변화 중

 

모놀리식 아키텍처 : 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 여러 기능이 통홥돼 있는 구조, 소프트웨어가 하나의 결합된 코드로 구성되기에 초기 단계에서 설게하기 용이, 개발이 좀 더 단순하고 코드 관리가 간편, But 서비스를 운영하는 과정에서 수정이 많을 경우, 어떤 서비스에서 이뤄진 수정이 연관된 다른 서비스에 영향을 미칠 가능성이 커진다, 또한 서비스가 점점 성장해 기능이 추가될수록 처음에는 단순했던 서비스 간의 관계가 매우 복잡해질 수 있다.

 

마이크로서비스 아키텍처 : 시스템 전체가 하나의 목적을 지향하는 바는 모놀리식과 동일하나, 개별 기능을 하는 작은 서비스를 각각 갭라해서 연결하는데서 큰 차이를 보여준다. 보안, 인증 등과 관련된 기능이 독립된 서비스를 구성하고 있으며 다른 서비스들도 독립적으로 동작할 수 있는 완결된 구조이다.

 

이런 구조는 개발된 서비스를 재사용하기 쉽고, 향후 서비스가 변경됐을 때 다른 서비스에 영향을 미칠 가능성이 줄어들며 사용량의 변화에 따라 특정 서비스만 확장할 수 있다. 따라서 사용자의 요구사항에 따라 가용성을 즉각적으로 확보해야 하는 Iaas 환경에 적합, 하지만 복잡도가 높고 각 서비스가 유기적으로 통신하는 구조로 설계되기에 네트워크를 통한 호출 횟수가 증가해 성능 저하 발생에 영향을 줄 수 있다.

 

 

 

반응형

댓글