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

App Engine 2nd generation runtimes

App Engine 2nd generation runtimes

Guillaume Laforge

July 30, 2019

More Decks by Guillaume Laforge

Other Decks in Technology


  1. App Engine Standard 2nd generation runtimes Guillaume Laforge Google Cloud,

    Developer Advocate @glaforge
  2. Popular Languages Node.js, Java, Ruby, Go, Python, PHP Application Versioning

    Host multiple versions of your app Create dev, test, staging, prod environments Google App Engine a powerful serverless platform, to build apps that scale automatically Fully Managed Fully managed environment Focus on code, App Engine manages infra Monitoring, Logging & Diagnostics Stackdriver for application diagnostics, debugging and monitoring Traffic Splitting Route incoming requests to different app versions A/B testing, Incremental feature rollouts Application Security Access rules with App Engine firewall Custom domains with managed SSL/TLS certs Popular Languages Fully Managed Monitoring, Logging & Diagnostics Application Versioning Traffic Splitting Application Security
  3. From… to... 2008 2019

  4. Second Generation Runtimes More idiomatic code bases More portable applications

    More up-to-date runtimes </>
  5. gVisor Sandbox https://gvisor.dev/

  6. More idiomatic code bases Past limitations are gone! Python •

    Use Python 3 instead of Python 2 • Any Python web framework • Install arbitrary 3rd party dependencies (incl. native) • Access the file system • Spawn background threads • Use Google Cloud client libraries </>
  7. More idiomatic code bases Past limitations are gone! Java •

    Use Java 11 instead of Java 8 • Any web framework (incl. non-Servlet based) • No more class whitelist (Java2D, threads, sockets…) • XML configuration → YAML configuration • Customize entrypoint ◦ JVM fine-tuning, executable JARs </>
  8. More portable applications Old App Engine built-in APIs ⇒ standalone

    cloud solutions • Datastore → Cloud Datastore, Cloud Firestore, Cloud SQL • Blobstore → Cloud Storage • Cron → Cloud Scheduler • Task Queues → Cloud Tasks • Logging → Stackdriver Logging • Memcache → Cloud Memorystore
  9. More up-to-date runtimes And double the memory! Python 2.5 /

    3.7 Java 8 / 11 ß Node.js 10 PHP 5.5 / 7.2 / 7.3 Ruby 2.5 ß Go 1.11 / 1.12
  10. Java 11 Micronaut Apache Groovy PostgreSQL Demo #1

  11. Node.js with Headless Chrome Demo #2

  12. Ruby on Rails Demo #3

  13. Thank you! cloud.google.com/appengine @glaforge