Google app engine을 annouce를 한 이후 뜨거운(?) 반응이 곳곳에서 보인다.
이거 가만히 살펴보니 전에 내가 팀사람들과 얘기하던 서비스로서의 플랫폼과 비슷한 이야기이다.(내가 블로그 플랫폼에 대해서 이야기를 한적이 있는데, 몇몇 사람은 기억을 할거다.)
infrastructure에 대한 고민은 하지 말고, 개발자는 순수한 어플리케이션 개발과 개선에만 신경써라.
개발자의 궁극적인 프로그래밍 모델과 같은 이말은 우리 개발자들이 자주 쓰면서 지금까지 계속해서 못하던 일이다. 이 얘기를 구글이 다시하고 있다.
application의 환경을 살펴보자.
우리가 웹개발을 하면서 필요한 것은 대부분 다 지원을 하고, 성능을 위해서 필요한 아키텍쳐나 툴도 이미 다 제공을 한다.
persistent storage는 bigtable과 GFS기반으로 되어 있다.
Google App Engine applications are implemented using the Python programming language. The runtime environment includes the full Python language and most of the Python standard library.
Although Python is currently the only language supported by Google App Engine, we look forward to supporting more languages in the future.
현재는 Python만 지원을 하는데 앞으로는 더 많은 언어를 지원을 한다고 한다.
The Sandbox
- An application can only access other computers on the Internet through the provided URL fetch and email services and APIs. Other computers can only connect to the application by making HTTP (or HTTPS) requests on the standard ports.
- An application cannot write to the file system. An app can read files, but only files uploaded with the application code. The app must use the App Engine datastore for all data that persists between requests.
- Application code only runs in response to a web request, and must return response data within a few seconds. A request handler cannot spawn a sub-process or execute code after the response has been sent.
application code는 http(https) 프로토콜을 이용하고 request/reponse로 동기호출을 한다.
Python을 이용해서 개발을 하는 것에 대한 아티클이다.
http://code.google.com/appengine/articles/
Announcing Google App Engine at Campfire One on April 7, 2008
문서들을 살펴보니 Python과 기존의 프레임워크를 이용해서 좀더 어플리케이션 코드에 가까운 프레임워크를 개발을 한거 같다.
실제로 이것을 이용해서 개발을 해보면서 장단점을 알고 싶지만, 내가 Python을 잘모른다는거, 2003년쯤에 잠깐 기본서 보다가 덮었다...T.T(이번 기회에 스터디 해봐!)
Google App Engine은 대단한 물건임에는 틀림이 없다. 하지만, 런타임 환경(라이브러리 버젼, 런타임 버젼, 프레임워크 버젼 등등)이 제공자에 의해서 너무 좌지우지 되는 면이 있고, 보안을 위한 제약사항들이 조금 답답하게 느껴질수도 있겠다.
요즘 RDB에 대한 불만이 많았는데, bigtable과 GQL은 정말 부럽다.
더 자세한 내용은 여기를 가서 보자!
Google App Engine
http://code.google.com/appengine/
PS.
1. 근데 구글아저씨! 진짜 우리 infrastructure 이제 신경 안써도 되남유?
2. 사내에 필요한 공통의 플랫폼이나 컴포넌트를 만들어야 한다면, 구글이나 아마존에서 배워야 한다.

mapreduce-osdi04.pdf











