This deck looks at how to build a mobile application and backend from Scratch on Google Cloud Platform and covers Wix Media Platform. This talk was first delivered at The WebSummit in Dublin 2014
Factor large Apps into micro- services Modules within an App: ● Can share state ● Communicate Securely ● Have individual performance settings and Versions ● Can be written in different languages ● Can be backed by Compute Engine VMs (Managed VMs) Module Module Module Version Version Version Version VM Instance Instance Version Version VM Instance App App Engine Modules
● Create, edit, compose, or convert bitmap images ● Supports multiple image formats ● Available as a Library and command line tool ● Written in C ImageMagick http://www.imagemagick.org/
Storage Requirements ● Storage for Image uploads and processed Images ○ Storage Buckets ○ Direct access from Mobile App ○ Notification of new Images Storage
Storage Requirements ● Storage for Image uploads and processing ○ Notification of new Images ○ Direct access from Mobile App ● Application Level Data: Users, Comments, Photos, etc ○ Scalable, Managed, Easy to Use Storage
Storage Requirements ● Storage for Image uploads and processing ○ Notification of new Images ○ Direct access from Mobile App ● Application Level Data: Users, Comments, Images, etc ○ Scalable, managed, Easy of Use ● Counter for Likes. Storage for generated timelines Storage
Redis ● Key-value cache and store ○ Fast, in-memory access ● Values can be rich data types ○ lists, sets & sorted sets, etc ○ Great for Counters ● Click to Deploy on GCP https://redis.io
Redis Click to Deploy ● Configure a Redis Cluster in seconds ● Specify ○ Node count ○ Virtual Machine type [Optional] ○ Number of persistent nodes [Optional] https://cloud.google.com/solutions/redis/click-to-deploy
● Simple API + Minimal Coding ○ Client Library Support ○ Authentication via different providers ● Reliable and highly available ● Scalable Application Backend Integration Abelana App Abelana Server
iOS Cloud Endpoints ● Create APIs for Mobile and Gaming Backends ● Decorate client interface application code or generate Endpoint classes from Models ● Discoverable, Restful APIs implemented on top of Google’s API Infrastructure ● Tools for generating mobile optimized Client Libraries for Android, iOS and Web ● OAuth 2.0 support and client key management Cloud Endpoints Abelana Server
● Automatic notification of new images ● Background Processing - Outside of User Request ● Queue based system ○ Auto retry ○ Rate configurable ● Minimal configuration and management Image Formatter / Storage Integration Storage Image formatter Abelana Server
● Allow work to be performed outside of a user request ● Push or Pull based queueing system ● Automatic Retries + Exponential backoff ● Close to zero configuration App Engine Task queues
Primary Design Considerations: ● Where best to run your application components ● Where to store various types of data ● How to effectively integrate the various components of your app Use a Modular Design for flexibility, use Managed Services where possible Wix Media Platform is a collection of services for storing, serving, uploading, and managing image, audio, and video files. Google Cloud Platform has everything you need to design and build applications Key Takeaways