Cloud 와 관련하여 검색하다가, DB Guide넷 에서 Andrew님이 Cloud 관련하여 강좌 하는 것을 읽게 되었다.
클라우드는 대학생때 잠시 접했으며, 잠시 심취하여 외계 생명을 찾는데에 나의 Resource를 제공하고,
그에대해 신기하여 외국 전문 저널??은 아니지만
중립자 관련하여 또 Resource 를 제공할 수 있다고 하여 제공하고자 찾아봤다.
하지만 그게 전부였다..
5년이 넘게 지난 지금 이제는 조금 더 깊게 개념을 잡아 나가고자 또 찾아서 정리해 봤다.
이 글은 Andrew님이 연재하는 강좌를 읽고 그것을 정리한 부분이다.
혹여 저작권 관련하여 문제가 발생하지 않고자 모두 오픈하는 바입니다.
Andrew의 Cloud 이야기 1~3#을 정리한 내용입니다.
1#
앤드류 - 클라우딩 (DB Guide Net) 정리
위키피디아 클라우드 정의
[클라우드 컴퓨팅은 IT 관련된 기능들이 서비스 형태로 제공되는 컴퓨팅 스타일
사용자들은 지원하는 기술 인프라스트럭처에 대한 전문 지식이 없거나 제어할 줄 몰라도 인터넷으로부터 서비스 이용 가능]
-> 필요한 서버들을 그때 그때마다 생성하고, 클라우드 서비스 사업자가 이 자원에 대해서 관리를 해 주기 때문에 지식이나 경험이 없는 사용자도 대규모 서비스를 손쉽게 사용이 가능(가상머신)
-> 더 많은 종류의 IT 자원들(서버 / DB 등)을 선택만 하면 바로 생성이 가능
서비스 업체에서 관리를 해주기 때문에 안정적인 서비스를 운영 기대
-> 클라우드의 가장 큰 특징인 자동화와 단명성 부분을 이용하지 못하는 것(클라우드 서비스는 자동으로 리소스를 관리할 수 있도록 API 제공
● 클라우드 자동화
[프로그램을 이용하여 언제든 서버를 만들거나 중지/삭제가 가능.]
ex) 사용자가 폭발적으로 늘어날 경우 새로운 컴퓨팅 리소스를 만들어 채워 넣음으로 서비스에 능동적으로 관리하며, 반대로 리소스가 필요 없을 경우 최소한의 리소스만 남겨 둠으로써 자원을 아낄 수 있음
-> 이전에는 간단한 스크립트 언어로 관리를 하였다면, 이제는 멀티 프로세스나 쓰레드(Thread)를 사용하고, 네트워크 프로그램을 사용해서 API를 사용할 정도의 실력이 필요
● 클라우드 단면성
[클라우드 공급자에 의해 서비스를 꺼버리거나 자연재해에 의해 파괴되어 문제가 발생 / 공급자에 의해 서비스가 좌지 우지 할 수 있음]
ex) 2012년 홍수로 인해 아마존의 데이터센터 중 하나가 작동 불능 상태
->클라우드에서 개발할 때에는 자신의 컴퓨팅 리소스가 사라질 수 있다는 것을 가정(IP/DNS 정보를 정적으로 지정은 피해야 함)
-> 내부적으로 코디네이터(Coordinator-동적)나 서비스 디스커버리(Discovery-정보를 찾는)를 중앙에 두고
다른 서버끼리는 이것을 통해 필요한 서버나 서비스의 정적인 정보를 조회
클라우드가 확장되면 될 수록 사용자의 개발 역량도 같이 향상이 되어야 하며, 그래야지 서비스가 커졌을때 규모 대비 적은 비용으로 유지가 가능
----------------------------------
#2
2014년 클라우드 현실
- 가트너의 신규 기술의 성쇠주기(2014)
hybrid cloud computing 과 cloud computing 에 대해 항목 표시
-> Cloud computing 은 사람들이 10년만에 클라우드라는 개념과 기술에 대해서 이해햐기 시작하였으며, 필요한 부분을 발견하기 시작함.
투자가 진행되었으며, 단적인 예로 가상머신에 대해 기피하지 않고 상용화가 되고 있는 수준에 이르렀음
또한, 이전과 달리 안정된 서비스에서 사용자의 요구사항의 변화에 능동적으로 대처하며 재빨리 수정하고 보완해서 제품을 변경하는 민첩성
이 높은 방식으로 개발을 진행 하고 있음
클라우드라는 개념과 관련 기술들이 인기를 다시 끌고 있는 것이라고 생각
----------------------------------
#3
클라우드에서는 빅데이터의 하둡 만큼 오픈스택이라는 유명한 솔루션이 있음.
SDN without SDN at daumkakao - Andrew 님이 진행한 세미나
오픈스택 서밋에서 컨테이너 관련 세션이 가장 인기 있음.
멀티테넌시(multi-tenancy) : 하나의 서버에 여러 명의 사용자(Tenanter?테넌트)가 사용할 수 있도록 해주는 개념
하나의 물리자원을 가상자원으로 나누어서 사용하여 리소스 사용량을 극대화 시킬 수 있는 개념 -> 가원 격리(resource isolation)
다른 사용자가 실행시킨 프로세스에 영향을 받지 않고 자신의 프로세스를 사용 가능
대부부분의 클라우드 서비스와 솔루션들이 이를 위해서 가상화를 사용
가상이지만 완전히 물리 서버와 동일한 느낌을 주는 프로그램과 기술을 사용
(클라우드 기술 = 가상화 기술이라고도 함)
네임 스페이스(namespace) - 자원 격리 기술의 새로운 통칭[표준화](컨테이너 기술)
코드를 작성할 때 중복되는 이름들을 막거나, 해당 모듈이나 패키지에서만 변수들의 이름을 검색하도록 정의 한 것을 컴퓨팅 자원 사용에도
적용
이 기술을 사용해서 가상화 없이도 사용자 프로세스를 격리 시켜서 사용 가능
ex) 구글에서 가장 먼저 사용 (보그-borg라는 이름으로 사용하다가 쿠버네티스(kubernetes)라는 이름으로 오픈소스화)
컨네이너 목적
- 리소스 관리의 표준화
1. 컴퓨팅 리소스의 표준화 - 서버를 추가하는 것이 아닌 표준으로 구분된 인스턴스를 추가 요청
2. 모니터링의 표준화 - 서로의 목적에 따라 모니터링이 아닌 표준화 되고 단일화 된 형태로 처리
'Cloud' 카테고리의 다른 글
[Cloud] Andrew 의 Cloud 정리-2 (0) | 2016.01.15 |
---|