How to provide a service, the method.

- Devops
- MSA (Micro Service Architecture)

Container Orchestration

1. Google - Kubernetes (a.k.a K8S)
> Confirmed by Google and it's Data Center

2. Docker - Swarm

3. Apache - mesos

4. VMware - Pivotal


5. Redhat - Openshift == Docker + Kubernetes + Redhat


Evolution

PM > VM > (Cloud) IaaS > LXC > Docker

In Business

Data Center is invested resources. So that is business does not want cost increasing.
Primary object of cost down is the 'Electricity'. Then the PM becomes that it is not very efficiency. And now VM is on.

Enterprise wants business, but many of SMB(Small Medium Business) does not.


데이터센터는 초기 구축 비용을 제외 하고는 시간이 지남에 따라 유지 보수를 해야하는 자원이다.

데이터센터 인프라 자체에서 비즈니스적인 수익이 창출되지 않는다. 따라서 유지되는 비용을 줄이는 것이 최선이고, 그 우선순위가 가장 높은것이 전기 소모다.  비용적인 측면에서 PM은 그다지 효율적이지 않다는 결론이 나왔고, VM이 도입 된 것이다.


대기업은 비즈니스를 원하지만, 대부분의 중소기업은 그들이 만드는 흐름에 맞출 뿐 이다.


Microsoft supports Docker native now.


Maintenance

>HW: Parallel process, duplex

>SW: TCP/IP to Restful to NW distribution. Application distribution(MSA)


- Server virtualization

- Container: Application platform virtualization. Orchestration, automation, easy to manage (compare with VM).


IaaS and PaaS must have SDN


PM vs Container


-Interact VM kernel and Host Kernel brings resource issue that indicates performance.

-Distributed deployment issue brings network problem

-Host kernel updated or application code edit could be a problem

-VM OS resource also needed

>> Monolithic Architecture

>> Need to scale-up not a scale-out.


+Native structure brings performance enhancement

+App isolation via namespace(linux kernel function)

+Without guest OS > OS system configuration without kernel

+Host subordinate kernel

-If kernel is down, affect on all of applications

=Uusing cgroups(control groups) to limit the host's resources


Docker container: LXC + Distributed Deployment and Management Concepts

LXC is OS container as a light weight VM. One application in one container.


리눅스 컨테이너는 경량화된 VM이라고 보면 된다. 도커 컨테이너에서 1개의 어플리케이션은 1개의 컨테이너에서 사용한다.



Orchestration

IaaS based + SDDC(Software Defined Data Center which means programming engaged)


'Cloud > Docker - PaaS' 카테고리의 다른 글

Docker 개념  (0) 2018.05.24

Docker

https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html


-컨테이너 기반 오픈소스 가상화 플랫폼(LXC 기반)

-기존 OS 가상화 방식의 전가상화에서 CPU 가상화 기술(HVM)을 이용한 KVM과 반가상화 방식의 Xen 등장. 성능 문제 개선을 위해 프로세스 격리 방식 등장

-도커의 기본 네트워크모드는 Bridge 모드로 약간의 성능 손실이 존재

-libcontainer 자체 기술 사용

-이미지: 컨테이너 실행에 필요한 파일과 설정값등을 포함하고 있는 것

-레이어 저장방식으로 파일이 추가/수정 되면 새 레이어 생성하며 전체를 다시 다운받지 않고 새 레이어만 다운.

-layer는 Read only 방식이며 하나의 파일 시스템으로 사용

-이미지는 url 방식으로 관리



Concepts

Platform for developers and sysadmins to develop, deploy, and run applications with containers.

Containerization: The use of Linux containers to deploy applications.

Containers

 -Flexible: Even the most complex application

 -Lightweight: Leverage and share the host kernel

 -Interchageable: Deploy updates and upgrades

 -Portable: Build locally, deploy to the cloud, and run anywhere.

 -Scalable: Increase and automatically distribute container replicas.

 -Stackable: Stack services vertically.

'Cloud > Docker - PaaS' 카테고리의 다른 글

PaaS: Container  (0) 2018.06.18

클라우드 - Public, Private

https://blogs.msdn.microsoft.com/eva/?p=1363


http://d2.naver.com/helloworld/387756


Krane : Crane + Kakao

Open Stack based Private Cloud of Kakao


https://www.slideshare.net/openstack_kr/openstack-days-korea-2016-track1-5000vm


https://www.slideshare.net/songaal/paa-s-mesosmesosphere


cloud computing

클라우드는 분산 컴퓨팅 시스템을 지칭하는 말로, 전화망 또는 인터넷 망들을 도식화 했을 때 

거대한 네트워크가 마치 구름모양처럼 보이는 것에서 유래된 용어이다.

클라우드 컴퓨팅이란 개념은 컴퓨팅 자원을 마치 공공 시설을 사용하는 것처럼 생각한 한 컴퓨터 과학자에게서 시작 되었다.

초기에는 SaaS에 집중되어 나타났지만 2000년대 초반 이후 PaaS, IaaS로 영역이 넓혀졌다.


SaaS, PaaS, IaaS는 Software Oriented Architecture인데 계층적 구조를 가지고 있지만 그 경계가 명확하지는 않다.

전체적인 서비스 환경을 도식화 해보면 이러한 모양이 나온다. 기존의 On-premised 환경으로 우리 센터도 이에 해당된다.

사용자가 직접 관리하는 영역에 따라 나뉘는데,

HW적인 부분(또는 OS 까지)을 클라우드 서비스 제공자가 관리하는 것이 Infrastructure as a Service 이다.

Platform as a Service는 HW적인 것 부터 Middle ware 단 까지 관리해주는 형태이며, Software as a Service는 모든 계층을 서비스 해주는 형태를 

말한다.

대표적인 예를 들면, IaaS는 KVM, Hyper-V, VMware ESXi 등 가상화 Hyperviser가 있고


SOA에서 HW는 기본적으로 가상화 형태로 제공되며 클라우드의 가장 큰 장점이며 존재 이유라 생각한다. 기존 On-premised 형식의 

Legacy 시스템 보다 유연하게 Scaling이 가능하기 때문에 효율적으로 컴퓨팅 자원을 활용할 수 있다. LXC (Linux Container)와 Docker도 

중요한 개념이라 할 수 있다.

가상화라고 대부분 전가상화로, VM


또한 클라우드는 Cloud Service Provider 주체에 따라 크게 Private, Public, Hybrid로 나뉜다.


Public cloud와 private cloud의 가장 큰 차이점은,

-미터링 (과금)

-외부에서 API 통신을 통한 접근 여부


———————


오픈스택은 거대한 컴퓨팅 풀(컴퓨트 자원, 스토리지, 네트워크 등)

을 컨트롤하는 클라우드 운영체제이다.

웹 인터페이스 대쉬보드를 통해서 관리되는 각 서비스 들은 관리자를 통해

사용자들에게 공급되는 자원을 컨트롤된다.


horizon 또는 직접 API 호출을 통해 각 컴포넌트를 조작하는데 모든 과정에 keystone 인증 방식이 사용된다


오픈소스 기반 클라우드 운영체제


자체 구축 Infrastructure

Sensitive Data

Supporting Tools (Development / Deployment)


Components

-Horizon : Web interface dashboard

-Keystone : Identity Service. Authentication for log in to infrastructure and 

authorization for identify rights to do or use a particular service.

-Nova : Compte

-Glance : Image storage

-Swift : Object storage

-Neutron : Network as a Service

-Cinder : block storage

-Heat : Ochestration

-Celometer : billing or metering kind of a service


IDC 등 오픈스택 대령 설치 시 사용하는 오픈소스 Chef, Puppet

Packstack - For Openstack testing environment


It can be installed on physical node or virtual machine.


This time, it will be on the Vmware VM named 'packstack'.


First, visit here: http://rdoproject.org and follow quickstart.


When you encountered this message:


 ERROR : No module named pkg_resources


You can fix this error with installing setuptools in python environment.

curl https://bootstrap.pypa.io/ez_setup.py | python

※ What is setuptools?

 It is a module of python and is used by 'pip', and 'easy_install'.


ref: https://stackoverflow.com/questions/7446187/no-module-named-pkg-resources



+ Recent posts