PowerDNS 

컨테이너 기반의 PaaS에서는 다양한 서비스들이 네트워크로 연결된다. 이들 서비스를 연결해서 완성된 애플리케이션으로 만들기 위해서는 각 서비스들이 서로를 discovery 할 수 있어야 한다. 가장 쉬운 방법은 서비스에 도메인 이름을 붙여주는 것이다. 예를 들어 워드프레스 애플리케이션을 실행한다고 가정해 보자. 워드프레스를 실행하기 위해서는 PHP+Apac...

NginX를 이용한 static 컨텐츠 서비스 와 캐시 설정 

NginX를 리버스 프락시 서버로 사용하는 이유는 다음과 같다. 1. 로드밸런싱 1. 유저 요청에 대한 선 처리 1. 캐싱 이중 3번, Nginx를 이용해서 스태틱 페이지를 캐싱해서 서비스하는 방법을 테스트한다.웹 서비스의 성능을 높일 수 있는 가장 확실하고 손쉬운 방법은 컨텐츠 캐시다. 요즘 웹 서버는 매우 바쁘다. 유저의 요청을 받아서 데이터베이스를...

Mesos 

Mesos는 분산 시스템 커널(distributed systems kernel)이다. 뭔가 굉장히 복잡해 보이지만, 기본 개념은 간단하다. 네트워크로 묶여 있는 여러 개의 컴퓨터의 자원 즉, CPU, 메모리, 디스크 등의 자원을 하나로 묶어서 resource pool로 만들어서 마치 하나의 컴퓨터 처럼 보이게 하겠다는 거다. 그리고 커널로서 작동하기 위한 ...

도커와 가상화 

베어메탈(bare metal), 가상 머신 기반의 가상화(Virtualization) 과 비교해서 컨테이너 기술을 설명한다. 이들 기술과 비교해서 컨테이너 기술이 가진 특징이 무엇인지, 어떤 장점때문에 컨테이너 기술을 사용하는지 그리고 어떤 단점을 가지고 있는지 살펴 본다.하드웨어를 다루는 엔지니어가 아닌 소프트웨어 개발자에게 베어메탈이란 다소 생소한 용어...

가상화와 도커에 대해서 

이제 Docker는 인터넷 서비스 산언에서는 사실상 표준입니다. 간단한 개발 환경 구축에서 부터 시작해서, Docker swarm을 이용한 서비스 좀 더 나아가서 ECS와 Kubernetes와 같은 컨테이너 오케스트레이션 툴을 이용하여 컨테이너 기반의 인터넷 서비스 플랫폼을 구축/운영하기도 합니다. 몇 개의 챕터에 걸쳐서 가상화, docker에 대한 개념,...

Zookeeper를 이용한 분산코디네이터 구성 

본격적으로 주키퍼(zookeeper)를 활용 해야 할 때가 왔다. 활용전에 주키퍼의 기본 기능들을 살펴보려 한다.설치 환경은 다음과 같다. VirtualBox 주키퍼 클러스터 주키퍼 노드 아래와 같이 구성한다.3개의 주키퍼 노드로 주키퍼 클러스터를 만든다. 주키퍼 노드의 이름은 zk-01, zk-02, zk-03이다. 테스트를 위해서 두 개의 노드를 준비...

Docker storage의 거의 모든 것 

거의 모든 것이라고 하니 좀 너무 나간 것 같은 느낌이 든다. 그냥 이것 저것 다뤄 볼려고 한다. 다룰 내용은 다음과 같다. Docker에서 제공하는 스토리지 백앤드(backend)의 종류와 특징들 스토리지 백앤드간의 장점과 단점들 확장성 있는 스토리지 백앤드의 구성을 위한 아이디어들 테스트 환경은 다음과 같다. 개인 데스크탑 PC 우분투 리눅스 서...

OpenVSwithc에서의 QoS Policing 

멀티테넌트를 지원하는 컨테이너 기반의 SaaS 환경을 만들고 있다. 하나의 컨테이너 인스턴스에 여러 개의 SaaS 컨테이너가 네트워크 자원을 공유두고 경쟁을 한다. 따라서 SaaS 별로 트래픽을 제어 할 필요가 있다. 의 QoS Policing를 이용해서 트래픽 대역폭을 제어하는 방법을 살펴보려 한다.VirtualBox로 VM을 하나 만들어서 여기에 doc...

Jenkins로 go 빌드 환경 구축 

Jenkins는 CI(Continuous Integration)툴이다. Git, SVN과 같은 형상관리 툴과 연동을 해서, commit(혹은 Push)한 코드를 읽어와서 빌드하고 테스트 하고 배포를 위한 패키지를 만드는 일을 한다.최근의 소프트웨어 개발 방법론의 트랜드는 "애자일"과 "데브옵스(DevOps)로 대표 할 수 있다. 이들 개발론들은 개발과 배포...

Dnsmasq로 Service Discovery System 만들기 

Dnsmasq는 작은 규모의 네트워크에서 DNS, , 네트워크 부트 등을 서비스하기 위해서 사용하는 소프트웨어다. 가볍고 설정이 간단하기 때문에 데스크탑 가상화 소프트웨어, 핫스팟(hotspots), 스마트폰 등에 널리 사용하고 있다. 또한 가볍고 분산하기가 쉬워서 네트워크 가상화나 같은 산업 영역에서도 사용하고 있다. DHCP의 서브시스템인 DHCPv4,...