클라우드 컴퓨팅 & NoSQL 384

빠르게 훝어 보는 node.js - mongoose ODM 을 이용한 MongoDB 연동

빠르게 훝어 보는 node.js - mongoose ODM 을 이용한 MongoDB 연동 조대협 (http://bcho.tistory.com) Mongoose는 mongodb 기반의 node.js용 ODM (Object Data Mapping) 프레임웍이다. 이미 앞에서 monk를 이용한 mongodb 연결 방식에 대해서 알아보았는데, mongoose는 무엇인가? 쉽게 생각하면 monk를 자바에서 JDBC 드라이버로 직접 데이타 베이스에 연결하여 SQL을 실행한 거라면, monggose는 Hibernate/Mybatis와 같이 OR Mapper의 개념이다. 직접 SQL을 실행하는 것이 아니라 node.js의 자바스크립트 객체를 mongodb의 도큐먼트와 맵핑 시켜 주는 개념이다.이런ODM의 개념은 웹 프..

Heroku에서 Metrics 메뉴를 이용하여 애플리케이션 모니터링 하기

Heroku에서 Metrics 메뉴를 이용하여 애플리케이션 모니터링 하기 조대협 (http://bcho.tistory.com) heroku에서는 Metrics이라는 메뉴를 통해서 기본적인 시스템 모니터링을 지원한다. 기본 지원 항목으로는응답시간 (Response time), 메모리 사용률 (Memory Usage), 분당 처리량 (Throughput-TPM), CPU 사용률 (Dyno Load)을 볼 수 있다. 이 항목들은 Heroku 대쉬보드에서 모니터링하고자 하는 애플리케이션을 선택한 후, 상단의 Metrics라는 탭을 선택하면 된다. 아래는 Metrics 메뉴를 통해서 helloherokuterry 애플리케이션의 주요 지표를 모니터링 한 화면이다. 한가지 주의할점은 Metrics 모니터링 기능은 무..

Heroku에서 newrelic을 이용한 node.js 애플리케이션 모니터링 (APM)

Heroku에서 newrelic을 이용한 node.js 애플리케이션 모니터링 (APM) 조대협 (http://bcho.tistory.com) Heroku에서 node.js 애플리케이션에 대한 모니터링을 살펴보자. 애플리케이션의 모니터링은 모니터링 분야에서 APM (Application Performance Monitoring)이라는 분야로, 애플리케이션에서 어떤 API 들이 호출이 되었는지, 각 로직별 응답 시간등을 추적할 수 있다. 한국에서 유명한 APM으로는 제니퍼가 있다.Heroku에서 사용할 수 있는 APM은 여러가지가 있지만 여기서는 newrelic이라는 제품을 소개한다. Newrelic은 heroku 뿐 아니라, 모니터링 시장에서 매우 유명한 제품으로 APM 기능뿐만 아니라, 서버 인프라에 대..

Heroku에서 logentries를 이용하여 node.js 로그 모니터링 하기

Heroku에서 logentries를 이용하여 node.js 로그 모니터링 하기 조대협 (http://bcho.tistory.com) Heroku에서 제공하는 로깅은 heroku logs –tail 명령을 이용해서 모니터링 할 수 있는데, 이 로그의 경우 최대 1500줄만 저장을 지원한다. 실제 운영 환경에서 1500줄의 로그란 부족해도 많이 부족한 양이다. 그래서 추가적인 서비스를 이용하는 것이 좋은데, 많은 로깅 서비스가 있지만, 간단하게 사용할 수 있는 로깅 서비스로 logentries 라는 서비스가 있다. Figure 1 http://www.logentries.com 무료로 사용이 가능하고, 무료 사용시 최대 7일간의 로그를 저장해주고, 일 최대 33M 까지 로그를 저장할 수 있다.가장 저렴한 E..

Heroku에서 스케일링 하기

Heroku 스케일링 (scaling)에 대해서 조대협 (http://bcho.tistory.com) 스케일링이란, 더 큰 다이노(더 많은 CPU와 메모리)를 사용함으로써 각 다이노의 성능을 올리거나, 더 많은 다이노를 추가함으로써 여러 다이노로 부하를 분산해서 전체 성능을 올리는 방법을 이야기 한다. 더 큰 다이노를 사용하는 것을 수직 스케일링 (vertical scaling), 더 많은 다이노를 사용하는 것을 수평 스케일링 (horizontal scaling)이라고 한다. 그러면 Heroku에서 스케일링을 어떻게 하는지 알아보자스케일링은 다음과 같이 heroku ps:scale 다이노타입=다이노개수:다이노크기 로 지정하면 된다. 이 스케일링은 무료 티어에서는 사용이 불가능 하기 때문에, 과금을 위한 ..

Heroku 클라우드에 node.js 애플리이션을 배포하기

Heroku 클라우드에 node.js 애플리이션을 배포하기 조대협 (http://bcho.tistory.com) 가장 빠르게 이해하는 방법은 직접 해보는 것이다. Heorku 클라우드에 대한 이해를 위해서 express를 이용해 구현된 node.js 애플리케이션을 직접 배포해서 실행해보자이 예제는 node.js 4.3.1 버전과 express 4.13.4 버전을 기준으로 작성되었다. Heroku 가입Heroku사용을 위해서 Heroku계정을 만들자. http://www.heroku.com 에 접속해서 Sign up 메뉴로 들어가면, 간단하게 이름과 이메일 정도의 정보만 넣으면 간단하게 계정을 만들 수 있다. Figure 1 Heroku 가입 화면 다른 클라우드의 경우 향후 유료 사용을 위해서 회원 가입시..

node.js production service stack

node.js 운영환경 node.js를 운영환경에서 서비스 하기 위한 스택주로 managed service 로 운영 부담을 덜고, 가격은 저가로 하는 조합으로 구성 Category Solution Managed service Runtime node.js Heroku nginx (REST CACHE + LB)Heroku Redis Redislab MySQL AWS RDS MongoDB Compose.io CDN CloudFlare HTTP Logging ELK Qbox or sematext + morgan Application Logging Sentry getSentry + winston APM Appdynamics

빠르게 훝어 보는 node.js - promise를 이용한 node.js에서 콜백헬의 처리

Promise를 이용한 node.js에서 콜백헬의 처리 조대협 (http://bcho.tistory.com) 앞의 글(http://bcho.tistory.com/1083) 에서 async 프레임웍을 이용한 콜백헬을 처리 하는 방법에 대해서 알아보았다.async 프레임웍 이외에, 콜백헬을 해결할 수 있는 프레임웍으로 promise가 있다.Promise는 원래 콜백헬을 해결하기 위한 프레임웍이 아니라, 프로그래밍 패턴중의 하나로 지연 응답을 통해서 동시성을 제어 하기 위한 목적으로 만들어졌다. 자바스크립트에서는 Jquery의 Deferred나, CommonJS에 구현되어 있고, ECMAScript5 표준에 포함되서 크롬,파이어폭스,인터넷익스플로러 9 버전등에 포함되어 있다.구현체가 많아서 설치해야 한다. n..

TI의 IOT 개발용 센서 키트

IOT 개발용 센서 키트 TI에서 IOT 개발을 위한 센서키트를 제공한다는 것을 오늘 들어서 자료를 찾아봤는데, Simplelink라는 제품으로 성냥값 정도 크기에 13가지의 센서가 들어있다. 위치,온도,습도 등등가격은 29$ 정도 밖에 되지 않고, 손목밴드나 LCD등을 끼울 수 있는 키트도 제공한다. 기동을 하면 바로 IBM 블루믹스 IOT 서비스에도 연결이 되고, 안드로이드, IOS 앱도 제공한다. 아마도 웹이나 앱개발용 SDK도 있을 것 같은데. 가격도 싸고 쉽게 IOT 서비스를 개발할 수 있을 것 같아서 북마크 해놓는다.http://www.ti.com/ww/en/wireless_connectivity/sensortag2015/gettingStarted.html