Key features review before choosing Google App Engine for mission critical application

223 views
Skip to first unread message

hugues2

unread,
Jan 18, 2012, 2:37:13 PM1/18/12
to google-a...@googlegroups.com
Hi,

Before investing financial resources to develop a mission critical application on Google App Engine, I would be very interested to have your view on the following :

I. Application requirements


- The application should be able to serve +/- 1,000 companies. Each company having +/- 10 registered users. The system should be abe to support +/- 3 transactions / second.

- The data from one company should not be visible for the other companies. 

- It should be possible to perform restore the data from each company from daily backups. That is, the system should be able to restore data for one company independently from other companies

- The size of data to be stored should be +/- 1Gb / company ==> +/- 1 Tb of data to be stored. The information to be stored is a mixed of standard data and images.

II. Questions
------------------

- Is there any key restriction which would disqualify Google App Engine for this model ?

- Based on available documentation and hands-on experience, the Datastore is not an option to the lack of relational modelling and due to the lack of fast backup / restore solution

- Is there already a view as if a backup / restore solution will be available for Cloud SQL

- Is there a support from Google to review the technical design of the solution and to provide assistance during the development ?


Thanks a lot for your help !



Brandon Wirtz

unread,
Jan 18, 2012, 3:40:42 PM1/18/12
to google-a...@googlegroups.com

Likely you will go broke on the unnecessary backups. But nothing in your doc would prevent you from using GAE. 

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To view this discussion on the web visit https://groups.google.com/d/msg/google-appengine/-/Qt-X6HGwKHMJ.
To post to this group, send email to google-a...@googlegroups.com.
To unsubscribe from this group, send email to google-appengi...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.

Greg

unread,
Jan 19, 2012, 8:18:01 PM1/19/12
to Google App Engine
On Jan 19, 8:37 am, hugues2 <hugues.flam...@gmail.com> wrote:
> - The application should be able to serve +/- 1,000 companies. Each company
> having +/- 10 registered users. The system should be abe to support +/- 3
> transactions / second.
> - The data from one company should not be visible for the other companies.

No Problem. We have over 1,100 distinct customers, each with a main
admin user and several limited users. We often reach 5 requests a
second, and GAE will handle many times this without any action on your
part.

> - It should be possible to perform restore the data from each company from
> daily backups. That is, the system should be able to restore data for one
> company independently from other companies

No problem, but may become expensive in bandwidth and storage, and
also unnecessary (unless you need roll-back to handle situations where
customers do something legal but stupid). GAE data is stored on many
machines in many data centres, where "many" is undefined - I guess
this is commercially sensitive to Google. But I have never heard of
anyone losing data on GAE, unless they deleted it themselves. We
decommissioned our backup procedures last year, after switching to the
high-replication datastore.

> - The size of data to be stored should be +/- 1Gb / company ==> +/- 1 Tb of
> data to be stored. The information to be stored is a mixed of standard data
> and images.

No problem.

I think your scenario depends almost entirely on whether you have to
rule out the datastore. If you do, GAE probably isn't for you, because
the SQL solution isn't here yet and will be hard to trust for several
months when it does arrive. But if you can make the jump from
relational to non-relational mindsets (that is a function of your
developer's skills, not a technical limitation), and if you don't need
backups for roll-back, GAE is likely to be an excellent platform for
your application. It is extremely robust, scales to enormous levels
automatically, and is remarkably cheap if you need those attributes.
Any other system will require you to hire at least one good sysadmin
to design, build and manage it, but with GAE you can put those
resources into developers to make your product better instead.

Finally, if Google don't respond to your request for technical review,
there are many competent people on this group (including myself) who
might be happy to do some consulting for you.

Best regards,
Greg.

Ikai Lan (Google)

unread,
Jan 19, 2012, 9:11:55 PM1/19/12
to google-a...@googlegroups.com
Greg, thanks for answering. Pretty much every answer has been nailed.

In general, Google doesn't provide consulting services, but there are people in this group such as Greg and Brandon who have been longtime community members and are more than happy to offer consulting services. What Google does provide is operation support via premier accounts: once you have a live, production application, you will be able to open tickets with an answer time SLA.

--
Ikai Lan 
Developer Programs Engineer, Google App Engine



--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.

Robert Kluin

unread,
Jan 20, 2012, 12:18:55 AM1/20/12
to google-a...@googlegroups.com
On Wed, Jan 18, 2012 at 14:37, hugues2 <hugues....@gmail.com> wrote:
> Hi,
>
> Before investing financial resources to develop a mission critical
> application on Google App Engine, I would be very interested to have your
> view on the following :
>
> I. Application requirements
>
>
> - The application should be able to serve +/- 1,000 companies. Each company
> having +/- 10 registered users. The system should be abe to support +/- 3
> transactions / second.

I work on apps well over a thousand transactions per second. WIth
proper design, this will not be an issue. The key point is proper
design.


>
> - The data from one company should not be visible for the other companies.

Check out namespaces. Their implementation is very confused within
the taskqueue API, but otherwise it is a very useful feature.

>
> - It should be possible to perform restore the data from each company from
> daily backups. That is, the system should be able to restore data for one
> company independently from other companies

There are many ways to accomplish this. The smart guys at VendAsta
recently wrote a blog post you might find useful:
http://www.vendasta.com/2011/09/02/incremental-data-backups-on-app-engine-using-fantasm/


>
> - The size of data to be stored should be +/- 1Gb / company ==> +/- 1 Tb of
> data to be stored. The information to be stored is a mixed of standard data
> and images.

I deal with applications that have many terabytes of data. Our
performance has been rock solid. I would say this is one spot where
App Engine truly shines. The only spot this will potentially catch
you is on your backups, but if you do incremental backups it probably
wouldn't be so bad.


>
> II. Questions
> ------------------
>
> - Is there any key restriction which would disqualify Google App Engine for
> this model ?

No.

>
> - Based on available documentation and hands-on experience, the Datastore is
> not an option to the lack of relational modelling and due to the lack of
> fast backup / restore solution

I've actually ported several database schemas to App Engine's
datastore that seemed impossible to model in a non-relational context.
Once you let go of the doubt, stop thinking in terms of tables and
columns, and start thinking in terms of objects and attributes you'll
be amazed at the datastore. I've written several backup solutions for
the datastore for clients, robust solutions can be done without a
great deal of work.

>
> - Is there already a view as if a backup / restore solution will be
> available for Cloud SQL
>
> - Is there a support from Google to review the technical design of the
> solution and to provide assistance during the development ?

I also provide App Engine consulting services.

Robert


>
>
> Thanks a lot for your help !
>
>
>

> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.

> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/Qt-X6HGwKHMJ.

Reply all
Reply to author
Forward
0 new messages