Platform-as-a-Service (PaaS) Overview


Published on

Walkthrough of the definition of PaaS, what benefits it introduces, risks, software vendors and more. See slide notes for the majority of the content!

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • PROBLEM:When building/running on-prem apps, you require hardware, OS, db, middleware, web servers, and custom software. ; Devs need to partner with infra with separate teams of network, db, testing, system management staff; Changes to software force us to do the whole cycle again; Problem areas: speed, agility, complexity ; acquiring environments ; continuous delivery; changing resource allocation; tightly coupled apps; separation of duties (devs doing infra, navigating the org); All those people have necessary contributions, but should infrastructure and app services play such a key role during app dev?
  • WHERE YOU WANT TO BE:Want to hit a point where building/changing an app doesn’t require engaging 12 different teams and having each team’s responsibilities bleed into another’s
  • WHAT IS IT:Definition: model of cloud computing where consumers leverage abstracted web platforms and have limited (no) visibility to infrastructure provider takes care of physical hardware, network, storage; delivers services like upgrades, maintenance, versioning, DR;SaaS = share apps, whole stack managed; IaaS = share infra, infra managed and user manages platform and apps; PaaS = share middleware, infra and platform managed and user manages apps; PaaS implements core app infra capabilities (middleware) found in on-prem app servers, integration platforms, BPM suites, DBMSs, portals and dev tools; present programming models and processing capabilities similar to on-premises solutions, but through cloud-specialized internal foundation; Get OS, runtimes, middleware, network, storage, servers all managed; provider takes responsibility for running the software stack (management, scale, provisioning, upgrades); key difference: elastic use, scale on demand, multi-tenancy, and self-service admin, use-based billing;
  • PAASBENEFITS: rapid provisioning – developers don’t request environments, they just push; clear sep of duties – infrastructure is not exposed to dev; dev couldn’t open ports, set DR strategy, etc; architect composite apps easier – combine application services in whatever way needed without separately engaging/negotiating with each provider (e.g. identity, integration, web); access to latest frameworks (public PaaS) – no waiting for internal teams to update platform versions, services; Operational benefits, developer benefits, cost benefits
  • TRENDS:blending of IaaS and PaaS (see Google, Microsoft, Tier 3); Polyglot; portability (see Apprenda, AppFog announcements about multi-cloud options); hosted AND on-premises options; languages: Javascript (Node), Java, Ruby very popular; next up, PHP and C#
  • VENDORS:Spectrum of vendors: more abstraction, less abstraction; abstraction rank (high to low) – build apps in SFDC sandbox and get data model, UI framework, search, API, security, workflow servicesproprietary programming language, limited app portability; Dynamics CRM Online – similar to Force; uses .NET and JavaScript; limited portability but some reuse of existing svcs; Heroku – build Ruby, Java, Node apps that work with robust add-on model (search, queue, db, logging, hadoop, video, more); Cloud Foundry – polyglot support with diverse application services and easiest portability; open source and no platform specific extensions; no real infra exposure except CPU, RAM; GAE – Python/Java apps in Google cloud; proprietary data query language; some infra exposure; Windows Azure – now polyglot, wide range of services available; dev still has exposure to some infra (servers it runs on); AWS – storage, queuing services provide good abstraction; elastic beanstalk looks like app PaaS; Many offerings aren’t portable on the app service side (storage, DynamoDB, SQS, SNS); -high productivity PaaS (, metadata driven) vs. high control PaaS (use programming languages)
  • DEMO:Data stored in Windows Azure Tables; Create Node.js app; create new directory on Windows File System; have npm, vmc installed; install express module; npm install express –g; create scaffolding; Express; update package.json to add dependencies for other modules; save, and do npm install to add new modules; create directory named "models" on file system; add new file named system.js; add js code; add controller named systemlist to routes directory; add js code; go to app.js file and add parameters for table storage; update index.jade; style the page; Run locally by doing “node app.js”; Visit to see running application; See web request in command prompt; See that there is no data, add new row; View Azure Storage Explorer and see it there; Switch line in app.js to use Cloud Foundry-friendly port; Push to Cloud; vmc target; vmc login --email; vmc frameworks (we have ASP.NET at Tier 3); vmc runtimes ; vmc services (we have SQL Server at Tier 3); vmc push --runtime=node08; keep defaults; Change memory allocation; vmcmem <application name> 128; Change instance count; vmc instances <application name> 2; vmc stats <application name>;
  • RISKSlock in to unique (app) servicemost are public cloud and multi-tenantinsurmountable restrictions may not fit for a given app (see highly abstracted PaaS like a friendly destination for COTS appsmany PaaS platforms aren’t comprehensive replacements for each local application service
  • STRATEGIES / NEXT STEPS: have to change process, not just a technology problem; need: extreme automation, complete self-service, limited customization, SDLC support; fit for: public web properties; services that support COTS (web services, dashboards); internal custom web apps; mobile-friendly apps;
  • Platform-as-a-Service (PaaS) Overview

    1. 1. Innovation, not InfrastructureLeveraging PaaS for application delivery Richard Seroter Product Manager, Tier 3 @rseroter
    2. 2. Development and infrastructure teams often clash when building software.
    3. 3. Ideally, there is a clear separation of duties and clean handoffs.
    4. 4. Platform-as-a-Service (PaaS) is a cloud delivery model for applications composed of services managed by a 3rd party.
    5. 5. PaaS is about speed and agilitythrough standardized services.
    6. 6. Usage is growing, especially forpolyglot clouds, but some PaaSvendors have hedged bets and added IaaS services.
    7. 7. There is great diversity among the existing offerings. Heroku Cloud Foundry Google App Engine Windows AzureAbstraction AWS Danger Zone Portability
    8. 8. Let’s see how to build something.
    9. 9. There are legitimate hurdles in attempting to completely switch to a PaaS model.
    10. 10. Being successful with PaaS requires more than just technology.
    11. 11. Thank you! @rseroter