소개


Google Cloud SQL 은 고가용성, 자가관리 및 호스팅되는 SQL 저장소 솔루션을 제공하는 웹 서비스입니다. 또한 사용하기 쉽고, 어떠한 소프트웨어 설치 및 관리가 필요없으며, 중소규모 어플리케이션에 이상적입니다.

Google Cloud SQL 은 Java 또는 Python 으로 작성된 Google App Engine 어플리케이션에서 사용 가능합니다.



기능 및 능력

Google Cloud SQL 은 DB 인스턴스를 쉽고 효과적으로 생성 및 관리하는 몇 가지 기능들을 제공합니다. 주요 기능은 다음과 같습니다.
  • 클라우드상에 MySQL 데이타베이스의 호스팅  
  • DB 인스턴스의 최대 크기는 10GB
  • 동기 / 비동기 복제 기능
  • 구글 데이타스토어와 비슷한 성능
  • mysqldump 를 사용한 데이타베이스 Import / Export
  • Java / Python 와의 호환성
  • 컴맨드 라인 도구 
  • Google APIs 콘솔 내에서의 SQL 명령 프롬프트 기능


지원 

다음은 Google Cloud SQL 팀에 연락하거나 Google Cloud SQL 커뮤니티에 참여할 수 있는 몇 가지 방법입니다.


사용하기 

준비 사항
  1. 프리뷰 서비스 가입
  2. Google App Engine SDK 설치
  3. Google Cloud SQL 인스턴스 생성
  4. 접근 제어 설정

내 Google Cloud SQL 인스턴스의 사용


Google Cloud SQL 인스턴스는 다음 절차에 의해 Google APIs Console 을 사용해 관리한다.
  1. Google APIs Console 에 로그인
  2. 관리하기 원하는 Google Cloud SQL 인스턴스가 있는 프로젝트 선택
  3. 관리하기 원하는 Google Cloud SQL 인스턴스 선택

어플리케이션 작
Java 또는 Python 으로 작성된 Google App Engine 어플리케이션으로 Google Cloud SQL 에 접근할 수 있다. 우리의 Google Cloud SQL 인스턴스에 접속하고 사용하는 방법에 대해서 배워보자.

기본 동작
Posted by 따봉맨
Java Data Objects (JDO) VS  


AppEngine 의 Datastore 에서는 데이타 처리를 위한 3 가지 API 를 제공하고 있습니다.

  • 간단하게 사용 가능한 com.google.appengine.api.datastore 에 구현되어 있는 low-level API
  • RDBMS 에 데이타 저장을 위해 사용하는 표준 인터페이스인 Java Persistence API (JPA)
  • 많은 DBMS 에서 사용 가능한 표준 인테페이스인 Java Data Object (JDO)

항상 이렇게 친절하게도 여러개 중에서 마음에 드는 것을 골라쓰게 해주면 처음하는 입장에서는 아주 많이 고민스러워지죠. 뭘 써야하나? 제일 좋은 것만 공부해서 쓰고 싶은데... 다 볼 필요는 없잖아? 근데 뭘 선택해야하지?? 나중에 없어지는 API 가 밠생하지는 않을까??

이런 생각은 선택을 해야하는 입장에서는 다 똑같은가 봅니다. 아래 Stack Overflow 커뮤니티에 보면 이 질문이 올라와 있습니다.


우선  low-level API 는 사용하기는 정말 간단합니다. 하지만 prototype 에 의한 type safe 한 코드를 작성할 수 없고, 표준 인터페이스가 아니기에 향 후 다른 Database 로 이전이 완전히 불가능하게 됩니다. 물론 JDO 또는 JPA 를 선택한다고 해서 있는 그대로 DB 를 이전할 수는 없겠지요. 호환되지 않는 부분에 대해서는 철저한 분석에 의한 이전 계획이 필요할 것입니다. 그러니 결론은 JDO 와 JPA 중에서 하나를 선택해야 하는 것이지요!!

아래는 선택시 참고할 만한 자료입니다.
JDO-JPA FAQ
위의 내용들을 검토하시어 신중을 기해 선택하셔야 겠습니다.

저의 선택을 강요할 수는 없습니다!! ㅡ_ㅡ;; 제가 JDO, JPA, AppEngine 에 대해 많은 경험과 지식을 갖고 있다만 당당히 주장하겠습니다만... 저 또한 두들겨 가며 다리를 건너고 있는 터라 걱정되거든요 ^^ 같이 죽을 수는 없잖아요???
다만 저의 선택을 말씀드릴 수는 있습니다.

이 모든 것을 참고하셔서 선택하시고, 그 결과 또한 여러분의 것 입니다^^

저는 JDO 를 선택 했습니다. 위의 자료를 모두 살펴보니 JDO 로 마음이 기울었고, Google 의 AppEngine 설명 페이지로 돌아오니 각 API 에 대해서 제공하는 가이드라인을 보니 Google 이 더 관심을 갖는 API 가 JDO 라는 것이 느껴졌습니다.
Google 이 설명하는 페이즈의 내용을 보다라도 JDO 에 더 중심을 두고 설명하고 있습니다. 또한 작년에 AppEngine 을 사용하면서 막연하게 JDO 를 사용해 본 경험이 있었는데, 모델링하는데 불편함 없었던 기억이 있습니다. 그래서 이 번 프로젝트에서도 JDO 를 사용하기로 했습니다.

여러분은 어떤 선택을 하시겠습니까????
Posted by 따봉맨

Run your web apps on Google's infrastructure.
Easy to build, easy to maintain, easy to scale.



클라우드 컴퓨팅 환경 도입을 위해 변화된 업계 동향을 수집 중에 좋은 소식을 발견했습니다.

저는 Google 제품들을 아주 많이 좋아하는터라 AppEngine 을 도입하리라 생각하고 있었습니다만 한 가지 마음에 아주 크게 걸리는 것이 있었지요!! 현재의 AppEngine 은 SQL 을 사용할 수 없습니다. 구글에서 개발한 분산 데이타 저장소인 Bigtable 을 꼭 사용해야 하거든요.

기업에 있어서 데이타야 말로 생명이나 다름 없는데... 이런 데이타를 듣도보도 못한 큰 테이블에다가 죄다 넣어놔야 하는 것이지요. 한 가지 위안인 것은 구글에서 만든 서비스들은 모두 이 구조로 되어 있다고는 하는데... 설마 모두 그러겠습니까??? ㅡ_ㅡ;;; Bigtable에 데이타가 저장된 이상 다른 클라우드 서비스로의 이전이 불가능하게 되어 버리는 것이지요.

이 부분인 마음에 걸린채로 써야되나, 말아야 하나... 걱정하면서 IaaS 서비스 들을 알아보고 그랬었지요.

근데 올 해 2 분기 부터 기존 RDBMS 를 그대로 AppEngine 에서 사용할 수 있는 Google AppEngine for Business 서비스를 오픈한다는 글을 발견했습니다. 이 소식 외에도 AppEngine Roadmap 을 보시면 향 후 업그래이드 일정이 나와있습니다.

이제 마음놓고 구글의 PaaS 인 AppEngine 을 선택해도 되겠네요!!!!

2분기 될 때 까지는 어떻해야하나.... 그 전에 오픈해야 하는데.. ㅡ_ㅡ;; 이래저래 골치군요!!

Posted by 따봉맨
20세기 후반에 등장해서 21 세기 IT 업계를 평정하고 있는 구글은 참으로 밥상 하나는 잘 차리는 것 같습니다.
구글이 밥상을 차려놓으면 여러 공룡 기업들이 숟가락, 젖가락 하나씩은 얻고 있으니 말이죠!!?
또한 구글의 허를 찌르는 전략은 기가 막히는군요.여기 버섯돌이님의 글 "클라우드를 정조준한 구글의 인수합병"를 읽어 보세요!! (야후와 MS 가 안스러워 보이는군요ㅡ_ㅡ;;)

저도 클라우드 서비스에 관심이 많은 관계로 세미나에도 가보고, 공부도 하고, 저의 서비스에 직접 도입도 진행 중에 있습니다. 그러면서 느껴지는 것이 "클라우드 서비스"가 좀 더 안정화 되고, IT 업체들의 인식에 약간의 변화만 있게 된다면 정말 OpenAPI 매쉬업 바람처럼 모바일 서비스의 핵으로 자리매김하는 기술이 될 것이라 생각됩니다.

Android 어플리케이션 에코시스템의 핵심 개발 언어가 Java 였던 것 처럼 구글의 클라우드 서비스 AppEngine 에서도 Java 를 사용할 수 있습니다. 원래는 Python 만 지원하다가 Java 가 추가되었습니다.

Android 에서 모바일 어플리케이션을 개발하시는 분들은 AppEngine 의 도입으로 자신만의 서비스를 개발해 보시는 것은 어떤가요??? 저처럼요^^

클라우드를 품에 안은 PathEye, PathTour 를 열심히 개발하고 있습니다.
Posted by 따봉맨
Google 은 많은 여러 분야에 걸쳐서 유용한 개발 환경을 제공합니다. 이러한 개발 환경들은 Eclipse 라는 통합계발환경을 사용하고 있습니다.


그래서 Google 개발 환경에서 Eclipse 를 사용하는 개발자들을 위해 Google 에서는 Eclipse Plugin 을 제공하고 있습니다. 플러그인 덕분에 정말 엄청 편해 졌습니다. 저는 GWT 를 접하고, 좀 지나서 AppEngine 을 접했습니다. 그리고서 지금 소개해 드리는 "Eclipse용 Google 플러그인"을 접했지요.


근데 이 플러그인이 AppEngine 과 GWT 를 모두 지원하고 있네요. 오~~~~~~~~~~!!! 끝내줍니다.
한 번 써보세요~~~~~~~~~!!!!!!!!!!!!!!!!!!!!!


참고로...

"Google App Engin" 은 Phyon 과 Java 언어를 지원하고 유틸리티 컴퓨팅을 구현하는 Google 의 Cloud Computing 서비스 입니다.




"Googlw Web Tookit" 은 Java 개발자를 위해 개발된 Javascript 프론트엔드 어플리케이션 개발 환경 입니다.
AJAX 로 연동되는 서블릿 코드와 Javascript 로 구현되는 Rich Client UI 의 구현을 Java 코드로 깔끔하고 생산적으로 개발할 수 있도록 해줍니다.
정말 환상적인 개발 환경이죠.
자세히...

상세한 내용은 기회가 되면 예제와 함께 담아 보겠습니다.
Posted by 따봉맨

'Smart Mobile > Mobile Cloud' 카테고리의 다른 글

Eclipse용 Google 플러그인  (0) 2010.02.02
From Grid to Cloud  (0) 2009.08.05
Distributed Computing  (0) 2009.08.05
Posted by 따봉맨
Posted by 따봉맨
Posted by 따봉맨

'Smart Mobile > Mobile Cloud' 카테고리의 다른 글

From Grid to Cloud  (0) 2009.08.05
Distributed Computing  (0) 2009.08.05
Google App Engine vs Windows Azure  (0) 2009.04.19
Posted by 따봉맨
Google App Engine

Google App Engine is a platform for building and hosting web applications on Google's infrastructure. It was first released as a beta version in April 2008.

Based on cloud computing technology, Google App Engine uses multiple servers to run an application and store data, and automatically adjusts the number of servers to handle requests reliably.[1] Comparable cloud-based platforms include offerings such as Amazon Web Services and Microsoft's Azure Services Platform.

Google App Engine is free up to a certain level of used resources, after which fees are charged for additional storage, bandwidth, or CPU cycles required by the application.[2]


Windows Azure

Microsoft's Azure Services Platform is a cloud platform (cloud computing platform as a service) offering that "provides a wide range of internet services that can be consumed from both on-premises environments or the internet"[1] (though the platform itself will not be made available for on-premises deployments[2]). It is significant in that it is Microsoft's first step into cloud computing following the recent launch of the Microsoft Online Services offering.

A Community Technology Preview (CTP) was given to PDC 2008 attendees.[3] This preview is set to expire in the 2nd quarter of 2009.[citation needed]



이 두 서비스는 모두 클라우드 컴퓨팅 기술을 사용하고 있습니다. 그래서 트래픽 걱정 없이 웹 서비스를 제공할 수 있게되죠. 두 서비스의 지향하는 바가 같은 것 같습니다. 누가 따라하는 것인지.. 뭐 따라한다고 나무랄 것은 없지만요.. 둘 다 IT 계의 거인인데, 뒤따르는 쪽이 안스러워 보이네요^^
최후의 승자는 누가 될까요???

위에서 말한 서비스의 내용을 요약하면,
"클라우드 컴퓨팅 환경 위에서 웹서비스를 구현할 수 있도록 모든 제반 환경을 제공하는 서비스"
라고 보시면 됩니다. 서버, 네트워크, DB 를 다 제공해 줍니다.
그냥 만들고 싶은 서비스를 요구하는 언어(Python, Java, VB.NET, ASP.NET)로 개발해서 업로드만 하면 되는거죠. 참~ 쉽죠이??

우선 각 서비스를 느껴볼 수 있는 링크를 알려 드리겠습니다.

Google App Gallery : 실제 서비스되고 있는 웹 서비스를 사용해 볼 수 있습니다.
Windows Azure Case Studies




'Smart Mobile > Mobile Cloud' 카테고리의 다른 글

From Grid to Cloud  (0) 2009.08.05
Distributed Computing  (0) 2009.08.05
Parallel and Distributed Computing: BOINC Grid Implementation Paper  (0) 2009.08.05
Posted by 따봉맨
이전버튼 1 이전버튼