A brief introduction to Platform as a Service and Information as a service in the context of Google Cloud Platform, together with references to some products that can be combined with both. Delivered at Betabeers Tenerife (March 2015).
Sessions should be sticky. If a server is down, another should assume the session. Multiple zones! Keep these servers upgraded, because, security. WHY U NO WORK
Virtual Machine and I'll code my way out. Platform as a Service: Give me a bag of services and I'll code my way out. • A lot of best practices included. • Also, a lot of constraints.
Virtual Machine and I'll code my way out. Platform as a Service: Give me a bag of services and I'll code my way out. • A lot of best practices included. • Also, a lot of constraints. There used to be a clear line
Go, PHP and Python Focus is app logic Pay for what you use Less management overhead IaaS Raw compute, storage & network More granular control Pay for what you allocate More management overhead Towards managed infrastructure Towards managed services
control PaaS Preset run-times Focus is app logic Clusters Data centre as computer Declarative management Managed VMs Beta Bring your own runtime Health-checked VMs Agility NoOps Configurability DevOps
managed No-SQL storage system • Built to scale indefinitely • No planned downtime • High availability (multiple distributed copies of your data) • JSON or Protocol Buffers API • Client libraries in several languages Cloud Datastore
your own API running on App Engine • Expose your API using a RESTful interface • Includes support for OAuth 2.0 authorization • Generate client libraries • Support for both Java and Python server-side code • Includes App Engine features ◦ Scaling ◦ Denial of service protection ◦ High availability • Supports iOS, Android, and Javascript clients Cloud Endpoints
arbitrary strings between thousands of language pairs • Programmatically detect a document’s language • Support for dozens of languages • Supports the standard Google API Client Libraries ◦ Python ◦ Java ◦ Ruby ◦ Objective-C ◦ And many more Try it in your browser Translate API
trends based on historical data • Use cases include spam detection and product recommendations • Data replicated using Cloud Storage • Integrates with other GCP services including ◦ App Engine ◦ BigQuery ◦ Cloud Storage Prediction API
in Beta • Highly available and scalable DNS serving • Programmatically manage zones and records ◦ RESTful API ◦ Command-line interface • Migrate existing BIND zones to Cloud DNS Learn more at cloud.google.com Cloud DNS
remote database that is accessible directly from your client apps. • When data changes, apps will update instantly across every device -- web or mobile. • Multiple authentication support: email+password, OAuth 2.0 authorization, custom. • Offline support. • Supports iOS, Android and JavaScript clients. Firebase
within (and across) data centers • Scalable and reliable messaging • Supports many-to-many asynchronous messaging • Integrates with Cloud Dataflow for data processing pipelines • Android, iOS, Web Push • Up to 4KB of payload data • Save battery life by optimizing access to the network on mobile devices. • Free • Android, iOS, Web • Websockets • gRPC streaming mode using HTTP/2 • Android, iOS, Web • Offline support • Keeps a copy of your data on the server Cloud Pub/Sub Firebase Roll your own on GCE or custom VMs Messaging
in Alpha • Construct scalable and reliable data pipelines • Executes processing on Compute Engine instances • Provides support for ◦ ETL ◦ Analytics ◦ Real-time computation ◦ Process orchestration • Integrates with GCP services for data processing ◦ Cloud Storage ◦ Cloud Pub/Sub ◦ BigQuery • Open source Cloud Dataflow Java SDK available Cloud Dataflow
in Alpha • Based on open source Kubernetes orchestration system • Orchestrate and schedule Docker containers • Consumes Compute Engine instances and resources • Uses a declarative syntax to manage applications • Decouple operational and development concerns • Manages and maintains ◦ Logging ◦ Health management ◦ Monitoring ◦ Scaling Google Container Engine
control PaaS Preset run-times Focus is app logic Clusters Data centre as computer Declarative management Managed VMs Beta Bring your own runtime Health-checked VMs Agility NoOps Configurability DevOps