2012. 3. 22. 10:27 IT
가상머신에 대한 명명규칙을 지정하기위한 규칙.

추천글에서 제시하는 기본 가이드라인은 다음과 같다. (관심있는 부분만 거론함)
1. device의 위치, 목적, 기능, 서비스를 식별할수 있도록 해라.
2. 단순해야하지만, 시스템관리자,지원,운영자들에게는 의미가 있도록 해라.
3. 특정 벤더,제품명을 쓰는 것은 피해라. (물론 예외는 있다...)

개인적인 생각으로는 

(물리위치)-{데이터센터명} - 일련번호 - {관리유형} 

* 지리적 위치 : 미국? 한국? 

* 용도 : 관리용,  일반사용자용 ,  백업용 ,  테스트용 등등..
 

한가지 첨언할 것은 사용자가 원하는 hostname과 관리용 hostname을 두는것도 추천... 


추천글
http://virtualizationreview.com/blogs/virtual-insider/2011/10/how-to-design-an-effective-naming-convention.aspx  

 
posted by smplnote
2012. 2. 21. 18:12 IT

"Apache Deltacloud is a REST-based (HATEOAS) cloud abstraction API, that enables management of resources in different IaaS clouds using a single API. "

즉 여러 IaaS 클라우드 벤더가 제공하는 resource에 대한 추상화된 REST기반 API를 제공합니다. 
슬로건이  “Many clouds. One API. No problem.” 이군요. 


SD Times에 "Apache adopts new top-level cloud project" 라는 관련기사가 있는데요..
http://www.sdtimes.com/content/article.aspx?ArticleID=36373&page=1

요약하면

Amazon, Eucalyptus, GoGrid, IBM, Microsoft, OpenStack , Rackspace 등
다양한 클라우드 구현체들 간에 불일치를 API 레벨에서 해결하고자 하는 목적이 있으며,
Deltacloud의 장점은 특정 벤더에 통제되지 않는점. 
(또한 DMTF에서 표준화 작업을 진행하고 있는데, 최초 구현체가 될 것으로 생각됨)

현재 버전은 0.5.0
 
 


Resource Type : Compute, Storage
top level entity : Realms, Images, Instance States, Instances, Keys, Storage Volume, Storage Snapshots, Blob Storage. 
인증 :  HTTP basic authentication.

API 문서 :   http://deltacloud.apache.org/api.html 

site : http://deltacloud.apache.org

posted by smplnote
2012. 2. 14. 13:38 IT

IBM의 가상화 관리/자동화 솔루션 V7.1.1

용도 : 가상화 데이터 센터의 프로비저닝

http://www-01.ibm.com/software/tivoli/products/prov-mgr/

provisioning workflow 개발시에는 APDE (Automation Package Developer Environment)라는 Eclipse plugin을 이용한다.

* 개발절차
APDE 설치 -> automation package project 생성 -> workflow 작성 -> compile -> run (test)
-> manifest 파일작성(tcdriver.xml) -> 패키지 문서 생성(옵션) -> 패키징 (ant build.xml 사용)
*  배포
tcdriver를 대상위치에 복사 ( xxx.tcdriver 를  TIO_HOME\drivers 에 copy )
-> install ( TIO_HOME\tools 에서 install 실행 )
ex) tc-driver-manager.[cmd|sh] installDriver MyFirstPackage

provisioning workflow 기본 가이드라인은 다음과 같다.

1. automation package naming : 대문자로 시작하는 CamelCase. _로 연결 [세부규칙 정의가 필요]

2. workflow naming : 동사+행위, 대문자로 시작하는 CamelCase. 설명을 위한 부가정보의 구분자로 _ 사용 [세부규칙 정의가 필요]

3. parameter naming : 대문자로 시작하는 CamelCase.
ex) workflow WorkflowName (in CamelParam, out CamelParam )

4. variable, array naming : 소문자로 시작하는 CamelCase

5. constant naming : 대문자, _ 로 연결 ex) MY_CONSTANTS

6. comment , annotation
- comment :  # 으로 시작
- 문서 생성을 위한 정보는 annotation을 사용하여 작성 : @doc, @param, @requirepermission

7. Locale & encoding : 파일은 ISO-8859-1 , UTF-8 등 가능하나 호환성을 위해 ISO-8859-1 권장.
로케일에 영향받지 않도록 선언하기  -> LocaleInsensitive

8. security : 암호와 같이 보안이 필요한 정보는 로그등에서 보이지 않도록 암호화 처리해야한다.
ex) Java[SensitiveData#mark(UserPassword)]

9. 동시작업 최대값 설정 : 기본값은 5
spawn command를 사용하여 동시작업 실행

10. exception handling
try / catch, catchall / finally / endtry
throw / rethrow

11. logging
log msg_type message [debug|info|warning|error]
cf) parameter를 로깅할 필요는 없음(run history에 남음)
cf) 에러의 경우에는 처리할 수 있도록 logging후 throw 할것

기타. 메세지 ID 정보
Table 1. Subsystem codes
Code Subsystem
APM Activity plan applet
COM Common
DEX Deployment engine
DSE Discovery
GRP Group management
INF Infrastructure
JDS Job distribution service
JEE J2EE. TheTivoli Provisioning Manager code that runs on the WebSphere® Application Server.
NET Network management
PCH Patch management
QLX Data model query language exception
SRV Server management
SWD Software deployment
TCA Tivoli Common Agent
TDM Automation package manager
TSK Provisioning task management
UTL Utilities
message ID 포맷정보
http://publib.boulder.ibm.com/infocenter/tivihelp/v28r1/topic/com.ibm.support.tpm.doc/messages/rtrbmsg_messageidformat.html

메시지 : http://publib.boulder.ibm.com/infocenter/tivihelp/v28r1/topic/com.ibm.support.tpm.doc/messages/rtrbmsg_tpm.html


URL : http://publib.boulder.ibm.com/infocenter/tivihelp/v28r1/topic/com.ibm.tivoli.tpm.wkf.doc/workflows/cwkf_intro.html
pdf 버전 : http://publib.boulder.ibm.com/infocenter/tivihelp/v28r1/topic/com.ibm.tivoli.tpm.wkf.doc/tpm_workflow_guide.pdf

posted by smplnote
2012. 2. 7. 13:59 1300K
부제 Bring Behavior-Driven Development to Infrastructure As Code

O'Reilly , Stephen Nelson-Smith, 2011

Chef 와 Cucumber를 조합하여 Infrastructure를 행위기반으로 테스트 해보기.

Chef 설치절차, Cucumber- Chef 설치절차 소개,  예제.

cf) 시스템,네트웍,어플리케이션 모니터링 용으로 개발된 Cucumber-Nagios 가 있음..
Infrastructure Development Life Cycle http://www.slideshare.net/botchagalupe/infrastrucutre-as-sdlc 

고려사항.
1. ruby와 Chef 를 배워야 한다. 
2. unix 계열에서 작업 (윈도우에서 연습은 할 수 없을까?)
3. Amazon EC2 를 써야한다. 
 
인프라 자동화에 대한 고민중.. 
 
posted by smplnote
2012. 1. 26. 15:31 IT
posted by smplnote
2012. 1. 18. 15:17 IT

최근 chef에 대해 이야기를 들었다. 
그게 뭐지? puppet은 들어봤지만.

puppet, chef 는 인프라 구성 자동화 도구라고 하면 되겠다.   (cfengine, slack 이란것도 있다.  )

system 설정 자동화 listup : Bcfg2, cfengine, Chef, Puppet, SmartFrog
app 서비스 설정 자동화 : Capistrano, Fabric, Func, ControlTier, Glue 


puppet : http://puppetlabs.com/
Enterprise버전은 상용이나 10개 노드 이하는 Free 
고유 DSL 제공 
사례 :  징가, 트위터 
단점 : 새로 익혀야 하는 DSL

chef : APL
http://wiki.opscode.com/display/chef/Home
ruby 코드 
참고 :  https://www.ibm.com/developerworks/mydeveloperworks/blogs/9e635b49-09e9-4c23-8999-a4d461aeace2/entry/215
사례 :  RightScal

glue :  deployment and monitoring automation platform APL2.0
https://github.com/linkedin/glu 
소개글 :  http://linkedin.github.com/glu/slides/glu-tech-talk-201107.pdf 
-> 여기서 glue와 puppet을 비교하면서 puppet은 machine infra에 대한 configuration, glue는 dynamic application 에 대한 provisioning 에 좋다고 평한다. (물론 glue를 만든 사람이 하는 말이다.)
재미있는건 ZooKeeper를 이용하여 정보를 저장하고 이벤트 통지 등을 관리 한다는것.. 
 groovy 코드 
 
slack : 구글에서 쓴다고 하네요 

cf) 분산시스템 모니터링은  nagios, opsview, etc 
posted by smplnote
2012. 1. 13. 11:23 1300K

클라우드 기반 애플리케이션 개발
국내도서>컴퓨터/인터넷
저자 : 크리스토퍼 M. 모이어(Christopher M. Moyer) / 정윤진역
출판 : 제이펍 2011.10.28
상세보기

앞부분에 작게 써있는 "개념, 패턴, 그리고 프로젝트" 를 유념해서 보면 됨.

초반의 대표 서비스별 구분은 유용하지만 이건 다른 책에도 나와 있는거라서..

패턴 부분은 다소 실망... 그리고 프로젝트도 아마존 서비스를 사용하는 파이썬 기반 개발 예제라서 그닥..

개인적으로 역자의 지나치게 자세한 설명은 흐름을 끊고 말았다. ( 용어집 내용 보다는 구글링을 권장)

하여튼, 관심사가 달라서였는지 몰라도 잘못 집은 책인듯.

/////////////////////////////////

일반적인 애플리케이션들이 필요로 하는 것은 다음과 같다.
. 컴퓨팅 파워
. 빠른 임시 저장소
. 큰 데이터를 오랜 기간 저장할 스토리지
. 작은 데이터를 오랜 기간 저장하며 쿼리가 가능한 스토리지 (DB)
. 컴포넌트나 모듈과의 통신
p49-50

큰 데이터의 대상은 멀티미디어 등 DB에 담지 않는 대용량의 데이터를 의미
RDB 서비스른 주로 MySL을 이용하고 있는 추세임. (아마존 RDB)


클라우드 프론트 서비스의 가장 큰 단점은 S3에서 발생한 업데이트가 모든 CDN 리소스에 동기화되는 데 최대 24시간이 걸릴 수도 있다는 것이다... 이렇게 민감한 형태의 자원을 다루어야 한다면, 사설 배포 옵션을 사용하고 접근을 관리할 때 미들맨 URL 인증 시스템을 제공하는 것이 더 좋은 방법이 될 수 있다. p97

... 클라우드 프론트의 새로운 기능 중 하나는 캐시로부터 기존의 파일을 강제로 삭제하고 S3의 원래의 버켓으로부터 다시 동기화하거나, S3에 파일이 남아있지 않으면 클라우드 프론트에서 모두 지워버리는 것이다. ... p98

EBS(Elastic Block Storage) EC2의 인스턴스에 연결이 가능한 가상의 디스크로 데이터의 영구적인 저장이 가능.

하지만 이 EBS볼륨은 기본적으로 네트워크를 통해 연결된 파일시스템이기 때문에 실제 물리적인 하드웨어보다는 그 속도가 매우 떨어짐에 유의하도록 한다. p111

구글이 제공하는 서비스들의 약점은 바로 이러한 형태로 서비스하는 클라우드가 구글이 유일하다는 점이다. ...
구글앱엔진을 사용한다는 것은 개발자와 서비스를 구글에 종속적으로 만들게 되며, 만약 시스템을 이전해야 하는 상황이 발생하게 되면 선택 가능한 옵션이 매우 적어지게 된다. p137

Google Storage : 아마존 S3과 유사한 스토리지 서비스. S3 사용자들의 이전을 도움. 

아마존과는 다르게 랙스페이스는 고객을 단 하나의 클라우드 서비스 공급자에 제한되도록 할 필요가 없다는 것을 깨닫고, 모든 서비스를 오픈 소스 기반으로 제공함으로써 개발자에게 기존의 하드웨어에서 동작하던 애플리케이션들을 그대로 사용할 수 있도록 지원한다 . p139

CloudFiles 서비스 : S3와 비슷한 구조와 과금 형태. 파일 저장 스토리지와 파일에 대한 권한 설정 인터페이스 제공

CloudServers : 일반적인 가상서버와 비슷한 환경을 제공 (사용후 정지시 폐기되지 않음) 

CloudSites : 랙스페이스의 PaaS 플랫폼. 구굴 앱엔진과 유사. 전통적인 웹호시팅과 유사.  


posted by smplnote
2012. 1. 12. 15:07 IT

4세대인 LTE가 등장하면서 핸드폰 요금제에  더이상 데이터 무제한은 없어졌습니다.
간혹 요금제에 할당된 데이터 용량 이상으로 소비하여 요금폭탄을 하소연 하는 글이 눈에 띄기도 합니다..
해가 갈수록 보고싶은 동영상은 늘어만 가는데~ 데이터는 턱없이 부족한데~ 뭐 그렇죠...

핸드폰 요금제만 그런게 아니죠. 전기세도 마찬가지.
이제는 IT까지 클라우드란 이름으로 동참하고 있습니다.

데이터 종량제가 빛을 발하려면
내가 얼마나 쓰는지, 또 언제 요금제를 올리고 내려야 하는지
그리고 내 데이터가 새고 있는건 아닌지 잘 알고 있어야 합니다.

무관심한 사람들일수록 돈이 새어나가고 있는지 모른채 뒤늦게 뒤통수 맞았다면서 억울함을 하소연 할 뿐입니다.
(더욱 흥미로운건 대기업이든 소규모든 모두 같은 고통을 겪고 있다는 것.. )

이렇게 가려운 곳을 긁어주는 서비스.

그게 Cloudability 입니다. (블로그를 보니 RoR로 구축한듯)


무료가입해서 둘러볼수 있구요...
수많은 종류의 클라우드 서비스에 대한 정보를 제공합니다 .
대표적인것들 : 아마존웹서비스, 구글앱, rackspace, heroku, github, salesforce, phpfog, force.com

예를들어 구글앱스의 경우는 OAuth로 사용보고서, 메일주소 액세스 권한을 받아 리포팅을 해줍니다.

기본적으로 대시보드와 리포트( 계정, 기간, 서비스, 벤더 단위)를 제공하고 있고, CSV  포맷으로 내려받을수 있게 하는군요.

가입해서 서비스 등록후 본 대시보드 내용입니다. (github 정보로, $0 ... )



대충 이런 느낌입니다. 보안에 특히 신경을 쓰고있음이 곳곳에서 보이더군요..  


국내 스타트업들도 외국에 서비스를 고려한다면 Cloudability의 서비스를 활용해보는 것도 좋을것 같습니다.

참고) Cloudability의 아이디어에 대해 좀더 자세한 이야기는 다음 블로그에 있습니다.
https://www.cloudability.com/blog/why-we-built-cloudability

2012년 주목할만한 클라우드 스타트업으로 지목된 서비스 http://gigaom.com/cloud/10-cloud-startups-to-watch-in-2012/

posted by smplnote
2012. 1. 11. 13:56 1300K
클라우드 컴퓨팅 구현 기술
국내도서>컴퓨터/인터넷
저자 : 김형준,조준호,안성화,김병준
출판 : 에이콘출판사 2010.12.22
상세보기

클라우드 컴퓨팅에서 언급되는 각 기술들의 묶음 서비스.
그리고 Hello Cloud World 해보기
 
처음 접해보는 사람에게 이해하기 쉽게 정리해서 주지는 않지만
적어도 처음 경험해서 고생해본 앞서간 사람들이 남기는 기록이라고 한다면 의미가 있다.

개인적으로는 이름만 나돌던 각 기술들을 조금씩 정리해나가는데 도움이 된 책이다.

하둡은 이전부터 익숙하게 들어왔지만
주키퍼나 쓰리프트, 척와 등의 정체에 대해서는 잘 모르고 있었고, 왜 이것들이 나왔을까 하는
궁금증에 대해 스스로 답을 끌어낼 수 있도록 도와주었다.

많은 내용을 다루다 보니 다소 산만하고, 맛보기 수준으로 가기는 하지만
이중 마음에 드는 솔루션에 대해 깊이 파고 들어갈 수 있도록 시작하게 도와줄 수 있는 책이라고 생각된다.

적어도 구글, 아마존, 세일즈포스닷컴 광고하러 다니는 책은 아니다.
posted by smplnote
2012. 1. 11. 12:47 IT
로그수집 및 저장/관리는 예전에도 있던 요구사항이다.
서버에 에이전트를 설치하여 주요 거래로그를 원격지 DB에 저장하게 하는 방식이 일반적이었다.
(주된 관심거리는 로그 위변조 이슈--WORM--나 필터링,분석, 속도에 관련된 것이었다.) 
시스템 모니터링의 경우도 어떻게, 그리고 얼마나 빨리 각 서버의 시스템정보를 획득할 것인가(주로 vmstat 등 시스템이 제공하는 기능을 이용해 정보를 수집)에 관심이 집중 되어 있었다.

그런데, 왜 클라우드 컴퓨팅 영역에서 다시 로그 얘기가 나온걸까?

IT시장에서 한동안 콘솔리데이션 경향이 있었다.
가용성 측면에서 급속도로 올라가는 요구사항은 시스템 관리자들을 야근으로 몰고 있었고,
점점 관리 리스크를 줄이고 싶어하는 필요성이 생겼다.
그것은 하드웨어 벤더와 이해가 맞아 떨어지면서 수십대의 장비를 몇대의 물리적 장비로 통합하고
그 안에서 다시 쪼개는 식의 콘솔리데이션 바람이 불게되었다.

하지만 콘솔리데이션은 고급화된 하드웨어에 의한 비용부담을 증가시켰고, 확장성에 제약을  주었다.

그다음 방법은 무엇일까에 대해 이미 글로벌 기업들은 새로운 길을 파고 있었다. 
스토리지와 데이터 관리, 애플리케이션 서버에 변화가 일었다.

무언가 새로운 것이 만들어지면 그다음은 모방이 따라온다.
하드웨어가 아닌 소프트웨어로 전환된 사고는 로그관리에도 마찬가지의 전환을 가져오게 되었다. 
클라우드 솔루션의 도입은 1~20대의 시스템이 아닌 수십대 수백대의 시스템을 예상하도록 만든다.
이는 시스템 모니터링이나 로그 관리에 있어서도 예전의 방식이 가지고 있던 문제점에 대해 또다시 아픈 기억을 떠올리게 된다. 


주된 관심을 받고 있는 클라우드 계의 로그관리 솔루션으로 두가지가 있다. 
Chukwa, Scribe
 
- Chukwa : hadoop의 서브 프로젝트
Hadoop FS 에 로그를 저장하고 Map-Reduce로 로그를 분석.
장점 : 타겟 서버의 수정이 필요없음, 하둡FS를 이용해 로그 저장의 안정성 제공, 준/실시간 분석 기능 제공
단점 : 하둡FS만 지원, 바이너리 포맷인 하둡 SequenceFile로 저장됨
cf) HICC 하둡 상태정보를 제공하는 웹인터페이스 (MySQL 사용)
cf) 직접 명령실행용 어댑터(ExecAdaptor)나 로테이트 되는 로그파일 처리용 어댑터도 제공(filetailer.FileTailingAdaptor)

- Scribe : facebook의 로그관리 솔루션 . APL
장점  : 다양한 개발언어 지원(thrift interface)
단점 : 기존 로그파일을 스크라이브 api로 변환해야함, 로그저장 스토리지 및 시스템 구성은 사용자가 직접 구성해야함
cf) log4j 용 scribe appender 제공

그런데 로그 자체를 일반 파일이 아닌 NOSQL로 저장하는 접근은 없나? (방금 찾아보니 log4mongo 라는게 걸린다.  http://log4mongo.org/ )

최근 조류의 특이점은 1. 오픈소스, 2. 특정 개발언어 종속성 최소화, 3. 대용량 분산환경
이것은 MS나 ORACLE이 추구하는 방향과는 사뭇 다르다.
(오라클이 NOSQL 솔루션을 제공하지만 그 줄기에는 ORACLE DB나 하드웨어와 같은 벤더 친화적인 개념으로 유도하기 위한 미끼의 느낌이다. 그것이 Enterprise 솔루션이란다. )


참조 : 클라우드 컴퓨팅 구현 기술 / 김형준 외 / 에이콘
posted by smplnote