6/13/2016

Kubernetes란 무엇인가?

 


Kubernetes는 구글에서 공개한 리눅스 컨테이너 관리 시스템입니다. 일반적으로 Docker Orchestrator라고 표현합니다. 얼마전 우리 회사에서 Kubernetes를 활용한 프로젝트가 있어서, 궁금하기에 조사해봤습니다. Docker를 이용하는 Machine이 Single일 경우에는 Orchestration에 대해서 고민할 필요가 없습니다. Docker client의 command를 사용하여 Single host에 대해서만 관리를 하면 되기 때문이죠. 저도 개인적으로는 이렇게 사용하고 있습니다.

하지만, 두대 이상의 Host상에서 Docker가 존재할 경우에는 얘기가 달라집니다. 사용자가 요청한 Docker 컨테이너를 어느 Host에 설치해야할까? 라는 고민이 시작됩니다. 결국, Manual하게 Resource에 여유가 있는 Host를 선택해서 컨테이너를 생성하게 됩니다.

만약에 Host가 50대 혹은 1000대라면 어떻게 해야 할까요? Manual하게 관리하기가 쉽지 않겠지요? 어느 Host에 어떤 Docker container가 있는지, LB는 어떻게 해야 할지, 이미지 동기화 처리는 어떻게 해야 하는지.., 등등의 고민을 해야 하고 이런 작업들이 Manual하게 이뤄지게 됩니다. 결국, 관리하는 사람은 단순 노동에 지쳐서… 이직을 결심할지도 모릅니다.

Kubernetes는 이런 힘든 작업을 누군가가 대신해주면 어떨까? 라는 고민에서 시작되었습니다. 물론 Kubernetes말고도 이런 프로젝트는 여러개가 존재합니다. (Swarm, Mesos ..,)

Kubernetes는 Multiple Host에서의 Docker Container를 관리하는 Container Orchestration이고 특징은 아래와 같습니다.

특징

  • Multiple Docker Pool
    • 사용자는 Docker Daemon의 대수를 알 필요가 없고, “N개의 Container가 필요하니 A이미지로 생성해줄래?”라는 명령만 내리면 Kubernetes가 Multiple Docker Daemon에 알아서 Container를 생성해줍니다.
  • 다른 서버 Container와의 Interface
    • Docker Container는 Docker Daemon이 있는 Host내의 Private IP를 가지고 있는데, A 호스트의 Container와 B 호스트의 Container가 서로 통신을 하기가 어렵습니다.
    • 위의 문제점을 Kube-proxy, flanneId의 sub tool로 가능하게 해줍니다.
  • Container fail 처리
    • Container가 fail 상태일 경우, 동일한 Container를 생성해서 지속적인 서비스가 가능하게 합니다.
  • Load Balance
    • Round-robin 형태의 로드밸런싱을 제공하여 Cluster로 묶인 Container에 접근이 가능하게 해줍니다.

주요 구성 요소

Cluster

  • Application Container들이 배치되고 실행되는 컴퓨팅 자원

Pod

  • Application 실행에 필요한 Container 집합
  • Lifecycle이 같은 Container 그룹
  • Deploy 및 실행의 최소단위

Replication Controller

  • pod들의 Lifecycle 관리자
  • pod들의 health status를 체크

Service

  • pod 집합을 대표하는 이름 (e.g. IP address)
  • 로드밸런서

Label

  • pode들의 Grouping/조직화를 위해 관리하는 key-value 메타 데이터

보다, 자세한 사항은 아래를 참조

http://kubernetes.io

5/01/2016

oneM2M Interop 2

10–13 MAY 2016, SEONGNAM-CITY, SOUTH KOREA

The purpose of this event is to verify the primitive’s interoperability as defined in the oneM2M standards and to check end-to-end functionality on oneM2M interfaces Mca and Mcc.The implementations will have to support CoAP, HTTP and MQTT protocol binding.Interoperability test scenarios from TS-0013 (interoperability testing) are proposed to participants. The testing ae based on the:

  • oneM2M Release 1 standards TS-0001 (Functional Architecture)
  • TS-0004 (Service Layer Core Protocol)
  • TS-0008 (CoAP Protocol Binding)
  • TS-0009 (HTTP Protocol Binding)
  • TS-0010 (MQTT Protocol Binding)

The Interop Event may also include Conformance Testing Tool Demo in order to introduce and help to understand the oneM2M conformance testing. This Interoperability event will offer test sessions where companies can assess the level of interoperability of their implementations and verify the correct interpretation of the oneM2M standards.Please note that the interoperability results are not to be public as the event is covered by a Non-Disclosure Agreement.This activity is supported by the Korean Ministry of Science, ICT and Future Planning and the European Commission.

Source: http://www.etsi.org/news-events/events/1045-onem2m-interop-2

4/21/2016

PaaS Trends

PaaS (Platform as a Service)는 Runtime환경과 Backend service 관리를 자동화한 개념이다.



PaaS에 대한 제품은 여러가지가 존재하며 아래는 우리가 알고있는 제품들이다.



PaaS는 Deployment의 고민으로 부터 등장하기 시작했다.


PaaS는 iPaaS(Integration PaaS)와 aPaaS(Application PaaS)로 구분되며 각 역할은 아래와 같다.


Gartner에서 정의한 iPaaS관련 Reference Architecture 모델의 구성요소는 크게 6가지로 나뉜다.

  • Integration Platform Services
  • Governance Platform Services
  • Collaboration, Integration Flow Marketplace, Self-Services
  • Monitoring, Management and Platform Administration Services
  • Cloud Foundation Services
  • Development and Life-cycle Management Platform Services

aPaaS의 경우에는 Cloud Foundry 기반으로 작성했다.

플랫폼은 확장성이 좋아서 한 서비스 혹은 여러 서비스를 수용 할 수 있게 해준다. 플랫폼은 효율적이며 다시 사용할 수 있는 구조를 제공한다. 플랫폼이 없다면 서비스를 개발 할 때 마다 필요한 모든 것을 매번 다시 개발해야 할 것이다. 이런 방식은 비효율적일 수 도 있다.

PaaS와 같은 플랫폼은 공통적인 기반 서비스/요소를 가지고 있다. GE Predix와 같은 플랫폼도 이런 서비스를 제공하면서 새로운 서비스를 시장에 빨리 출시할 수 있도록 도와준다. 즉, 고객을 위한 서비스를 빨리 제공할 수 있다는 의미이다.

4/04/2016

Industrial Internet of Things

 IoT(Internet of Things)가 B2C영역의 일반 소비자 중심이라면 IIoT(Industrial Internet of Things)는 B2B영역에 속하는 산업용 IoT라고 할 수 있다.

B2C영역의 IoT는 웨어러블 피트니스, 스마트홈, 무인 자동차와 같이 최종 소비자에게 편의성을 제공하는 기기들이 떠오르며 해당 유즈케이스가 아직까지는 우리 생활에 크게 와닿지 않는 부분들이 존재한다.

반면, B2B영역의 IIoT는 스마트 도시, 스마트 농업, 스마트 공장, 스마트 그리드등 산업계내에서 유용한 혁신들이 일어나고 있다. IIoT의 핵심은 다수의 산업 시스템들이 서로 연결되어 여기서 발생하는 활동 데이터를 분석함으로써 성능과 효율을 개선하는데에 목적을 가지고 있다.

IIoT라는 개념을 가장 먼저 도입한 기업은 GE이다. GE는 가전제품, 의료기기 및 항공기 엔진등을 생산하는 세계적인 제조업체이며 이 플랫폼을 통해 자사의 관리자산인 센서에서 유입되는 대용량 데이터를 수집, 저장, 분석, 모니터링을 하고 있고 다른 비즈니스 파트너들에게 공개하였다.



GE의 Predix는 IIoT를 세 계층으로 구분하고 있다.

  • Connectivity : 자동화 공정에 존재하는 수 많은 센서, 액츄에이터 및 디바이스와 같은 물리적 기기들을 담당하는 계층. 데이터 발생의 근원지
  • Cloud Services : 디바이스에서 생성되는 데이터의 통합, 분석, 처리 역할을 담당하는 계층. Predix는 Cloud Foundry와 같은 PaaS 기반의 Cloud Service를 제공
  • Applications : 데이터에 대한 시각화를 담당하는 계층

앞으로 다가오는 시대는 우리가 누리고 있는 전기나 수도처럼 사물이 연결될 것으로 보인다. 다음에는 GE의 Predix에 대해서 자세히 기술하고자 한다.

3/06/2016

GE Predix 추진 전략

 


GE는 AT&T, Cisco, Intel과의 Partnership을 체결하고 산업 사물 인터넷 플랫폼(IIoT) Predix를 발표했습니다.

IoT Value Chain중 Devices에 특화되어 있던 GE는 아래의 기업들과의 파트너쉽으로 chain을 구성 했습니다.

  • AT&T: 유/무선 통신, WiFi 등의 접속 인프라 제공
  • Cisco: 네트워크 분야 협력, Oil&Gas, 교통, 헬스케어, 전력 분야까지 확산된 산업군에 걸친 협력을 강화
  • Intel: Predix 플랫폼의 가상화, Cloud, 표준 인터페이스 기술 개발
  • Pivotal: Pivotal의 CloudFoundry를 활용, 1억 달러 규모의 투자

Predix는 네트워크에 연결된 Device/Sensor를 원격 관리 할 수 있는 플랫폼입니다. GE는 Predix를 기반으로 GE가 가진 모든 시스템과 장비에 적용을 하고 있습니다. Predix의 주요 특징을 보면,

  • M2M 최적화 플랫폼: Machine과 플랫폼간 연동이 수월하고, 수집된 정보를 스스로 분석 할 수 있도록 합니다.
  • 산업 빅데이터: 모든 Sensor/Device에서 수집된 대량의 데이터를 기반으로 Insight를 추출하여 Reporting 합니다.
  • PaaS 기반의 Architecture: 플랫폼을 이용하는 개발사/고객이 수월하게 적용 할 수 있도록 SDK 및 Sample Application등을 제공합니다.
  • 강력한 보안: Machine, Network, Cloud 전반에 걸쳐 강력한 보안을 적용했습니다.

GE는 Predix를 기반으로 Energy, Healthcare, 항공, 교통등등의 약 24개의 제품에 IoT 기술을 적용중입니다. STLuke’s 병원의 경우 환자 및 의료 장비의 데이터를 분석/관리한 결과, 병동의 회전주기가 50분정도 단축되는 효과가 발생했다고 하고 브라질의 Gol 항공사는 탄소 소모량을 최적화하는 제트 엔진 모니터링 솔루션을 도입한 결과 약 5년간 9천만 달러의 비용을 절감했다고 합니다. 이러한 Reference를 기반으로 GE는 공격적 투자 및 플랫폼 개방 전략을 펼치고 있습니다. Predix를 개발하기 위해 Pivotal에 투자하고 Taleris라는 조인트 벤처도 설립했습니다. 그리고 파트너사 및 개발사에게 플랫폼을 개방하여 IIoT의 생태계를 조성하고 있습니다.

Predix를 이용한 실시간 모니터링을 통해 Down time 최소화에 대한 고객사의 유지비, 투자비를 절감 시키고 IIoT분야에서 매출 증대 효과를 기대하고 있습니다. 산업용 장비 제조의 강자인 GE는 이렇게 소프트웨어 회사로 거듭나고 있습니다.

3/02/2016

불쾌한 브레인스토밍의 6가지 방법

이 글은 “유쾌한 브레인스토밍의 7가지 비밀”에 상반되는 내용이다. 브레인스토밍은 좋은 아이디어를 취하기 위한 활동이다. 하지만 자칫 잘못하면 시간만 허비하게 된다. 다음은 경계해야 할 브레인스토밍 방법이다.

1.(반드시)보스가 먼저 말한다.

세상에 존재하지 않은 아이디어를 내놓으시오. 이런 배경 설정에 마주치면 주눅이 들어 말이 이어지지 않는다.

2.참여 인원 모두에게 차례가 돌아간다.

시계 방향으로 돌아가며 각자 2분 동안 본인의 아이디어를 말한다. 이런 방식은 고통스럽다. (민주적이긴 하지만…)

3.전문가만 발언한다.

브레인스토밍에서는 전문가만 찾지 마라. 실무자에게 발언 기회를 주자.

4.특별한 장소에서 진행한다.

창의력을 발산 할 수 있는 장소를 만든다.

5.진지한 대화만 한다.

황당무계한 아이디어들이 도움이 된다고 생각하자. 어떤 말을 해도 좋다. 웃고 즐기는 가운데 좋은 아이디어가 나온다.

6.메모에 대해 집착한다.

모든 내용을 메모하려 하지 말자. 당신에게 필요한 것만 취하여 스케치하라.

  • 유쾌한 이노베이션 中