도커

도커 예를 들어, Node.js로 웹 서버 및 웹 서버 서비스를 만들었다고 할 때, 나의 운영체제와 Node.js 버전 및 DB 버전에서 코드가 정상적으로 작동할 수 있습니다. 하지만, 사람마다 사용하고 있는 운영체제도 다 다르고 런타임 환경도 다르고 사용하고 있는 DB의 버전도 다르며 의존성 및 여러 가지에서 차이가 발생합니다. 단순한 차이 때문에 전체 애플리케이션을 구동하기 위해 버전을 일일이 다 맞추어야 하고 운영체제도 고려해야 하는 등 복잡한 과정이 잇따릅니다. 여기서 도커가 등장합니다! 도커는 하나의 컨테이너로 우리가 만든 애플리케이션과 시스템 도구 및 환경설정, 의존성 등을 한 데 담아서 어떠한 PC에서든 동작할 수 있도록 해줍니다. 이렇게 도커 컨테이너를 사용하면, 애플리케이션 구동의 런타임..
마이크로 서비스란? aws - 소프트웨어가 잘 정의된 API를 통해 통신하는 소규모의 독립적인 서비스 redhat - 마이크로서비스란 소프트웨어를 구축하기 위한 아키텍처이자 하나의 접근 방식으로, 애플리케이션을 상호 독립적인 최소 구성 요소로 분할합니다. 마이크로서비스에서는 모든 요소가 독립적이며 연동되어 동일한 태스크를 완수합니다. 위의 정의에서 볼 수 있듯이, 마이크로서비스는 기존의 모든 것을 하나로 통합하는 모놀리식 아키텍처와 달리 애플리케이션을 구성하는 서비스들이 서로 독립한 상태로 존재하는 것을 마이크로서비스라고 하며, 이 마이크로 서비스들을 종합적으로 사용하는 인프라 구조를 마이크로서비스 아키텍처라고 하며 이렇게 설계되는 애플리케이션을 마이크로서비스 애플리케이션 이하 MSA라고 부릅니다. 마이..
인프라를 통한 서비스 설계의 구조는 크게 두 가지가 있다. 모놀리식 아키텍처와 마이크로서비스 아키텍처이다. 모놀리식 아키텍처 모놀리식 아키텍처는 하나의 목적을 가진 서비스나 애플리케이션에 여러 가지 기능이 통합되어 있는 아키텍처를 의미한다. 여러 가지가 통합된 상태로 결합한 구조이기 때문에 단순하게 개발할 수 있고 개발 초기나 소규모 환경에서 설계하기 좋다는 장점이 있으나 규모가 커지면서 유지 보수가 까다로워 진다는 단점이 있다. 경제로 치면 규모의 불경제가 발생했다고 생각하면 된다. 규모가 커지면서 오히려 유지 보수 들어가는 비용, 관리 비용 등으로 효율이 떨어지는 것이다. 마이크로 아키텍처 마이크로 아키텍처(MSA, Microservices Architecture)는 각 서비스가 독립된 상태에서 개별..