Google App Engine 정순교 컴퓨터소프트웨어학과 Step 01
Contents Cloud Computing GAE GAE Test GAE Web Application Development Plan
Cloud Computing 공용 풀에 있는 구성 가능한 컴퓨팅 자원 ( 네트워크, 서버, 스토리지, 애플리케이션, 서비스 등 ) 을 온 디맨드로 이용하고, 최소한의 관리 노력과 서비스 프로바이더와의 교류로 신속하게 이용할 수 있는 모델 SaaS + 애플리케이션 로직, 플랫폼, 기반 구조 추상 화 + 배포, 실행, 관리 공수 절감 - 환경 설정에 대한 제 약 PaaS + 플랫폼 기반 구조 추 상화 + 빠르고 경제적으로 애 플리케이션 개발 가능 - 애플리케이션의 지원 과 관리 필요 IaaS + 물리적 기반 구조 추 상화 + 시스템의 확장과 축소 용이 - 장기적 관리 계획 수 립 필요 - 물리적 기반 구조보다 상위 수준 요소의 관리 와 지원 필요
GAE(Google App Engine) Google 에서 제공하는 클라우드 기반 개발 플랫폼 (PaaS) 웹 애플리케이션을 개발하기 위한 경제적이고 효율적이며 확장하기 쉬운 플랫폼 제공 Java(v1.5, v1.6), Python(v2.7.3, v2.5.2), Go(v1) 지원 자원일일 상한 ( 무료 ) 시간당 상한 ( 무료 ) 일일 상한 ( 유료 ) 시간당 상한 ( 유료 ) 요청 ( 애플리케이션에 오는 모든 요청 )130 만건 7,400 건 / 분 4300 만건 3 만건 / 분 출력 대역폭 (HTTPS 포함 ) 1GB 56MB/ 분 1GB 무료 최고 1,046GB 740MB/ 분 입력 대역폭 (HTTPS 포함 ) 1GB 56MB/ 분 1GB 무료 최고 1,046GB 740MB/ 분 CPU 시간 6.5 CPU 시 15 CPU 분 / 분 6.5 CPU 시 무료 최고 1,729 CPU 시 72 CPU 분 / 분 요청 자원을 위한 앱 엔진 할당량
GAE(Google App Engine) Cont. 배포될 기반 시설에 신경 쓸 필요가 없는 개발 환경 대부분 애플리케이션 개발 프로젝트에서는 개발과 배포 스택을 계획하는데 많은 시간을 소모 구글이 개발과 배포 기반 기술 계층을 완벽하게 마련해 놓았다. 구글이 힘을 덜어주므로 우리는 사용자의 특정한 요구에 집중 할 수 있다. 전 영역 단일 개발 환경 데이터베이스 개발, 애플리케이션 개발, UI 개발은 전혀 다른 환경에서 서로 독립된 팀에 의해 진 행 구글 웹 툴킷과 앱 엔진을 통합하면 SDK 를 내려 받아 이클립스 플러그인을 설치하는 것만으로도 단일 환경에서 전체 애플리케이션 코딩을 시작 할 수 있다. UI 를 이클립스에서 직접 자바로 구축할 수 있고, 이를 앱 엔진 자바 데이터 객체에 붙일 수 있으 며, UI 부터 DB 연결 작업까지 전부 디버깅 가능 즉석 배포, 클라우드 확장성 지금까지 개발자들은 애플리케이션을 운영 환경에 배포하는데 전체 개발 시간의 3 분의 1 을 할애 하기도 했다. 버튼 하나만 누르면 개발 환경에서 구글의 클라우드 운영환경으로 배포가 가능 배포된 애플리케이션은 완벽한 신축성을 갖고 확장된다. 제한 근본적으로 앱 엔진은 애플리케이션이 어떤 물리적인 기반 구조에든 접근하지 못하게 제한 소켓을 열거나, 백그라운드 프로세스를 실행한다거나, 다른 환경에서는 애플리케이션 개발자들 에게 허용되는 공통 백엔드 루틴을 사용하는 일 등을 할 수 없다.
GAE Test Struts2 + GAE + Eclipse + Java 1.6.x + Svn 일반적인 Java Web Application 구현에 사용되는 Struts2 Framework 를 GAE 에 적용해 봄 특정 페이지 호출과 Parameter 를 보낸 경우를 확인 함 Framework 를 사용해도 기존 Struts2 를 이용해 개발할 때와 동일한 방법으로 Parameter 의 제어가 가능함을 확인 SVN URL : Test URL 1 : Test URL 2 :
GAE Web Application Development Plan GAE + Python Django + Eclipse + Jquery + SVN 위의 구성과 DataStore 에 CRUD 기능이 있는 Web Application 구현을 계획
END