클라우드 컴퓨팅 & NoSQL 384

OpenLdap 를 윈도우에 설치하기

OpenLdap install in Windows 1. 설치 및 구동 http://sourceforge.net/projects/openldapwindows/ 에서 바이너리를 받아서 위자드를 이용하여 설치 ${OPENLDAP 설치 디렉토리}/etc/openldap/sldpd.conf 파일에서 root 비밀번호를 다음과 같이 수정 ####################################################################### # BDB database definitions ####################################################################### database bdb suffix "dc=my-domain,dc=com" r..

Python을 이용한 간단한 mongodb insert 예제

Python을 이용한 간단한 mongodb insert 예제 1. easy_install.exe를 이용하여, mongodb python driver인 pymongo를 설치 2. 코드 작성 connection얻고, db선택하고,collection(여기서는 users테이블) 선택하면되고, insert,update등은 기존 mongodb script와 유사함. 에러 처리는 아래와 같이 try,except 사용 import sys import pymongo connection = pymongo.MongoClient("mongodb://localhost") db = connection.terrydb users = db.users doc = {'_id':'myid','firstname':'Terry','lastna..

MongoDB의 Physical 데이타 저장 구조

MongoDB를 구성할때 보면, 가장 많이 권장 받는 부분 중의 하나가, 메모리량과 디스크 성능이다.메모리 크기가 아주 sensitive한 요인이 되는데, 어떤 부분이 문제가 되는지 내부 저장 구조를 살펴 봄으로써 이해를 돕고자 한다. 저장 구조mongodb는 기본적으로 memory mapped file (OS에서 제공되는 mmap을 사용) 을 사용한다. mongodb는 데이타를 write할때, 논리적으로 memory 공간에 write하고, 일정 주기에 따라서, 이 메모리 block들을 주기적으로 disk로 write하는데, 이 디스크 writing 작업은 OS에 의해서 이루어 진다. OS에 의해서 제공되는 Virtual Memory를 사용하게 되는데, Pysical Memory 양이 작더라도 Virtu..

MongoDB 30분만에 이해하기.. (설치,테스트 및 자바 샘플)

초간단 Mongo DB Quick Start Guide 조대협 (http://bcho.tistory.com) Mongo DB는 NoSQL 중에서 가장 널리 사용되는 인기있는 제품이다. 사용과 운영이 다른 시스템에 비해서 매우 쉽고, JSON 기반의 Document를 제공하기 때문에, 데이타 구조에 대한 이해 및 사용이 쉽다. 또한 index나 search와 같은 feature를 제공하고 있고, 근래에는 Text Search와 GridFS를 이용한 파일 저장 그리고, 위치 정보 저장 및 쿼리등 다양한 기능을 제공하고 있다. Mongo DB는 10gen이라는 회사에서 개발되어서, 현재 오픈소스로와 상용 버전으로 공급되고 있다. 이 글에서는 Mongo DB에 대한 이해를 돕기 위해서 간단한 설치에서 부터, 자..

Amazon 클라우드에서 S3 Read/Write 성능 높이는 방법 - 같은 Region 사용하기

매우 기본적인 부분인데, 함정(?)이 있어서 메모해놓습니다. aws에서는 S3 버킷을 만들때 위와 같이 Region을 정할 수 있습니다.그런데 US Standard라는 Region이 있는데, 이는 실제 존재하는 region이 아닙니다. Oregon이나 Ireland와 같이 실제 S3가 배포될 region을 명시적으로 정하는 것이 좋습니다. (특히 미국의 경우..)EC2를 US West Oregon에서 사용하실거면, 반드시 S3도 같은 Region에 생성을 해야 속도가 빠릅니다. http://blog.takipi.com/2013/03/20/aws-olypmics-speed-testing-amazon-ec2-s3-across-regions/ 문서를 보면 region가 S3 속도가 나옵니다.

Amazon 클라우드에서 S3 Read/Write 성능 높이는 방법-Partitioning

원본 : http://aws.typepad.com/aws/2012/03/amazon-s3-performance-tips-tricks-seattle-hiring-event.html 아마존 S3를 이용하는 시스템에 대한 성능 테스트를 할때, 성능이 Leanear 하게 증가하지 않는데, 그 원인을 보면 다음과 같은 원리가 작용한다. 원인 분석S3는 내부적으로 여러개의 파일을 저정하기 위해서 물리적으로 파일을 여러개의 디스크에 분할 저장하는데, 이 분할 하는 로직을 파일명을 가지고 해쉬를 사용한다. 그래서 파일명이 유사하게 되면, 같은 파티션(디스크)에 파일이 써지기 때문에, 하나의 파티션에 많은 물리적인 IO를 유발하고 결과적으로 성능이 떨어지게 되는 것이다. 원리S3는 파일명을 가지고 hashing을 하여 ..

HMAC을 이용한 REST API 인증 방법 모음

HMAC 개념 잡기 - http://nts_story.blog.me/50109958210HMAC 을 이용한 REST 보안 - http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/HMAC 프로그래밍 언어별 구현 방법External linksOnline HMAC Calculator for dozens of underlying hashing algorithmsFIPS PUB 198, The Keyed-Hash Message Authentication CodePHP HMAC implementationPython HMAC implementationPerl HMAC implementationRuby HMAC impl..

조직의 성숙도별 개발 모델 (Devops & CD)

오랜만의 포스팅입니다. 그간 많이 바뻤습니다.요즘 시스템 운영쪽에 관심이 많아서 Devops (Development + Operation)쪽을 틈틈이 보고 있습니다. 오늘은 조직의 성숙도별 개발 모델과 함께, CD (Continuous Delivery)와 Devops에 대해서 설명해보고자 합니다. 회사의 규모나 성숙도에 따라서 개발 모델을 크게 다음과 같이 3단계로 나눠볼 수 있습니다. 1. 스타트업 소규모에 처음 서비스 개발을 시작한 스타트업 기업 같은 경우에는 일단 모든 의사 결정이 빠르다. 아이디어가 나오면 별도의 승인이나 분석 없이 바로 개발하고, 개발이 끝나면 바로 배포 한다. 규모가 작고 모든 의사 결정이 팀내에서 이루어지기 때문에 매우 빠르다. 그리고 인력이 적기 때문에, 분석/설계/개발 및..

Amazon의 설치 배포 자동화 솔루션 Opsworks

Amazon Opsworks 소개 시스템에 설치와, 애플리케이션을 자동화 배경 얼마전에, Amazon에서 새로운 클라우드 서비스인 Opsworks를 발표하였다. [출처:Amazon Opsworks 소개 페이지] 비단 클라우드 뿐만 아니라, 서버 시스템을 개발하다보면, 당면 하는 과제중의 하나가, 소프트웨어 설치와, 애플리케이션의 배포이다. 예전에야 큰 서버 한대에, WAS 하나 설치하고, DB를 다른 서버에 설치해서 사용했지만, 요즘 같은 시대에는 x86 서버 여러대에 WAS를 분산 배치하고, 여러 솔루션들 설치해서 사용하고, 시스템의 구조 역시 훨씬 더 복잡해 졌다. 그래서, 이러한 제품 설치를 자동화 하는 영역이 생겼는데, 이를 Configuration Management(이하 CM)이라고 한다. 이..