SlideShare a Scribd company logo
Rich Web applications 2011
   Crashing in the cloud

   Danny Lieberman
   dannyl@software.co.il
   http://www.software.co.il/wordpress/ 


   Copyright Creative Commons Attribution License by Danny Lieberman
Course Content

   Preface
   Security
   Performance
   The future
   Summary
Preface

Cloud computing
  is fashionable.




                    Ralf Lauren Fall 2010
Preface

But what about
 performance &
 security?




                 Coco Chanel circa 1920
Cloud and the “security problem”

 Why is security so hard to sell today?
    Complex
    Hard to understand
    Economic benefit to business unclear
Cloud and the “security problem”

 Computing as a utility
   – Simple
   – Easy to measure economic benefit
   – Security is built-in
Cloud and the “security problem”

 The good news
     –   The Tier 1 providers are better at security
         than you or me
 The bad news
     –   You still have application software
     –   Just with a bigger threat surface
The cloud threat surface




 CIO mistakes
 Application software
The top 3 mistakes CIOS make

 No knowing how much your assets are worth
   asset.val()== undefined
 Writing procedures while attackers exploit
  your software
   $p != security.software
 Confusing compliance with
  data security
   $c != security.data
Rich Web 2.0 applications 2011



                                    2-5 languages
                     Server stack   Message passing in the UI




PC      Browser                           Smartphone   Device
                  3-5 languages
                  Message passing in the UI
Message passing in the UI?

Very bad idea.




                      Worst dressed at BET Awards 2010
Rich Web 2.0 entry points



                                 DB Servers
                                 Interfaces
                Server stack     PHP, C#, Ruby, J2EE
                                 HTML/Javascript/CSS
                                 Web servers




                    HTML
                    XML
 PC                 CSS
      Browser                     Smartphone   Device
                    Javascript
                    Java
                    Flash
Rich Web 2.0 attack scenarios
 Any kind of code injection
 Server or client returns invalid HTML
 Pages contain dead links
 HTML forms don't match field types expected by controllers
 Client side makes bad assumptions about AJAX services
 Server may attempt to execute invalid SQL queries
 Improper marshaling/un-marshaling
   – DB server to Web server
    – DB server to application tier
    – Web server to browser
Rich Web 2.0 vulnerabilities

 Heterogeneous stacks
       –   Too much chewing gum
 PHP, Ruby, Python
       –    Flexibility, no static type guarantees
 C#, Java
       –   Static typed, but only at Web server
       –   Code complexity increases threat surface
 Redundant code on servers and clients
 Redundant data on servers and clients
 Client-server latency
       –    Slow HTTP POST attacks
Cloud security reference model
Security summary


    Security Control model looks great
    
        But doesn't mitigate core vulnerabilities
         
              Typing issues
         
              Interface issues
         
              Redundant code, data and tiers
         
              Client-server latency
Performance - time is money

   Amazon.com
       100 ms of latency costs Amazon 1% of sales
        (http://highscalability.com)


   Google.com
       500ms delay in delivery is a 20% drop in
        traffic
        (Google VP Marissa Mayer)


    Competing stock trading platforms
       5ms delay is $4M in losses / ms.
Web servers 2011

Browser opens
  connection.

Server forks a thread
  for each connection,
  using blocking IO.

Ajax latency:
  200-600ms
Hardware 2011


    What about multiple-processor
    concurrency?

    
         Threads don't scale well with multi-cores

    
         Processes are necessary to scale to multi-
         core computers, not memory-sharing
         threads.
Threads are a bad idea


    The mixture of threads and modern multi-
    core systems add up to some serious race
    condition potential.
    http://blogs.msdn.com/b/david_leblanc/archive/2007/04/19/why-threads-are-a-bad-idea.aspx




    Thread-based networking is inefficient and
    very difficult to use.
    http://www.kegel.com/c10k.html and http://bulk.fefe.de/scalable-networking.pdf
The future of apps in the cloud




  The fundamentals of scalable systems are
  fast networking and non-blocking design—
    .The fundamentals of scalable systems are fast networking and non-blocking design—the rest is message passing



         the rest is message passing.

                    3 technologies will be game changers,I think...
                    ●
                         Web sockets
                    ●
                         Node JS
                    ●
                         Couch DB
The future of apps in the cloud

Web sockets

     Open a connection to Web
     server

     It stays open

     Pass messages

     Eliminates at least 2
     processes for every
     connection.
     (Browser-Server &
      Server-Database)

     Low Latency:
     20-60ms instead of
     200-600ms
The future of apps in the cloud

Node.js

    Javascript on
    client and server

    No threads

    No blocks or locks

    UI is HTML & CSS

    Asynchronous
    message passing
    with Web sockets
The future of apps in the cloud

CouchDB

    Application served out of CouchDB

    CouchApp lives in the browser.

    No middle tier

    Javascript on client and server

    UI is HTML & CSS

    CouchDB uses Ajax to shove
    JSON back and forth.

    CouchDB replicates on smart phones
Summary

    Application vulnerabilities are expensive
    
         100x more expensive to fix after implementation
    
         Potential data loss in the cloud
    
         Security controls don't come cheap
   Time is money
    
         High latency applications less responsive
    
         Your cloud provider charges per CPU cycle
    
         Your costs go up, revenue goes down

    Promising new technologies
    
         No middle/data tiers, reduced threat surface
    
         10x lower latency
    
         Your costs go down, revenue goes up.

More Related Content

PDF
Decoupled cms sunshinephp 2014
PPT
Server side programming
PDF
PDF
Metadata describes about data
PPTX
Server Side Programming
PDF
Beginning Microservices with .NET & RabbitMQ
DOCX
Anchal_5Jan_New
PPT
Ims soa tm and db solutions evgeni oct 2011
Decoupled cms sunshinephp 2014
Server side programming
Metadata describes about data
Server Side Programming
Beginning Microservices with .NET & RabbitMQ
Anchal_5Jan_New
Ims soa tm and db solutions evgeni oct 2011

Similar to Will Web 2.0 applications break the cloud? (20)

PPTX
BASC presentation on security and application architecture
KEY
Web frameworks don't matter
PDF
Spring Into the Cloud
PDF
Web Architectures
ODP
Trends in Technology
PPT
Beyond the Browser
KEY
JavaScript Craftsmanship: Why JavaScript is Worthy of TDD
PPTX
Webdevcon Keynote hh-2012-09-18
PDF
Building Cloud-Based Cross-Platform Mobile Web Apps
PPS
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
PPT
Part 1 network computing
PDF
Web Application Solutions
PPTX
Feed Herny developer training : crossplatform and HTML5
KEY
20120802 timisoara
KEY
Intro
PPTX
Introduction and Basics to web technology .pptx
PDF
Codecentric At Ajax World Conference San Jose
PPT
Large-scale projects development (scaling LAMP)
PPTX
Women Who Code, Ground Floor
PDF
Amish Umesh - Future Of Web App Testing - ClubHack2007
BASC presentation on security and application architecture
Web frameworks don't matter
Spring Into the Cloud
Web Architectures
Trends in Technology
Beyond the Browser
JavaScript Craftsmanship: Why JavaScript is Worthy of TDD
Webdevcon Keynote hh-2012-09-18
Building Cloud-Based Cross-Platform Mobile Web Apps
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Part 1 network computing
Web Application Solutions
Feed Herny developer training : crossplatform and HTML5
20120802 timisoara
Intro
Introduction and Basics to web technology .pptx
Codecentric At Ajax World Conference San Jose
Large-scale projects development (scaling LAMP)
Women Who Code, Ground Floor
Amish Umesh - Future Of Web App Testing - ClubHack2007
Ad

More from Flaskdata.io (19)

PDF
Flaskdata - Observability for clinical data
PDF
The travel industry does real-time. Why doesn't clinical research?
PDF
Flaskdata.io automated monitoring for clinical trials
PPTX
How to write secure code
PDF
The insights that will help your medtech clinical trial succeed
PDF
2017 02-05 en-eu-data-security_v2
PPTX
Quick user guide to the Clear Clinica Cloud EDC system
PPTX
Killed by code 2015
PPTX
Killed by code 2015
PPTX
Pathcare: Patient-issue oriented healthcare
PPTX
The Tao of GRC
PPTX
Killed by code - mobile medical devices
PPTX
Grc tao.4
PPT
Data Security For Compliance 2
PDF
Data Security For SMB - Fly first class on a budget
PDF
Data Security Metricsa Value Based Approach
PDF
Homeland Security - strengthening the weakest link
PDF
Selling Data Security Technology
PDF
Writing An Effective Security Procedure in 2 pages or less and make it stick
Flaskdata - Observability for clinical data
The travel industry does real-time. Why doesn't clinical research?
Flaskdata.io automated monitoring for clinical trials
How to write secure code
The insights that will help your medtech clinical trial succeed
2017 02-05 en-eu-data-security_v2
Quick user guide to the Clear Clinica Cloud EDC system
Killed by code 2015
Killed by code 2015
Pathcare: Patient-issue oriented healthcare
The Tao of GRC
Killed by code - mobile medical devices
Grc tao.4
Data Security For Compliance 2
Data Security For SMB - Fly first class on a budget
Data Security Metricsa Value Based Approach
Homeland Security - strengthening the weakest link
Selling Data Security Technology
Writing An Effective Security Procedure in 2 pages or less and make it stick
Ad

Recently uploaded (20)

PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Machine learning based COVID-19 study performance prediction
PPTX
MYSQL Presentation for SQL database connectivity
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Electronic commerce courselecture one. Pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Encapsulation theory and applications.pdf
PPT
Teaching material agriculture food technology
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
cuic standard and advanced reporting.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Dropbox Q2 2025 Financial Results & Investor Presentation
Machine learning based COVID-19 study performance prediction
MYSQL Presentation for SQL database connectivity
The Rise and Fall of 3GPP – Time for a Sabbatical?
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Electronic commerce courselecture one. Pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Encapsulation theory and applications.pdf
Teaching material agriculture food technology
Understanding_Digital_Forensics_Presentation.pptx
Empathic Computing: Creating Shared Understanding
20250228 LYD VKU AI Blended-Learning.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Big Data Technologies - Introduction.pptx
cuic standard and advanced reporting.pdf

Will Web 2.0 applications break the cloud?

  • 1. Rich Web applications 2011 Crashing in the cloud Danny Lieberman dannyl@software.co.il http://www.software.co.il/wordpress/  Copyright Creative Commons Attribution License by Danny Lieberman
  • 2. Course Content  Preface  Security  Performance  The future  Summary
  • 3. Preface Cloud computing is fashionable. Ralf Lauren Fall 2010
  • 4. Preface But what about performance & security? Coco Chanel circa 1920
  • 5. Cloud and the “security problem”  Why is security so hard to sell today?  Complex  Hard to understand  Economic benefit to business unclear
  • 6. Cloud and the “security problem”  Computing as a utility – Simple – Easy to measure economic benefit – Security is built-in
  • 7. Cloud and the “security problem”  The good news – The Tier 1 providers are better at security than you or me  The bad news – You still have application software – Just with a bigger threat surface
  • 8. The cloud threat surface  CIO mistakes  Application software
  • 9. The top 3 mistakes CIOS make  No knowing how much your assets are worth  asset.val()== undefined  Writing procedures while attackers exploit your software  $p != security.software  Confusing compliance with data security  $c != security.data
  • 10. Rich Web 2.0 applications 2011 2-5 languages Server stack Message passing in the UI PC Browser Smartphone Device 3-5 languages Message passing in the UI
  • 11. Message passing in the UI? Very bad idea. Worst dressed at BET Awards 2010
  • 12. Rich Web 2.0 entry points DB Servers Interfaces Server stack PHP, C#, Ruby, J2EE HTML/Javascript/CSS Web servers HTML XML PC CSS Browser Smartphone Device Javascript Java Flash
  • 13. Rich Web 2.0 attack scenarios  Any kind of code injection  Server or client returns invalid HTML  Pages contain dead links  HTML forms don't match field types expected by controllers  Client side makes bad assumptions about AJAX services  Server may attempt to execute invalid SQL queries  Improper marshaling/un-marshaling – DB server to Web server – DB server to application tier – Web server to browser
  • 14. Rich Web 2.0 vulnerabilities  Heterogeneous stacks – Too much chewing gum  PHP, Ruby, Python – Flexibility, no static type guarantees  C#, Java – Static typed, but only at Web server – Code complexity increases threat surface  Redundant code on servers and clients  Redundant data on servers and clients  Client-server latency – Slow HTTP POST attacks
  • 16. Security summary  Security Control model looks great  But doesn't mitigate core vulnerabilities  Typing issues  Interface issues  Redundant code, data and tiers  Client-server latency
  • 17. Performance - time is money  Amazon.com  100 ms of latency costs Amazon 1% of sales (http://highscalability.com)  Google.com  500ms delay in delivery is a 20% drop in traffic (Google VP Marissa Mayer)  Competing stock trading platforms  5ms delay is $4M in losses / ms.
  • 18. Web servers 2011 Browser opens connection. Server forks a thread for each connection, using blocking IO. Ajax latency: 200-600ms
  • 19. Hardware 2011  What about multiple-processor concurrency?  Threads don't scale well with multi-cores  Processes are necessary to scale to multi- core computers, not memory-sharing threads.
  • 20. Threads are a bad idea  The mixture of threads and modern multi- core systems add up to some serious race condition potential. http://blogs.msdn.com/b/david_leblanc/archive/2007/04/19/why-threads-are-a-bad-idea.aspx  Thread-based networking is inefficient and very difficult to use. http://www.kegel.com/c10k.html and http://bulk.fefe.de/scalable-networking.pdf
  • 21. The future of apps in the cloud The fundamentals of scalable systems are fast networking and non-blocking design— .The fundamentals of scalable systems are fast networking and non-blocking design—the rest is message passing the rest is message passing. 3 technologies will be game changers,I think... ● Web sockets ● Node JS ● Couch DB
  • 22. The future of apps in the cloud Web sockets  Open a connection to Web server  It stays open  Pass messages  Eliminates at least 2 processes for every connection. (Browser-Server & Server-Database)  Low Latency: 20-60ms instead of 200-600ms
  • 23. The future of apps in the cloud Node.js  Javascript on client and server  No threads  No blocks or locks  UI is HTML & CSS  Asynchronous message passing with Web sockets
  • 24. The future of apps in the cloud CouchDB  Application served out of CouchDB  CouchApp lives in the browser.  No middle tier  Javascript on client and server  UI is HTML & CSS  CouchDB uses Ajax to shove JSON back and forth.  CouchDB replicates on smart phones
  • 25. Summary  Application vulnerabilities are expensive  100x more expensive to fix after implementation  Potential data loss in the cloud  Security controls don't come cheap  Time is money  High latency applications less responsive  Your cloud provider charges per CPU cycle  Your costs go up, revenue goes down  Promising new technologies  No middle/data tiers, reduced threat surface  10x lower latency  Your costs go down, revenue goes up.