SlideShare a Scribd company logo
1 of 33
Guy Korland
AGENDA


                 PaaS, Defined


            Different Paths to PaaS


                What’s Missing?


         A (Slightly) Different Approach
THE CLOUD STACK - RECAP




                              Manage
                          applications and
                              services



                           Provision
                          hosts/VMs
A PAAS TO SUCCESS?

“There is a difference between knowing the PaaS
and walking the PaaS…”
                     Morpheus (with slight adaptations…)




What do YOU expect
out of PaaS?
WHAT DO I EXPECT OUT OF PAAS?


             I want to deploy my app
         (regardless of the stack I’m using)
WHAT DOES PAAS REALLY MEAN?


     Without fiddling with tedious installations
                of OS & middleware
WHAT DOES PAAS REALLY MEAN?


           Or host setup & provisioning




                                          7
WHAT DOES PAAS REALLY MEAN?


But still maintain the same development practices, full
               visibility, control & security
WHAT DOES PAAS REALLY MEAN?


             I want to be productive!
MANY PATHS TO PAAS
MANY PATHS TO PAAS
GOOGLE APP ENGINE
CONTROL ASSUMPTIONS




   Servers                                    Application Code
   Operating system                             – Selecting the language and
                                                   stack of choice (Java/Python)
   Language (Java, Python, Go)
   Middleware stack (data store, app server, …)
   Architecture
   Scaling (Quotas: CPU, memory, network,..)
HEROKU
CONTROL ASSUMPTIONS




 Servers                                     Application Code
 Operating system                            Selecting the middleware
 Language                                     stack from a predefined list
        (Ruby/Java/Python/Scala/Clojure/NodeJS)
 Middleware stack (DB, app server, …)
    – Multiple choices, plugins
 Architecture
 Performance (Dyno)
AWS ELASTIC %
Control Assumptions


   Servers                              Application Code
   Operating system                     Selecting the middleware
   Language (Java, .NET, PHP)            stack (anything beyond Apache/IIS)
   Middleware stack (tomcat, RDS, …)    OS configuration (if you want)
    – Can be easily extended             Performance
 Architecture (Web)                     JVM tuning/configuration
 Storage
PRODUCTIVITY MYTHS

 You have to give up control for                   “…developing on GAE
  more simplicity                                   introduced such a
    Not always…
                                                    design complexity
                                                    that working around
                                                    it pushes us 5 months
 Less code = more productivity                     behind schedule.”
    Productivity is measured by units of
     features being delivered (not lines of code)

 Opinionated architectures
  (e.g. RoR/Grails) are extremely
  productive

                                                             Carlos Ble's post
                                                             Goodbye Google App Engine
Head to Head Comparison
GAE, Heroku                   Amazon
 Top-down sandbox             Bottom-up approach
  approach                     Designed for extreme
 Highly opinionated            simplicity with a
 Extreme simplicity at the     significantly higher degree
  expense of user control       of control




    Only “long tail”,               Fits a larger
  simple applications            spectrum of apps
BUT STILL…


 Current offerings are limited by
   The stacks they support
   The environment on which they run


 Is this enough?
So What Makes for
  the Ideal PaaS?
OPEN




       any Stack, any Cloud
         (& OpenSource)
NON-INTRUSIVE




        Your app stays as is, you shouldn’t
            change the way you code
EXTENSIBLE




   Role your own stacks & auto-scaling rules
MANY PATHS TO PAAS
MANY PATHS TO PAAS
CLOUDFOUNDRY




27
OPENSHIFT




28
THE CHALLENGE (REALITY CHECK)..


                                                 “Majority of businesses are
                                               planning to move their mission-
                                                critical apps to the cloud over
                                               the next two to five years” (HP
                                                      Survey amongst 940
                 Need                                     Responders)




           Only 5 percent have been able
           to migrate at least half of their
            applications to the cloud. By
                                                             Reality
          the end of 2012, that number is
              expected to rise to 20%
                (Cisco Survey , 1300
                    Responders)



29
CLOUDIFY




30
CLOUDIFY




31
GETTING STARTED…




32        ® Copyright 2012 GigaSpaces Ltd. All Rights Reserved
                                  32
Thank You!



33

More Related Content

What's hot

Building The Modern IT
Building The Modern ITBuilding The Modern IT
Building The Modern IT
Arthur Berezin
 
Disaster recovery on demand on the cloud
Disaster recovery on demand on the cloudDisaster recovery on demand on the cloud
Disaster recovery on demand on the cloud
Nati Shalom
 

What's hot (20)

From Docker Straight to AWS
From Docker Straight to AWSFrom Docker Straight to AWS
From Docker Straight to AWS
 
Autoscaling Server Arrays
Autoscaling Server ArraysAutoscaling Server Arrays
Autoscaling Server Arrays
 
Evolution of container orchestration in Alibaba Cloud
Evolution of container orchestration in Alibaba CloudEvolution of container orchestration in Alibaba Cloud
Evolution of container orchestration in Alibaba Cloud
 
Cloudify Orchestration for Chef Users
Cloudify Orchestration for Chef UsersCloudify Orchestration for Chef Users
Cloudify Orchestration for Chef Users
 
Unlocking the Cloud Operating Model: Deployment
Unlocking the Cloud Operating Model: DeploymentUnlocking the Cloud Operating Model: Deployment
Unlocking the Cloud Operating Model: Deployment
 
Automating AWS with DevOps
Automating AWS with DevOpsAutomating AWS with DevOps
Automating AWS with DevOps
 
Building The Modern IT
Building The Modern ITBuilding The Modern IT
Building The Modern IT
 
THE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUD
THE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUDTHE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUD
THE MONSTER UNDER THE BED – OVERENGINEERING THE CLOUD
 
Intro to Cloudify
Intro to CloudifyIntro to Cloudify
Intro to Cloudify
 
Disaster recovery on demand on the cloud
Disaster recovery on demand on the cloudDisaster recovery on demand on the cloud
Disaster recovery on demand on the cloud
 
Docker on AWS
Docker on AWSDocker on AWS
Docker on AWS
 
Docker in der AWS Cloud
Docker in der AWS CloudDocker in der AWS Cloud
Docker in der AWS Cloud
 
Techdays Finland 2019 - Adventures of building a (multi-tenant) PaaS on Micro...
Techdays Finland 2019 - Adventures of building a (multi-tenant) PaaS on Micro...Techdays Finland 2019 - Adventures of building a (multi-tenant) PaaS on Micro...
Techdays Finland 2019 - Adventures of building a (multi-tenant) PaaS on Micro...
 
Killing technical debt and reducing costs with Docker
Killing technical debt and reducing costs with DockerKilling technical debt and reducing costs with Docker
Killing technical debt and reducing costs with Docker
 
Earth Observation in the Cloud
Earth Observation in the CloudEarth Observation in the Cloud
Earth Observation in the Cloud
 
Pyspark
PysparkPyspark
Pyspark
 
CloudCrowd - NT/e Presentation on Scalable Cloud Transaction & ORM
CloudCrowd - NT/e Presentation on Scalable Cloud Transaction & ORM  CloudCrowd - NT/e Presentation on Scalable Cloud Transaction & ORM
CloudCrowd - NT/e Presentation on Scalable Cloud Transaction & ORM
 
Berlioz Introduction
Berlioz IntroductionBerlioz Introduction
Berlioz Introduction
 
Using ansible to manage cloud platform by Accelerite
Using ansible to manage cloud platform by AcceleriteUsing ansible to manage cloud platform by Accelerite
Using ansible to manage cloud platform by Accelerite
 
[Datadog / AWS 共催セミナー_20190320] クラウド環境におけるモニタリングの重要性について
[Datadog / AWS 共催セミナー_20190320] クラウド環境におけるモニタリングの重要性について [Datadog / AWS 共催セミナー_20190320] クラウド環境におけるモニタリングの重要性について
[Datadog / AWS 共催セミナー_20190320] クラウド環境におけるモニタリングの重要性について
 

Viewers also liked

Quasi-Linearizability: relaxed consistency for improved concurrency.
Quasi-Linearizability: relaxed consistency for improved concurrency.Quasi-Linearizability: relaxed consistency for improved concurrency.
Quasi-Linearizability: relaxed consistency for improved concurrency.
Guy Korland
 
CloudStack and BigData
CloudStack and BigDataCloudStack and BigData
CloudStack and BigData
Sebastien Goasguen
 

Viewers also liked (20)

Building Scalable Producer-Consumer Pools based on Elimination-Diraction Trees
Building Scalable Producer-Consumer  Pools based on Elimination-Diraction TreesBuilding Scalable Producer-Consumer  Pools based on Elimination-Diraction Trees
Building Scalable Producer-Consumer Pools based on Elimination-Diraction Trees
 
Crafting a Ready-to-Go STM
Crafting  a Ready-to-Go STMCrafting  a Ready-to-Go STM
Crafting a Ready-to-Go STM
 
Paractical Solutions for Multicore Programming
Paractical Solutions for Multicore ProgrammingParactical Solutions for Multicore Programming
Paractical Solutions for Multicore Programming
 
Quasi-Linearizability: relaxed consistency for improved concurrency.
Quasi-Linearizability: relaxed consistency for improved concurrency.Quasi-Linearizability: relaxed consistency for improved concurrency.
Quasi-Linearizability: relaxed consistency for improved concurrency.
 
Lowering STM Overhead with Static Analysis
Lowering STM Overhead with Static AnalysisLowering STM Overhead with Static Analysis
Lowering STM Overhead with Static Analysis
 
Innovation in the network – Adding value to voice OpenCloud Bouygues
Innovation in the network – Adding value to voice OpenCloud BouyguesInnovation in the network – Adding value to voice OpenCloud Bouygues
Innovation in the network – Adding value to voice OpenCloud Bouygues
 
开源云产品在企业级部署的适用性探讨- CloudStack
开源云产品在企业级部署的适用性探讨- CloudStack开源云产品在企业级部署的适用性探讨- CloudStack
开源云产品在企业级部署的适用性探讨- CloudStack
 
Cloudstack 社区及商业
Cloudstack 社区及商业Cloudstack 社区及商业
Cloudstack 社区及商业
 
TADS Developer Summit OpenCloud Charlie Crighton
TADS Developer Summit OpenCloud Charlie CrightonTADS Developer Summit OpenCloud Charlie Crighton
TADS Developer Summit OpenCloud Charlie Crighton
 
Cloud stack overview
Cloud stack overviewCloud stack overview
Cloud stack overview
 
CloudStack challenges for China customers
CloudStack challenges for China customersCloudStack challenges for China customers
CloudStack challenges for China customers
 
Cloud stack for z Systems - July 2016
Cloud stack for z Systems - July 2016Cloud stack for z Systems - July 2016
Cloud stack for z Systems - July 2016
 
Implementing STM in Java
Implementing STM in JavaImplementing STM in Java
Implementing STM in Java
 
Transactional Memory
Transactional MemoryTransactional Memory
Transactional Memory
 
Computaris OpenCloud Expertise
Computaris OpenCloud ExpertiseComputaris OpenCloud Expertise
Computaris OpenCloud Expertise
 
Hybrid Cloud: OpenStack and Other Approaches
  Hybrid Cloud:  OpenStack and Other Approaches  Hybrid Cloud:  OpenStack and Other Approaches
Hybrid Cloud: OpenStack and Other Approaches
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 
Comparing open source private cloud platforms
Comparing open source private cloud platformsComparing open source private cloud platforms
Comparing open source private cloud platforms
 
CloudStack vs OpenStack
CloudStack vs OpenStackCloudStack vs OpenStack
CloudStack vs OpenStack
 
CloudStack and BigData
CloudStack and BigDataCloudStack and BigData
CloudStack and BigData
 

Similar to The Open PaaS Stack

Cloud Computing: Making the right choice
Cloud Computing: Making the right choiceCloud Computing: Making the right choice
Cloud Computing: Making the right choice
IndicThreads
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Ware
deimos
 
AWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - KeynoteAWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - Keynote
Amazon Web Services
 

Similar to The Open PaaS Stack (20)

Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...
Andrea Baldon, Emanuele Di Saverio - GraphQL for Native Apps: the MyAXA case ...
 
Conduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminarConduct JBoss EAP 6 seminar
Conduct JBoss EAP 6 seminar
 
Cloud Computing: Making the right choice
Cloud Computing: Making the right choiceCloud Computing: Making the right choice
Cloud Computing: Making the right choice
 
Above the cloud joarder kamal
Above the cloud   joarder kamalAbove the cloud   joarder kamal
Above the cloud joarder kamal
 
Déploiement dynamique d'applications OSGi sur le Cloud
Déploiement dynamique d'applications OSGi sur le CloudDéploiement dynamique d'applications OSGi sur le Cloud
Déploiement dynamique d'applications OSGi sur le Cloud
 
Gluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container InfrastructureGluecon Preso: Hybrid Container Infrastructure
Gluecon Preso: Hybrid Container Infrastructure
 
Gregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle WareGregor Hohpe Track Intro The Cloud As Middle Ware
Gregor Hohpe Track Intro The Cloud As Middle Ware
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
xPaaS – day in the life of a modern application developer
xPaaS – day in the life of a modern application developerxPaaS – day in the life of a modern application developer
xPaaS – day in the life of a modern application developer
 
Business model driven cloud adoption - what NI is doing in the cloud
Business model driven cloud adoption -  what  NI is doing in the cloudBusiness model driven cloud adoption -  what  NI is doing in the cloud
Business model driven cloud adoption - what NI is doing in the cloud
 
AWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - KeynoteAWS Summit 2014 - Perth - Keynote
AWS Summit 2014 - Perth - Keynote
 
PaaS Anywhere - Deploying an OpenShift PaaS into your Cloud Provider of Choice
PaaS Anywhere - Deploying an OpenShift PaaS into your Cloud Provider of ChoicePaaS Anywhere - Deploying an OpenShift PaaS into your Cloud Provider of Choice
PaaS Anywhere - Deploying an OpenShift PaaS into your Cloud Provider of Choice
 
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
2016 - Open Mic - IGNITE - Open Infrastructure = ANY Infrastructure
 
OpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid InfrastructureOpenStack Preso: DevOps on Hybrid Infrastructure
OpenStack Preso: DevOps on Hybrid Infrastructure
 
Deploying Apps to the Cloud
Deploying Apps to the CloudDeploying Apps to the Cloud
Deploying Apps to the Cloud
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Java PaaS Comparisons - Khanderao Kand
Java PaaS Comparisons - Khanderao KandJava PaaS Comparisons - Khanderao Kand
Java PaaS Comparisons - Khanderao Kand
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker GigaSpaces Cloudify - The PaaS Jailbreaker
GigaSpaces Cloudify - The PaaS Jailbreaker
 

More from Guy Korland

The Next Generation Application Server – How Event Based Processing yields s...
The Next Generation  Application Server – How Event Based Processing yields s...The Next Generation  Application Server – How Event Based Processing yields s...
The Next Generation Application Server – How Event Based Processing yields s...
Guy Korland
 

More from Guy Korland (9)

FalkorDB - Fastest way to your Knowledge
FalkorDB - Fastest way to your KnowledgeFalkorDB - Fastest way to your Knowledge
FalkorDB - Fastest way to your Knowledge
 
Redis Developer Day TLV - Redis Stack & RedisInsight
Redis Developer Day TLV - Redis Stack & RedisInsightRedis Developer Day TLV - Redis Stack & RedisInsight
Redis Developer Day TLV - Redis Stack & RedisInsight
 
Using Redis As Your Online Feature Store: 2021 Highlights. 2022 Directions
Using Redis As Your  Online Feature Store:  2021 Highlights. 2022 DirectionsUsing Redis As Your  Online Feature Store:  2021 Highlights. 2022 Directions
Using Redis As Your Online Feature Store: 2021 Highlights. 2022 Directions
 
Vector database
Vector databaseVector database
Vector database
 
The evolution of DBaaS - israelcloudsummit
The evolution of DBaaS - israelcloudsummitThe evolution of DBaaS - israelcloudsummit
The evolution of DBaaS - israelcloudsummit
 
From kv to multi model RedisDay NYC19
From kv to multi model   RedisDay NYC19From kv to multi model   RedisDay NYC19
From kv to multi model RedisDay NYC19
 
From Key-Value to Multi-Model - RedisConf19
From Key-Value to Multi-Model - RedisConf19From Key-Value to Multi-Model - RedisConf19
From Key-Value to Multi-Model - RedisConf19
 
The Next Generation Application Server – How Event Based Processing yields s...
The Next Generation  Application Server – How Event Based Processing yields s...The Next Generation  Application Server – How Event Based Processing yields s...
The Next Generation Application Server – How Event Based Processing yields s...
 
Deuce STM - CMP'09
Deuce STM - CMP'09Deuce STM - CMP'09
Deuce STM - CMP'09
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

The Open PaaS Stack

  • 2. AGENDA PaaS, Defined Different Paths to PaaS What’s Missing? A (Slightly) Different Approach
  • 3. THE CLOUD STACK - RECAP Manage applications and services Provision hosts/VMs
  • 4. A PAAS TO SUCCESS? “There is a difference between knowing the PaaS and walking the PaaS…” Morpheus (with slight adaptations…) What do YOU expect out of PaaS?
  • 5. WHAT DO I EXPECT OUT OF PAAS? I want to deploy my app (regardless of the stack I’m using)
  • 6. WHAT DOES PAAS REALLY MEAN? Without fiddling with tedious installations of OS & middleware
  • 7. WHAT DOES PAAS REALLY MEAN? Or host setup & provisioning 7
  • 8. WHAT DOES PAAS REALLY MEAN? But still maintain the same development practices, full visibility, control & security
  • 9. WHAT DOES PAAS REALLY MEAN? I want to be productive!
  • 13. CONTROL ASSUMPTIONS  Servers  Application Code  Operating system – Selecting the language and stack of choice (Java/Python)  Language (Java, Python, Go)  Middleware stack (data store, app server, …)  Architecture  Scaling (Quotas: CPU, memory, network,..)
  • 15. CONTROL ASSUMPTIONS  Servers  Application Code  Operating system  Selecting the middleware  Language stack from a predefined list (Ruby/Java/Python/Scala/Clojure/NodeJS)  Middleware stack (DB, app server, …) – Multiple choices, plugins  Architecture  Performance (Dyno)
  • 17. Control Assumptions  Servers  Application Code  Operating system  Selecting the middleware  Language (Java, .NET, PHP) stack (anything beyond Apache/IIS)  Middleware stack (tomcat, RDS, …)  OS configuration (if you want) – Can be easily extended  Performance  Architecture (Web)  JVM tuning/configuration  Storage
  • 18. PRODUCTIVITY MYTHS  You have to give up control for “…developing on GAE more simplicity introduced such a  Not always… design complexity that working around it pushes us 5 months  Less code = more productivity behind schedule.”  Productivity is measured by units of features being delivered (not lines of code)  Opinionated architectures (e.g. RoR/Grails) are extremely productive Carlos Ble's post Goodbye Google App Engine
  • 19. Head to Head Comparison GAE, Heroku Amazon  Top-down sandbox  Bottom-up approach approach  Designed for extreme  Highly opinionated simplicity with a  Extreme simplicity at the significantly higher degree expense of user control of control Only “long tail”, Fits a larger simple applications spectrum of apps
  • 20. BUT STILL…  Current offerings are limited by  The stacks they support  The environment on which they run  Is this enough?
  • 21. So What Makes for the Ideal PaaS?
  • 22. OPEN any Stack, any Cloud (& OpenSource)
  • 23. NON-INTRUSIVE Your app stays as is, you shouldn’t change the way you code
  • 24. EXTENSIBLE Role your own stacks & auto-scaling rules
  • 29. THE CHALLENGE (REALITY CHECK).. “Majority of businesses are planning to move their mission- critical apps to the cloud over the next two to five years” (HP Survey amongst 940 Need Responders) Only 5 percent have been able to migrate at least half of their applications to the cloud. By Reality the end of 2012, that number is expected to rise to 20% (Cisco Survey , 1300 Responders) 29
  • 32. GETTING STARTED… 32 ® Copyright 2012 GigaSpaces Ltd. All Rights Reserved 32

Editor's Notes

  1. HTTP Reverse ProxyNginx (open source, C)This is the entry point for all requests coming into the platform. We maintain many of these front-end servers, and manage DNS, load balancing, and fail-over across them.This layer is tuned for high performance, and only handles HTTP-level processing, such as SSL and gzip compression, before passing connections immediately into the stack.HTTP CacheVarnish (open source, C)All requests, big or small, flow through this ultra-high-performance cache.If the requested content is available in the cache (a "hit"), the cache responds immediately and the request never reaches the dynamic application.Modern web apps get a huge performance boost from proper caching, and most frameworks (including Rails) have cache support built in.Routing Mesh(custom written, Erlang)The routing mesh balances requests across your app's dynos, tracking load and intelligently routing traffic to available resources.This makes your app more scalable and fault tolerant, as it can route traffic around misbehaving or overloaded app servers, as well as issue requests for new ones.A distributed pool of dynamic HTTP routers, the mesh easily handles frequent and instantaneous registration and de-registration of dynos.Dyno GridThis is where the action happens. Your actual code runs inside a dyno process. You can run as many dynos as needed, and they're distributed across the grid.The number of dynos running for your app can be increased or decreased instantly – it takes less than 2 seconds to start a dyno for most apps. The routing mesh can even hold connections while waiting for a dyno to start.Memory CacheMemcached (open source, C)A high-performance in-memory cache is a standard part of the modern web app, and is built-in to every Heroku app – big or small.Memcached is perfect for storing page fragments, the results of expensive database queries, or anything else you want blazingly fast access to.
  2. How to measure productivityA generally accepted working definition of programmer productivity needs to be established and agreed upon. Appropriate metrics need to established. Productivity needs to be viewed over the lifetime of code. Example: Programmer A writes code in a shorter interval than programmer B but programmer A's code is of lower quality and months later requires additional effort to match the quality of programmer B's code; in such a case, it is fair to claim that programmer B was actually more productive.You have to give up control for better simplicityTrue in some cases – but there are many cases were better control gets you more productivity for example – choosing your own OS can get you better performance, save bugs through patches that was already addressed etc , choosing your own selection of middleware packages can save the need to develop things that was already addressed through the ecosystem,..Productivity is measured by the number of lines of codeProductivity is measured by units of features being delivered (not lines of code)Development languages is only a small measure – take scala or earlnag for example. You can code the same thing that you would do in Java in few lines of code but it doesn’t come with strong development tools support, adminstration tools, and its hard to find skilled programmer in Scala – so even in the case that you could write less code for the same feature it doesn’t means that you would be able to deliver more features faster.Opinionated architecture (Rails/Grails) gets your more productivityTrue only if you stick to the exact design concept – but in reality architecture change and doesn’t always fits to all cases – in those cases designing to an opinionated approach can be significantly more complex.. (See the Twitter example, they started with Rails and over time found out that they needed something different – at the time Rails became extremely un productive to address their new needs and coding around it was extremly difficult that twitter decided to move away from it to Java/Scala…)
  3. Any stack, any environment
  4. Any stack, any environment
  5. Any stack, any environment