Google's Serverless Journey: Past to Present

Google's Serverless Journey: Past to Present

Google's serverless journey: past to present Wesley Chun (@wescpy) Sr. Developer Advocate, Google Spring 2019 About the speaker Mission ● Enable current and future developers and their technical management everywhere to be successful using Google Cloud and other Google developer tools & APIs. Previous experience / background ● Softwareengineer & architect for 20+ years ● One of the original Yahoo!Mail engineers G Suite Dev Show ● Author of bestselling "Core Python" books (corepython.com) goo.gl/JpBQ40 ● Technical trainer, teacher, instructor, adjunct CS faculty ● Fellow of the Python Software Foundation Agenda & takeaways ● Introduction ● What ● Platforms ● How ● Inspiration ● Why ● Summary ● When Introduction Why are you here? 01 Serverless computing means opinionated logic-hosting containers in the cloud. Serverless: the what ● Misnomer ● "No worries" ● According to Forbes*: ○ Developers focus on writing code & solving business problems without having to worry about infrastructure. ○ Servers (physical & virtual) completely abstracted away from the user. * source: Forbes (May 2018) Serverless: the why ● Fastest growing segment of cloud* ● $1.9B (2016) and $4.25B (2018) ⇒ $7.7B (2021) and $14.93B (2023) ● What if you go viral? ● What if you don't? * in USD; source: Research and Markets (Feb 2017) & (Aug 2018) Broad ecosystem Database & Storage Data Analytics ML & AI Compute Smart Messaging assistants & chat DevOps G Suite APIs Google knows serverless serverless timeline Google Google Apps Script App Maker (2009; 2009) (2016; 2018) 2008 2009 2016 2019 ??? Google Google Google App Engine Cloud Functions Cloud Run (2008; 2011) (2016; 2017; 2018) (2019; TBD) Platforms GCP + G Suite 02 Google App Engine App-hosting in the cloud Why does App Engine exist? App Engine to the rescue!! ● Focus on app not DevOps ● Enhance productivity ● Deploy globally ● Fully-managed ● Auto-scaling ● Pay-per-use ● Familiar standard runtimes Hello World (3 files: Python "MVP") app.yaml runtime: python37 main.py from flask import Flask Deploy: app = Flask(__name__) $ gcloud app deploy @app.route('/') Access globally: def hello(): return 'Hello World!' https://PROJECT_ID.appspot.com requirements.txt Flask==1.0.2 Popular App Engine use-cases ● Mobile/tablet ● Consumer web apps ○ App backends ○ Unpredictable traffic ○ Cloud persistence ○ Scale (up or down) ● Social/gaming ● Business apps ○ Speed, scale ○ Enterprise ○ API integrations ○ Java & PHP runtimes ○ Personals/dating ○ Web or mobile Google Cloud Functions Function-hosting in the cloud Why does Cloud Functions exist? ● Don't have full app ○ No framework "overhead" (LAMP, MEAN...) ○ Microservices ● Event-driven ○ Triggered via HTTP or background events ○ Auto-scaling & highly-available ○ Pay per use ● Familiar development environment ○ Cmd-line or developer console ● Cloud Functions for Firebase Hello World (Python "MVP") main.py def hello_world(request): return 'Hello World!' Deploy: $ gcloud functions deploy hello --runtime python37 --trigger-http Access globally: https://GCP_REGION-PROJECT_ID.cloudfunctions.net/hello Google Apps Script Customized JS runtime for automation, extension, and integration with G Suite and other Google or external services Sheets-bound “Hello World!” Sheets-bound “Hello World!” Apps Script intro goo.gl/1sXeuD What can you do with this? This… with help from Google Maps & Gmail function sendMap() { JS var sheet = SpreadsheetApp.getActiveSheet(); var address = sheet.getRange("A2").getValue(); var map = Maps.newStaticMap().addMarker(address); GmailApp.sendEmail('[email protected]', 'Map', 'See below.', {attachments:[map]}); } Accessing maps from spreadsheets?!? goo.gl/oAzBN9 Google App Maker Low-code assistive development for custom business apps Got app licenses for sales, marketing & operations? BUT... Custom business apps: still no easy solutions What platform Who has access should I use? to my app? Who builds my app? If no resources, how do I do it myself? Is my app compliant? Who will pay Where do I host for it? my data? Google App Maker ● Low-code assistive development environment; Cloud SQL default ● Go from idea to app in minutes ● Drag-n-drop app building ● Many pre-made template apps ● Generates Apps Script code ● Requires at least G Suite Business Custom apps across use-cases Line of Business (LOB) Operational / Process Employee directory Lender limits Room scheduling Inventory management Budget tracking Content management Project & task tracking Legal contracts Meeting planning Student progress Security dashboard Travel approvals Google Cloud Run Container-hosting in the cloud The rise of containers ● Any language ● Any library ● Any binary ● Ecosystem of base images ● Industry standard Serverless not accessible to everyone... “Can you support language _______ ?” “How can we use existing binaries?” “We can’t be locked in.” “Why do I have to choose between containers and serverless?” Google Cloud Run to the rescue! ● Fully-managed serverless "CaaS" ○ Flexibility and portability of containers, but with the convenience of serverless ○ You app, your bundled container ○ Auto-scale, -provision, -config ○ Pay-per-use ● Anti-vendor lock-in, portable to: ○ Google-managed Kubernetes cluster (GKE) ○ Or your self-managed Kubernetes cluster .js .rb .go Code, build, deploy .py .sh ... ● Any language, library, binary ○ HTTP port, stateless ● Bundle into container HTTP State ○ Build w/Docker or ○ Google Cloud Build ○ From Container Registry... ● Deploy to Cloud Run https://yourservice.run.app Inspiration Sample apps & case studies 03 Custom intelligence in Gmail Analyze G Suite data with GCP Gmail message processing with GCP Star message Categorize images Message Cloud Trigger Cloud Extract Cloud notification Pub/Sub function Functions images Vision Gmail G Suite GCP Inbox augmented with Cloud Function Big data analysis to slide presentation Access GCP tools from G Suite Store big data results Visualize big data results Ingest data from Sheets Link to chart in Sheets Supercharge G Suite with GCP Application Apps Script request Big data analytics BigQuery Slides Sheets G Suite GCP What's Next? 04 Summary ● Google knows serverless ○ Over a decade of experience ○ Been doing it before term existed ○ Variety of products serving different business needs ● Inspiration ○ Big data-to-slide deck: bit.ly/2OcptaG ○ Gmail intelligence: cloud.google.com/blog/products/application- development/adding-custom-intelligence-to-gmail-with-serverless-on-gcp ● Products ○ 2008: cloud.google.com/appengine ○ 2009: developers.google.com/apps-script ○ 2016: cloud.google.com/functions ○ 2016: gsuite.google.com/appmaker ○ 2019: cloud.google.com/run Thank you! Wesley Chun @wescpy Progress bars: goo.gl/69EJVw.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    27 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us