1 / 19

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

Google App Engine Google 의 App 개발 / 호스팅 플랫폼. 김병곤 fharenheit@gmail.com. 20100524 v0.4. 소개. JBoss User Group 대표 모 통신사에서 분산 컴퓨팅 기반 개인화 시스템 구축 Process Designer – ETL, Input/Output, Mining Algorithm, 통계 … Apache Hadoop/Pig/HBase Apache Cassandra Distributed Cache Log Aggregator

fawzia
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Google App EngineGoogle의 App 개발/호스팅 플랫폼 김병곤fharenheit@gmail.com 20100524 v0.4

  2. 소개 • 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

  3. 우리의 서비스 개발 목표 Social Networking 기반 Life Stream Logging 서비스 3

  4. 우리의 고민? • 어떻게 초기에 적은 비용으로 애플리케이션을 호스팅할 수 있을까? • 장비에 대한 초기 투자 비용을 어떻게 줄일 수 있을까? • 대용량 스토리지 및 트래픽을 어떻게 관리비용 부담을 줄이고 서비스할 수 있을까? • 이미지 1장 100K * 1인당 100장 * 천만명의 사용자 = 97,656,250M = 95,367G = 93T • 사용자가 늘어나는 경우 어떻게 투명하게 확장할 수 있을까? 4

  5. Google App Engine이란? • Google이 제공하는 응용 프로그램 개발 및 호스팅 플랫폼 • 스토리지/장비/네트워크 등을 관리하지 않고도 호스팅 가능 • Google 웹 사이트에서 사용하는 동일한 기술을 제공 • 개발자는 코드를 작성하여 배포하고 모니터링 • Google은 사용한 양 만큼만 비용을 청구 • 장비 사용에 대한 기존의 호스팅 비용 청구 방식이 아닌 • 스토리지/네트워크 트래픽/CPU/서비스에 대한 비용 청구 방식 5

  6. Google App Engine의 사용료 • Google App Engine의 사용료는 항상 무료로 시작 • 무료 할당량 이상 사용시 비용 청구 • 한도 초과시 HTTP 403 or 리소스 할당 거부 or 경고 • GAE는 폭주률을 통해 과도한 리소스 폭주를 통제 고정 할당량 1일 할당량 http://code.google.com/intl/ko-KR/appengine/docs/quotas.html 6

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

  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) 8

  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 지원 9

  10. Google App Engine 개발 환경 준비 Sun JDK 6 Eclipse Galileo Eclipse Plugin 10

  11. Google App Engine의 애플리케이션 생성하기 URL : <APPID>.appspot.com 11

  12. Google App Engine으로 Deployment 12

  13. Google App Engine의 Dashboard 13

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

  15. Google App Engine을이용한 개발 Demo 15

  16. 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

  17. Google App Engine의제약사항 • 과연 기대하는 것 만큼 성능이 나올까? • 성능 때문에 많은 사람들이 사용을 꺼려한다. • 어느 정도 개발 환경의 유연성이 보장되는지? • Google에 제공하는 환경을 따라야 하므로 유연성 매우 부족 • API가 다른 Framework와 같이 사용함에 있어서 제약 많음 • 정말 비용을 줄여주는지? • 개발자는 리소스 사용을 줄이는 코드를 작성할 필요가 있다  CPU, Memory, Network Traffic, Storage • 데이터에 대한 보안 및 관리는 어떻게? • Google은 우리가 생각하는 것만큼 보안을 유지해줄까? • Data Store의 데이터의 2차 가공은? 17

  18. 예제 및 발표자료는? • 모든 자료는? • 네이버 개발자 홈 : http://dev.naver.com/projects/edward • Subversion • http://dev.naver.com/scm/viewvc.php/trunk/Google%20App%20Engine/?root=edward • 문의 Email • fharenheit@gmail.com • JBoss User Group 홈페이지 • http://cafe.naver.com/jbossug 18

  19. Q & A Q & A 19

More Related