2. Who am I?
Zdenko Hrcek, software consultant
(Developing on Google App Engine since 2012)
+ZdenkoHrcek
@zdenulo
zdenulo@gmail.com
http://www.the-swamp.info
3. So you have an idea?
◇ Website
◇ Mobile Application (which needs a backend)
◇ Niche SaaS (Software as a Service)
◇ Social Network
◇ Online learning platform
◇ ...
4. ◇ created by Google
◇ it’s scalable
◇ saves time for development
◇ improves developers productivity
◇ pay for what you use
◇ services
◇ SDK
◇ integration with other Google products
Why to choose
Google App Engine?
5. Created by Google
◇ introduced by Google in 2008 supporting
Python language
◇ now supports Java, Go, PHP
◇ Google is the biggest (and one of most
important) internet company
◇ Google introduced several crucial internet
technologies (which are used also in GAE),
we’re standing on the shoulder of giant
◇ It’s PaaS (Platform as a Service) which
means that Google takes care of most of the
things - you primarily take care to deploy
great code
6. It’s scalable
◇ Means that it adjusts to the traffic of your
webapp
◇ If you have “spikes” in the traffic, it adds
more resources (servers) to handle
additional load so that application runs
smoothly
◇ When traffic is reduced, it shuts down not
used servers
◇ You don’t have to worry that you will run out
of space for database
7. Saves time
◇ Developer (most of the time) doesn’t have to
worry when he/she writes code whether it
will serve 10 on 10000 users.
◇ But developer has to write code with good
practices and architecture
◇ Easy administration of application
◇ No installation & configuration of software
on servers
◇ Easy and quick deployment of the code
8. Pay for what you use
◇ very granular billing of different resources:
- data storage
- database operations (read/write)
- usage of services
- etc.
◇ free daily quota
◇ during development and early stage of your
product under certain conditions you can run
for free!!!
9. Services
◇ NoSQL database
◇ Memcache - storing temporary data in
memory to lower the speed of response
◇ Tasks Queues - background work
◇ Emails - sending / receiving emails
◇ Channels - real time notifications to
browsers
◇ Cloud Endpoints - creating interface
between backend and mobile clients
◇ Search - indexing documents and text
search
◇ etc.
10. SDK
◇ Software Development Kit
◇ When developing application, you can use
most services locally on your (developer’s)
computer
◇ Languages supported: Python, Java, Go,
PHP.
◇ Not all language SDK are on the same level,
i.e. some don’t have all functionality
11. Integration with Google
Products
◇ Google Apps
◇ Other products from Google Cloud Platform
- Google Cloud Storage
- Google Cloud SQL
- Big Query
- etc.
◇ Other Google APIs (Google Maps,
Youtube…)
12. Nothing is perfect
◇ GAE has restriction which third party libraries can
be used (but it’s not unsolvable)
◇ depending on the design and use, your billing can
raise. batching through several millions of rows in
database cost ~5$, if you do it every day...
◇ GAE is enforcing development of application under
GAE rules / services. If you want to change
platform / provider it can be costly to migrate off
the GAE (in terms of re writing and adjusting code,
database migration)
◇ If you have stable / constant traffic, you can save
money hosting somewhere else (for example
virtual machine on Google Compute Engine)
13. Now what?
◇ Think thoroughly what you want to create
◇ Be aware of your $$$
◇ If you are not programmer, find someone
who knows GAE very well (a.k.a. Me ☺) to
discuss if it suits your needs, how platform
and it’s services can be used best for your
idea
14. Who is using GAE
◇ Khan Academy, Udacity - online learning
◇ Rovio - games
◇ BestBuy - retailer
◇ Feedly - reading app
◇ Snapchat - mobile messaging