[Google App Engine]Google App Engine 시작하기

2012, Aug 11    

1. Google App Engine이란?

Google App Engine( 구글 앱 엔진 )은 Google에서 서비스하고 있는 PaaS(platform as a service) 종류의 클라우드 서비스입니다.

Google App Engine은 3가지의 장점이 있습니다.

- Easy to Get Stated

  우리가 익히 알고 있는 기술로 웹 어플리케이션을 구축하여 호스팅을 할 수 있습니다.

 Java같은 경우 Servlet을 기본으로 Spring Framework까지 구동이 가능합니다.(쓰레드 등 사용이 불가한 것도 물론 존재합니다.)

 python같은 경우는 cgi와 wsgi(Web Server Gate Interface)를 이용하여 개발이 가능합니다.

 그리고 웹 서비스를 하기 위해서는 보통 웹서버를 운영해야 됩니다

(물론 호스팅업체를 알아보아도 되지만.. 국내의 python 웹호스팅업체는 찾기가 힘듭니다). 

하지만 Google App Engine를 이용하면 로컬에서 테스트 후 업로드만으로 바로 서비스를 할 수가 있습니다.  어느정도 무료로 제공하기 때문에 한도 내에서는 무료로도 이용이 가능합니다.

-Automatic Scalability

 자동으로 확장성을 제공하여 트래픽이나 스토리지에 대한 신경을 안 쓰셔도 됩니다. 개발자는 웹 어플리케이션 제작에만 신경을 쓰시면 됩니다. (많이 쓰는 만큼 돈으로 내시면 됩니다.)

-The Reliability, Performance, and Security of Google's infrastructure

구글의 인프라를 사용하기 때문에 대규모 확장성과 보안 등을 믿고 맡길 수 있겠죠.

2. Google App Engine의 시작

https://developers.google.com/appengine/

위의 주소로 들어가시게 되면 아래의 페이지가 나오며 아래의 이미지의 붉은 네모 박스를 클릭하시면 됩니다.


아래의 붉은 네모 박스를 클릭.

</p>

 일단 나라 선택은 Other로 선택하시고 휴대폰 번호는 +82를 붙이고 앞에 0을 빼고 쓰시면 됩니다.

예를 들어 010-xxxx-xxxx라고 하시면 아래의 이미지처럼 넣으시면 됩니다.

</p>

휴대폰의 문자로 코드가 수신이 되는데 이것을 아래의 박스에 넣고 진행하시면 됩니다. 

아래의 3개의 붉은 네모 박스를 입력하시면됩니다. 중간에 콤보박스는 인증옵션을 어떻게 할 것인가 인데 저희는 기본설정인 google계정으로 하도록 하겠습니다.

아래의 페이지를 보시면 성공적을 어플리케이션을 등록을 하였습니다.

https://appengine.google.com/ 로 들어가시면 등록된 어플리케이션을 볼 수 있습니다.

지금은 어플리케이션을 배포하지 않았기 때문에 아래와 같은 페이지가 나옵니다.

3. Google App Engine 개발 환경 구축

 저는 python을 통해 Google App Engine를 이용할 것이며 Eclipse의 plugin인 pyDev을 설치하여 개발 환경을 구축 할 것입니다.

먼저 Eclipse에서 Python 개발환경을 만들어주는 pyDev 플러그인을 설치하겠습니다. 

(저는 보통 python 개발을 ubuntu에서 함으로 사진은 ubuntu기준으로 진행하겠습니다.)


일단 이클립스를 설치하시고 나시면
Help메뉴에 Instal New Software...메뉴를 선택가능합니다.

오른쪽 상단의 ADD 버튼을 눌러 Repository를 추가합니다.

name은 pyDev, Location은 http://pydev.org/updates 로 설정하고 OK누르시면 됩니다.

추가하신 pydev를 선택하시고 기다리시면 두개의 항목이 뜨는데 둘다 체크후 next를 눌러 설치를 진행합니다.

설치가 완료 후에 Eclipse에서 File - New - other를 누르시면 창이 하나 뜨는데

Wizards에pydev라고 누르시면 Google App Engine으로 프로젝트를 생성할 수 있는 것을 보실 수 있습니다.


인제 Eclipse에 python interpreter를 등록 해봅시다.

등록을 하시기전에 http://www.python.org/download/ 으로 가셔서 자신의 운영체제에 맞는 설치파일로 설치하시기 바랍니다.

(python 2.7.x버전을 설치하시기바랍니다. 아직 Google App Engine은 python 3.x버전을 지원하지 않습니다.)

 Eclipse의 상단메뉴에 Windows-Preference로 들어가게되면 옆의 메뉴에 Editor부분에 Interpreter-Python을 선택을 해야됩니다. 
 오른쪽 상단에 New버튼을 클릭하면 아래와 같은 창이 뜨며 인터프리터의 위치를 잡아 주어야 됩니다. 

저는 ubuntu에서 python2.7버전을 깔았는데 (sudo apt-get install python으로 설치하였습니다.)
인터프리터 경로가 /user/bin/python2.7 로 잡혀있었습니다. 

윈도우에서는 기본적으로 C드라이브 밑에 python27폴더에 설치가 되어있습니다.

아래의 그림처럼 Interpreter를 선택하시면

아래의 그림처럼 표시가 되며 OK를 누르시면 됩니다.

Interpreter에 연결된 모듈을 여기서 선택할 수도 있습니다.

그리고 인제 Google App Engine의 SDK를 받을 차례입니다.

자신의 운영체제에 맞는 버전을 받으시면 됩니다.


Linux 버전 SDK를 그냥 다운로드 후에 특정 위치에 압축을 풀어 두시면 됩니다.

4. Google App Engine Project 생성하기.

</p>

 Eclipse에서 File - New - other를 선택 후 Wizards: 아래의 edit box에 pydev라고 검색하시면 

PyDev Google App Engine Project를 선택할 수 있습니다.

</p>

프로젝트 이름 및 python 버전을 선택해주셔야됩니다. 아직 Google App Engine이 python 2.5와 2.7버전만 지원하므로 확실히 선택 해주셔야 됩니다.

아까 전에 받은 Google App Engine의 SDK를 압축을 푼 위치를 선택하시면 됩니다.

finish를 누르시지 마시고 꼭 Next를 누르시기 바랍니다.

아래의 그림에서 첫번째 란은 처음에 Google App Engine사이트에서  Application 이름을 입력하셔야 됩니다.

(똑바로 입력하지 않았을 시 나중에 Google App Engine에 업로드시 문제가 생길 수도 있습니다.)

그리고 기본적을 제공하는 기본 예제인 Hello World예제로 프로젝트를 생성하겠습니다.

 프로젝트가 생성이 되었습니다.

 app.yaml, Helloworld.py 그리고 python2.7 인터프리터가 프로젝트에 등록이 되어 있는 것을 볼 수 있습니다.

app.yaml은 설정파일입니다. Runtime 환경 등을 설정 할 수 있습니다. 

 그리고 프로젝트를 오른쪽 클릭을 하였을때 메뉴에서 PyDev: Google App Engine메뉴가 등록이 되어 있으면 제대로 설치하신 것입니다.

helloworld.py 파일을 열어서 Hello, World!를 Hello, Google App Engine!으로 수정해 봅시다.

그리고 나서 로컬(자신의 컴퓨터)에서 자신이 작성한 Web application이 정상 구동하는지 확인해 봅시다.

프로젝트에서 오른쪽 클릭 후 Ran As - 1 pyDev: Google App Run를 눌러봅시다.

콘솔창에서 아래와 같이 표시가 됩니다.

자신의 컴퓨터에서 Google App Engine Server가 작동이 됩니다. 로그를 보시면 2개의 URL이 있습니다. 

http://localhost:8080으로 들어가시면 아래와 같이 아까 작성한 helloworld.py대로 Hello, Google App Engine!이라고  웹브라우져에 표시가 됩니다.

http://localhost:8080/_ah/admin으로 들어가시게 되면 관리자모드로 Application을 관리할 수 있는 페이지가 나옵니다.

5. Google App Engine Project 배포하기.

위에서 Web Application이 로컬에서 정상적으로 작동하는 것을 보았으므로 인제 Google 서버에 Deploy를 시켜봅시다.

프로젝트에서 오른쪽 클릭을 하여 PyDev:Google App Engine - Upload를 클릭해 봅시다.

아래의 창이 뜨며 Run을 눌르시면 업로드가 진행됩니다.

진행 중에 이메일 주소와 비밀번호를 차례대로 물어보는데요.

 Send to Prompt: 옆에 Edit Box에 자신의 구글 계정주소를 입력 후 비밀번호를 차례로 입력하시면 됩니다.

</p>

 인제 자신이 등록한 application id를 주소를 통해 접속해봅시다. (ex. application-id.appspot.com)

다음과 같이 정상적으로 뜨는 것을 살펴 볼 수 있습니다.

</p>