Top Banner
JBoss User Group Google App Engine Google 의 App 의의 / 의의의 의의의 의의의 [email protected] 20100524 v0.4
19

Google App Engine Google 의 App 개발 / 호스팅 플랫폼

Jan 05, 2016

Download

Documents

fawzia

Google App Engine Google 의 App 개발 / 호스팅 플랫폼. 김병곤 [email protected]. 20100524 v0.4. 소개. JBoss User Group 대표 모 통신사에서 분산 컴퓨팅 기반 개인화 시스템 구축 Process Designer – ETL, Input/Output, Mining Algorithm, 통계 … Apache Hadoop/Pig/HBase Apache Cassandra Distributed Cache Log Aggregator - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

JBoss User Group

Google App EngineGoogle 의 App 개발 /호스팅 플랫폼

김병곤[email protected]

20100524 v0.4

Page 2: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

소개

JBoss User Group 대표 모 통신사에서 분산 컴퓨팅 기반 개인화 시스템 구축

Process Designer – ETL, Input/Output, Mining Algorithm, 통계…

Apache Hadoop/Pig/HBase

Apache Cassandra

Distributed Cache

Log Aggregator

CEP(Complex Event Processing)

Mining Algorithm – Association Rule, K-Means, CF, …

다수 책 집필 및 번역 JBoss Application Server 5, EJB 2/3

Oreilly RESTful Java 번역중

2

Page 3: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

우리의 서비스 개발 목표

3

Social Networking 기반 Life Stream Logging 서비스

Page 4: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

4

우리의 고민 ?

어떻게 초기에 적은 비용으로 애플리케이션을 호스팅할 수 있을까 ?

장비에 대한 초기 투자 비용을 어떻게 줄일 수 있을까 ?

대용량 스토리지 및 트래픽을 어떻게 관리비용 부담을 줄이고 서비스할 수 있을까 ?이미지 1 장 100K * 1 인당 100 장 * 천만명의 사용자

= 97,656,250M = 95,367G = 93T

사용자가 늘어나는 경우 어떻게 투명하게 확장할 수 있을까 ?

Page 5: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

5

Google App Engine 이란 ?

Google 이 제공하는 응용 프로그램 개발 및 호스팅 플랫폼

스토리지 /장비 /네트워크 등을 관리하지 않고도 호스팅 가능

Google 웹 사이트에서 사용하는 동일한 기술을 제공

개발자는 코드를 작성하여 배포하고 모니터링

Google 은 사용한 양 만큼만 비용을 청구장비 사용에 대한 기존의 호스팅 비용 청구 방식이 아닌스토리지 /네트워크 트래픽 /CPU/ 서비스에 대한 비용 청구 방식

Page 6: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

6

Google App Engine 의 사용료

Google App Engine 의 사용료는 항상 무료로 시작

무료 할당량 이상 사용시 비용 청구한도 초과시 HTTP 403 or 리소스 할당 거부 or 경고GAE 는 폭주률을 통해 과도한 리소스 폭주를 통제

http://code.google.com/intl/ko-KR/appengine/docs/quotas.html

할당량 한도

개발자당 애플리케이션 수 3

애플리케이션당 저장용량 500MB

애플리케이션당 파일 수 1,000

파일당 크기 1MB

할당량 한도

하루 이메일 수 2,000

일일 입력 대역폭 10,000MB

일일 출력 대역폭 10,000MB

하루 CPU 메가사이클 수 200,000,000

하루 HTTP 요청 수 650,000

하루 데이터저장소 API 호출 수 2,500,000

하루 URLFetch API 호출 수 160,000

고정 할당량 1 일 할당량

Page 7: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

7

Google App Engine 의 사용료

Google App Engine 의 사용료는 리소스 사용량

리소스 단위 단위 비용

Outgoing Bandwidth Giga Bytes $0.12

Incoming Bandwidth Giga Bytes $0.10

CPU Time CPU 시간 $0.10

Stored Data 월별 Giga Bytes $0.15

Recipients Emailed Recipients $0.0001

Page 8: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

8

Google App Engine 에서 제공하는 서비스

JCache API 를 이용한 Memcache

Remote API 를 이용한 Data Store 접근 JavaMail 을 이용한 Mail 송신 및 Mail 수신 XMPP 기반 메신저 서비스 Image 서비스를 이용한 resize, rotate, flip, crop

Task Queue 를 이용한 백그라운드 처리 Google Account 를 이용한 authentication 및 Email 접근 Blob Store

JSP/Servlet 지원 JDO/JPA 기반 Data Store

GWT(Google Web Toolkit)

Page 9: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

9

Google App Engine 의 개발 환경

Java 6 Virtual Machine

JSP/Servlet Standard, GWT완전하지 않지만 프레임워크도 사용할 수 있음

IDE : Eclipse, IntelliJ IDEA, NetBeans

Development Server 지원SDK 에 Jetty Web Container 내장

리모트 Application Deployment 지원

Page 10: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

Google App Engine 개발 환경 준비

Sun JDK 6

Eclipse Galileo

Eclipse Plugin

10

Page 11: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

Google App Engine 의 애플리케이션 생성하기

URL : <APPID>.appspot.com

11

Page 12: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

Google App Engine 으로 Deployment

12

Page 13: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

Google App Engine 의 Dashboard

13

Page 14: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

프레임워크 지원 ( 비공식 )

14

Framework Compatible Version

BlazeDS 3.2.0

DWR 2.0.5

Ehcache 1.6.0

Facelets 1.1.14

Log4J

Restlet

SiteMesh 2.4.2+

Spring MVC 2.5.6

Spring ORM 2.5.6

Tapestry 5.x

Struts 1,2

Tiles 2.0.7

Page 15: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

Google App Engine 을 이용한 개발

15

Demo

Page 16: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

Google App Engine 로 개발 시 고민해야 할 것들

Google App Engine 의 개발 환경만으로는 개발하기 어렵다적당한 IoC Container 를 사용해야 할 수 있다 .

Data Store 에 대한 적응이 필수다Data Store 는 JDO/JPA 기반 ORM 모델이므로 RDBMS SQL

기반 코드 사용 불가 (JDO/JPA QL 사용 )

웹 사이트 개발 보다는 웹 서비스 개발로웹 사이트 개발에는 Google App Engine 은 유연성이 떨어지므로

난관이 많다 (REST 기반 ) 웹 서비스를 개발하는 것이 더 좋다 !!

16

Page 17: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

17

Google App Engine 의 제약사항

과연 기대하는 것 만큼 성능이 나올까 ?성능 때문에 많은 사람들이 사용을 꺼려한다 .

어느 정도 개발 환경의 유연성이 보장되는지 ?Google 에 제공하는 환경을 따라야 하므로 유연성 매우 부족API 가 다른 Framework 와 같이 사용함에 있어서 제약 많음

정말 비용을 줄여주는지 ?개발자는 리소스 사용을 줄이는 코드를 작성할 필요가 있다

CPU, Memory, Network Traffic, Storage

데이터에 대한 보안 및 관리는 어떻게 ?Google 은 우리가 생각하는 것만큼 보안을 유지해줄까 ?

Data Store 의 데이터의 2 차 가공은 ?

Page 18: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

예제 및 발표자료는 ?

모든 자료는 ?네이버 개발자 홈 : http://dev.naver.com/projects/edward

Subversion– http://dev.naver.com/scm/viewvc.php/trunk/Google%20App

%20Engine/?root=edward

문의 Email [email protected]

JBoss User Group 홈페이지http://cafe.naver.com/jbossug

18

Page 19: Google App Engine Google 의  App  개발 / 호스팅 플랫폼

19

Q & A

Q & A