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

PaaS vs IaaS

PaaS vs IaaS

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).

Nacho Coloma

March 23, 2015
Tweet

More Decks by Nacho Coloma

Other Decks in Technology

Transcript

  1. PaaS vs IaaS Nacho Coloma — CTO at Extrema Sistemas

    Google Developer Expert @nachocoloma http://gplus.to/icoloma
  2. Cloud Platform solutions IaaS PaaS SaaS Infrastructure-as-a-Service Platform-as-a-Service Software-as-a-Service Applications

    Data Runtime Middleware O/S Virtualization Servers Storage Networking Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking Packaged Software Applications Data Runtime Middleware O/S Virtualization Servers Storage Networking You Manage Vendor Managed
  3. Google Cloud Platform Storage Cloud Storage Cloud SQL Cloud Datastore

    Compute Compute Engine (IaaS) App Engine (PaaS) Services BigQuery Cloud Endpoints
  4. My system is not always down But when it is,

    I have a team of Googlers fixing it
  5. What could go wrong? The load balancer needs high availability.

    Sessions should be sticky. If a server is down, another should assume the session. Multiple zones! Keep these servers upgraded, because, security.
  6. What could go wrong? The load balancer needs high availability.

    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
  7. What could go wrong? I don't manage the Load Balancer.

    I don't manage the Front-end Servers. I don't manage Memcache. I don't manage the Datastore.
  8. What could go wrong? I don't manage the Load Balancer.

    I don't manage the Front-end Servers. I don't manage Memcache. I don't manage the Datastore. Somebody else's problem
  9. PaaS vs IaaS Infrastructure as a Service: Give me a

    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.
  10. PaaS vs IaaS Infrastructure as a Service: Give me a

    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
  11. Copyright 2015 Google Inc Cloud Compute PaaS Preset run-times Java,

    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
  12. Copyright 2015 Google Inc Computing Continuum IaaS Raw compute Granular

    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
  13. Services on Google Cloud Platform Not constrained to a programming

    paradigm anymore. Use them inside App Engine or Compute Engine. Let’s see a couple of examples.
  14. Copyright 2015 Google Inc Copyright 2015 Google Inc • Fully

    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
  15. Copyright 2015 Google Inc Copyright 2015 Google Inc • Build

    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
  16. Copyright 2015 Google Inc Copyright 2015 Google Inc • Translate

    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
  17. Copyright 2015 Google Inc Copyright 2015 Google Inc • Predict

    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
  18. Copyright 2015 Google Inc Copyright 2015 Google Inc • Currently

    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
  19. Copyright 2015 Google Inc Copyright 2015 Google Inc • Real-time

    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
  20. Copyright 2015 Google Inc Google Cloud Messaging • Server-to-server scenarios

    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
  21. Copyright 2015 Google Inc Copyright 2015 Google Inc • Currently

    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
  22. Copyright 2015 Google Inc Copyright 2015 Google Inc • Currently

    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
  23. Copyright 2015 Google Inc Computing Continuum IaaS Raw compute Granular

    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
  24. Q? A! Nacho Coloma — CTO at Extrema Sistemas Google

    Developer Expert @nachocoloma http://gplus.to/icoloma