Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Evolution of Web Development in App Engine

The Evolution of Web Development in App Engine

Charla dentro del Seminario "Cloud Computing and Big Data" de la UGR.

Website: http://dicits.ugr.es/seminario-cloud/

Esteban Dorado Roldan

May 27, 2014
Tweet

More Decks by Esteban Dorado Roldan

Other Decks in Programming

Transcript

  1. GDG Granada May 27 2014 | Cloud Computing & Big

    Data | ETSIIT The Evolution of Web Development in App Engine
  2. GDG Granada About Scale • Approximate size of Google's search

    index? ◦ (2012) • How much video uploaded to YouTube every minute (in hours)? ◦ (2013) • Speaking of YouTube... monthly uniques? ◦ (2013) • How many (HTTP) "hits" does App Engine get across all apps every day? ◦ Stay tuned... • Google ever down? 500s?
  3. GDG Granada You Manage Vendor Managed Packaged Software Applications Data

    Runtime Middleware O/S Virtualization Servers Storage Networking IaaS Infrastructure-as-a-Service Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking PaaS Platform-as-a-Service Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking SaaS Software-as-a-Service Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking Cloud Computing Google
  4. GDG Granada Google Cloud Platform Compute Compute Engine (IaaS) App

    Engine (PaaS) Storage Cloud Storage Cloud SQL Cloud Datastore Services BigQuery Cloud Endpoints
  5. GDG Granada Compute Engine Debian, CentOS, RedHat, SuSe, FreeBSD, CoreOS

    Windows Server 2008 Your own custom server Internet Private Network CLI UI Code Persistent Disk Cloud Storage VM VM VM Project
  6. GDG Granada Storage Cloud Storage • Fast, scalable, highly-available object

    store (US or EU) • Strong read-your-write consistency • Easy, flexible authentication & sharing (OAuth2, ACLs) • REST API, App Engine API, Web UI, command-line Cloud SQL • MySQL-compatible relational cloud database • App Engine API or externally via JDBC
  7. GDG Granada BigQuery - Large scale query and analysis cloud

    service - Analysis of massive datasets - CSV or JSON file Directly or using GCS Optionally gzipped - Streaming API Up to 100,000 rows/sec
  8. Cloud DNS • High performance, reliable DNS service GDG Granada

    Google Cloud Platform: Services Prediction API • Machine Learning service in the cloud • Supervised learning • Train models, get "predictions" • "Magic?" Possibly Translate API • Translate text into other languages programmatically
  9. GDG Granada IDE and Tools App Engine • App Engine

    SDK • Google Plugin for Eclipse Google Cloud Platform • Google Cloud SDK: gcloud, gsutil, gcutil ◦ Also App Engine • Cloud Web Console Build and test in the cloud (Github repos)
  10. GDG Granada Hardware failure? Traffic spikes? Scaling? Patches & upgrades?

    Network issues? License management? Building a traditional web application
  11. App Engine to the rescue!! GDG Granada Build and run

    your web apps on Google’s infrastructure
  12. App Engine GDG Granada • PaaS • Popular Languages and

    Frameworks* • Focus on writing your app • Multiple Storage • Powerful Built in Services • Familiar Development Tools • Deploy at Google Scale • Administration console • Free quota**
  13. App Engine GDG Granada • AppEngine with managed VMs •

    Default domain: <id-app>.appspot.com • Custom domain* • Suppor for HTTPS & SSL* • Choose from US- or EU-based service*
  14. Specialized APIs/Services for the Sandbox Cloud Storage Images Mail Channel

    Task Queue Memcache Datastore URL Fetch User Service GDG Granada
  15. GDG Granada Hardware failure, traffic spikes, scaling, software patches, upgrades

    handled by Google... and yes, we’ll operate it for you! How does it work?
  16. GDG Granada Datastore • NOSQL database at Google scale •

    Very fast!! • Familiar native datastore for App Engine • GQL (Google Query Language) • Java and Python support only • Java have the use ORM Framework • GQL can’t execute JOINS at SELECT queries
  17. GDG Granada Datastore Entities • Has a Key and set

    Properties • The Key has a Kind, an identifier (int or String) and an Ancestor Path (Opt.) • The Properties are set type key-value • Can do Queries about the Entities
  18. GDG Granada Datastore Entity != Table • 2 entities from

    same Kind can’t have the same properties • A property can contain a value or multiple values • Diferent behaviour between a property with value null and a property didn’t inicializate • Indexes
  19. Remember dev!! GDG Granada • IaaS != PaaS • APIs:

    Pay-per-use!!! • Limited tools!!! • Doing the wrong things in GAE can be expensive
  20. Popular App Engine use cases • Mobile/Tablet ◦ App backends

    ◦ Cloud persistence • Social/Mobile Games ◦ Speed, scale ◦ API integrations ◦ Personals/dating • Consumer Web Apps ◦ Unpredictable traffic ◦ Scale • Apps in Academia ◦ Any course where students build web or mobile apps ◦ Research projects ◦ IT/Operational apps • Business Apps ◦ Enterprise ◦ Java runtime ◦ Web or Mobile
  21. GDG Granada Endpoints: How it works Write your backend code

    Anotate API methods Generate client libraries Write client apps
  22. GDG Granada Endpoints: How it works Write your backend code

    Anotate API methods Generate client libraries Write client apps
  23. GDG Granada Endpoints: How it works Write your backend code

    Anotate API methods Generate client libraries Write client apps
  24. GDG Granada Endpoints: How it works Write your backend code

    Anotate API methods Generate client libraries Write client apps
  25. GDG Granada API Tools Client Cloud Endpoints: Features • Python

    or Java backend • OAuth 2.0 support • GZip • Denial-of-service protection • client key management • Generated client libraries Android (Java) Browser (JavaScript) iOS (Objective C) • AppEngine Dev Tools • Google Plugin for Eclipse • Discovery & APIs Explorer
  26. GDG Granada Sessions • Making your Cloud Apps Google-Fast •

    Zero to Hero with Google Cloud Platform • Big Data, the Cloud Way: accelerated and simplified • Achieving more with Mobile Cloud • DevOps at the Speed of Google • Less Code, More Services, Better Android Apps • The Dawn of "Fast Data" • A New Age of Insights With Monitoring Services on Google Cloud Platform • Predicting the Future with the Google Cloud Platform
  27. Resources • Google Developers Academy: https://developers.google.com/academy/ • Google Cloud Platform:

    https://cloud.google.com/ • Cloud Endpoints: https://cloud.google.com/products/cloud-endpoints/