본문 바로가기

개발자21

Docker(도커) 란 ? 일단 도커이미지가 너무 귀엽다. 도커란 무엇인가 ? 도커는 컨테이너 기반의 오픈 소스 가상화 플랫폼이다. 여기서 컨테이너란 다들 컨테이너 박스에 대해서 알고 있을 것이다. 배에 싣는 엄청 큰 박스인데 서버에서 얘기하는 컨테이너 역시 이와 비슷한 느낌으로 다양한 프로그램, 실행환경을 컨테이너로 추상화하고 동일한 인터페이스를 제공하여 프로그램의 배포 및 관리를 단순하게 해준다. (DB서버, MQ(MessageQueue) 등등..) 도커가 왜 나왔을까? 도커 이전에는 가상머신(VMware, VirtualBOx)등을 사용하여 호스트 OS위에 게스트 OS전체를 가상화하여 사용하였다. 가상머신은 편하지만 속도가 느리고, 가상머신 자체는 완전한 컴퓨터이기 때문에 항상 게스트 OS를 설치해야하며, 이미지 안에 OS가 .. 2021. 5. 3.
CI/CD 란 CI (Continuous Integration)란 여러 개발자가 작성하거나 수정한 소스를 지속적으로 통합하고 테스트하는 것을 뜻한다. CD (Continuous Delivery/Deployment)란 개발, 통합, 배포, 릴리즈, 테스트를 자동화하여 지속적으로 배포하는 것을 뜻한다. 그래서 왜 CI/CD라는 말이 나오게 되었는가..? 프로그래밍을 공부하다보면 컴파일, 빌드, 배포라는 단어를 들어 보았을 것이다. 이 3개의 단어를 묶어서 간단한 예로 표현해 보겠다. 우리를 번역하는 사람이라고 생각해보자. 어느날 영문으로 된 책을 한글로 번역을 해 책을 새로 써야하는 일이 생겼다. 여기서 컴파일은 일단 영문으로 된 책을 한글로 번역하는 것이다. 그리고 번역한 글을 책으로 엮는 것이 빌드라고 할 수 있다. .. 2021. 4. 27.
메세지 큐 메시지 지향 미들웨어(Message Oriented Middleware : MOM) 은 비동기 메시지를 사용하는 다른 응용 프로그램 사이에서 데이터 송수신을 의미한다. MOM을 구현한 시스템을 메시지 큐 (Message Queue : MQ) 라고 한다. 프로그래밍에서 MQ는 프로세스 또는 프로그램 인스턴스가 데이터를 서로 교환할때 사용하는 방법이다. 이때 데이터를 교환할 때 시스템이 관리하는 메시지 큐를 이용하는 것이 특징이다. 이렇게 서로 다른 프로세스나 프로그램 사이에 메시지를 교환할 때 AMQP(Advanced Message Queuing Protocol)을 이용한다. AMQP는 메시지 지향 미들웨어를 위한 개방형 표준 응용 계층 프로토콜이다. 메시지 큐의 장점으로는 비동기(Asynchronous).. 2021. 4. 14.
메시징 시스템(Messaging System) 메시징 시스템이란 ? 간단히 설명 드리면, 메시징 시스템이란 로그 데이터, 이벤트 메시지 등 API로 호출할 때 보내는 데이터들을 처리하는 시스템이라고 생각하면 된다. 다들 MSA라고 개발자라면 한번 쯤은 들어봤을 단어이다. (MSA에 대해 잘모르신다면 구글링..) 분산 어플리케이션이 급격하게 증가하면서 이전에 발생이 적었던 동기화, 안정성, 확장성 그리고 보완 등에 문제가 발생하게 되었다. 이에 대한 한가지 해결책은 메시지를 통해 각 컴포넌트 사이의 결합성(coupling)을 약화시키는 메시징 시스템이다. 메시징 시스템은 분리된 결합되어 있지 않은 어플리케이션이 비동기적으로 신뢰성있게 통신할 수 있도록 해 준다. 메시징 시스템 아키텍처는 일반적으로 각 컴포넌트 사이의 관계를 클라이언트/서버 모델에서 피.. 2021. 4. 13.