SlideShare a Scribd company logo
Application Architecture for the Cloud Steve Loughran Julio Guijarro
8 June 2009
Why move to  the cloud? Good Cost Outsourcing hardware problems Move from capital to pay-as-you-go To handle Petabytes of data For a business plan that might work Bad: to avoid the operations team 8 June 2009
What is a cloud application? The program that is run The code/data needed to run it in a datacentre Anything needed to configure, monitor and manage the system 8 June 2009
This is not a cloud application 8 June 2009 Enterprise Java on Highly Available servers
This is not a cloud application: Java EE 8 June 2009
Things must change! Web UI for users, affiliates, marketing, operations Agile machine management is part of the API Scale up -and down Live upgrade of running system Persistence with key-value stores A Petabyte filesystem is part of the application MapReduce jobs close the loop Developers deploy to the cloud to test 8 June 2009
8 June 2009
EC2 as the cloud provider S3  for persistence, public downloads SimpleDB  provides key-value storage, but query costs unpredictable. Typica  for EC2 services API http://code.google.com/p/typica/ AWS IP rental or Dyndns for hostnames No image management services 8 June 2009 No standard Apache Stack
Sun, IBM, HP as the cloud providers S3  -like filestore EC2 and Sun RESTy APIs Unknown queue and keystore services More secure networking? Image management services? 8 June 2009 No standard Apache Stack
Private cloud Eucalyptus for deploying Xen images Various persistence options Private filestore: HDFS, kfs, Lustre Kickstart for image management? 8 June 2009 No standard Apache Stack
Whoever owns the API owns the application for its life Whoever owns the data owns you 8 June 2009
Apache Cloud Computing Edition Diverse mix of high-level technologies Very large filestore at the bottom : Hadoop APIs, Java 7 NIO, Fuse, WebDAV MapReduce phase for post-processing We need stories for : persistence, configuration, resource management 8 June 2009 A standard Apache Stack!
Front End The existing Web Front ends should work: Servlets, JSP, wicket, PSP, grails  (maybe with memcached) Glue: queues, scatter-gather, tuple-space, events Everything needs to handle an agile world Everything needs instrumenting for management 8 June 2009
Persistence ? 8 June 2009 Cassandra SimpleJPA PNUTS/Sherpa
Everything needs a REST API REST is the long-haul API -why have a separate internal one? Jersey JAX-RPC is very nice Client API evolving Http Components/HttpClient can be the foundation for the Apache client; needs AWS support.  Also:  8 June 2009
Events and messages "disk 3436 is failing" Bluetooth phone 04:5a:1f:c2:87:91 entered  cell 56 in London NW2 Queued purchases with card numbers 8 June 2009 internal and external events:   reliability, scalability, triggered actions
Resource Management? HA resource manager to monitor front end/back end load and request/release machines on demand Kill unhealthy nodes (liveness, performance) Programmable policies (money vs. load) Choreograph live upgrade/migration Resource Manager as a service 8 June 2009
Configuration & Management LDAP (and APIs) key-value stores SmartFrog moving to Apache license What is Spring planning in this area? 8 June 2009
Development How to build and test in this world? How to step through a program running on a remote datacentre? How to control testing costs? 8 June 2009 Eclipse won the Java IDE battle - It now needs to compete with Visual Studio + Azure
Testing -your first terabyte of data 8 June 2009 Lots of opportunities here! protected void map(Text key, Text test, Context context) throws IOException, InterruptedException { TestResult result = new TestResult(); Class<?> testClass = loadClass(context, test); Test testSuite = JUnitMRUtils.extractTest(testClass); TestSuiteRun tsr = new TestSuiteRun(); result.addListener(tsr); testSuite.run(result); for (SingleTestRun singleTestRun : tsr.getTests()) { context.write(new Text(singleTestRun.name), singleTestRun); } }
Testing -the infrastructure can help 8 June 2009 Pseudo-RNG driven cluster configuration
Cirrus Cloud Testbed? HP, Intel, Yahoo!, universities Heterogeneous, multiple datacentres Offering datacentre time, not specific apps Low-level API for physical machines Cloud-API for virtual machines Paying customers?  No, not yet.  Open source projects?  I hope so 8 June 2009
What next? Apache has the core of a Cloud Computing stack How do we take this and:  integrate the various pieces? extend them where appropriate? provide an alternative to AppEngine and Azureus? 8 June 2009
Call to action Stop writing EJB apps Start collecting as much data as you can and feeding that MapReduce mining-phase.  Design for: distributed not-quite-Posix filesystem, message queues, name-value databases Apache: let's build our own cloud platform 8 June 2009
 
VM Image Management  AMI Image sprawl: 10%/month Old images are a security risk The whole PXE+Kickstart process is built for physical machines.  This is not an Apache problem, but we'll need to work with the OS vendors & others to integrate 8 June 2009
HDFS improvements Scale, availability, small files: hierarchical namenodes? Could it be a general purpose media store? For web sites? 8 June 2009
Amazon EC2 8 June 2009 Host S3 Storage AMI (Xen VM) AMI (Xen VM) /mnt Host AMI (Xen VM) AMI (Xen VM) Public Internet /mnt /mnt /mnt Fast (free) network free access; slow initial read time pay per GET; per megabyte $ $ $ $ $
8 June 2009

More Related Content

What's hot (20)

PDF
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
VMware Tanzu
 
PDF
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
Nane Kratzke
 
PPTX
Cloud Native Runtime Platform
VMware Tanzu
 
PDF
Cloud Foundry Summit 2015: A Year of Innovation: Cloud Foundry Lessons Learned
VMware Tanzu
 
PDF
The Need of Cloud-Native Application
Emiliano Pecis
 
PPTX
Ensuring Cloud Native Success: Organization Transformation
Chloe Jackson
 
PDF
IoT Scale Event-Stream Processing for Connected Fleet at Penske
VMware Tanzu
 
PDF
Building A Diverse Geo-Architecture For Cloud Native Applications In One Day
VMware Tanzu
 
PPTX
Microsoft Cloud-Native Workshop Slides
VMware Tanzu
 
PPTX
"The Cloud Native Enterprise is Coming"
James Watters
 
PDF
IBM Business Connect 2015 - Bluemix Overview
gjuljo
 
PDF
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
VMware Tanzu
 
PPTX
Focusing on What Matters
VMware Tanzu
 
PDF
Pivotal Digital Transformation Forum: Becoming a Data Driven Enterprise
VMware Tanzu
 
PDF
Cloud Foundry CEO Sam Ramji 2015 OSCON Keynote
Cloud Foundry Foundation
 
PDF
Cloud Native Application Development
Siva Rama Krishna Chunduru
 
PDF
Pivotal Digital Transformation Forum: Cloud and Devops - The Reality
VMware Tanzu
 
PPTX
Building a University Community PaaS Using Cloud Foundry (Cloud Foundry Summ...
VMware Tanzu
 
PDF
cross cloud inter-operability with iPaaS and serverless for Telco cloud SDN/NFV
Krishna-Kumar
 
PDF
Cloud Native Operations
Michael Mueller
 
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
VMware Tanzu
 
ClouNS - A Cloud-native Application Reference Model for Enterprise Architects
Nane Kratzke
 
Cloud Native Runtime Platform
VMware Tanzu
 
Cloud Foundry Summit 2015: A Year of Innovation: Cloud Foundry Lessons Learned
VMware Tanzu
 
The Need of Cloud-Native Application
Emiliano Pecis
 
Ensuring Cloud Native Success: Organization Transformation
Chloe Jackson
 
IoT Scale Event-Stream Processing for Connected Fleet at Penske
VMware Tanzu
 
Building A Diverse Geo-Architecture For Cloud Native Applications In One Day
VMware Tanzu
 
Microsoft Cloud-Native Workshop Slides
VMware Tanzu
 
"The Cloud Native Enterprise is Coming"
James Watters
 
IBM Business Connect 2015 - Bluemix Overview
gjuljo
 
Using Google Cloud Services with Spring Boot and Pivotal Cloud Foundry (Pivot...
VMware Tanzu
 
Focusing on What Matters
VMware Tanzu
 
Pivotal Digital Transformation Forum: Becoming a Data Driven Enterprise
VMware Tanzu
 
Cloud Foundry CEO Sam Ramji 2015 OSCON Keynote
Cloud Foundry Foundation
 
Cloud Native Application Development
Siva Rama Krishna Chunduru
 
Pivotal Digital Transformation Forum: Cloud and Devops - The Reality
VMware Tanzu
 
Building a University Community PaaS Using Cloud Foundry (Cloud Foundry Summ...
VMware Tanzu
 
cross cloud inter-operability with iPaaS and serverless for Telco cloud SDN/NFV
Krishna-Kumar
 
Cloud Native Operations
Michael Mueller
 

Similar to Application Architecture For The Cloud (20)

PPT
Java Tech Day 2009 - Developing Cloud Computing Applications With Java
Shlomo Swidler
 
PDF
Java in the Cloud : PaaS Platforms in Comparison
adesso AG
 
PDF
Java in the Cloud : PaaS Platforms in Comparison
Eberhard Wolff
 
PPT
Cloud State of the Union for Java Developers
Burr Sutter
 
PDF
PaaS with Java
Eberhard Wolff
 
PDF
Cloudy in Indonesia: Java and Cloud
Eberhard Wolff
 
PDF
"Portrait of the developer as The Artist" Lockheed Architect Workshop
Patrick Chanezon
 
PDF
Php Development In The Cloud
Ivo Jansch
 
PDF
Spring in the Cloud
Eberhard Wolff
 
PDF
Cloud Foundry and Ubuntu - 2012
Patrick Chanezon
 
ODP
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Codemotion
 
PDF
Cloud Computing 101
Rajagopal Nagarajan
 
PDF
Deploying Java Applicationson Ec2
Chris Richardson
 
PPTX
Application design for the cloud using AWS
Jonathan Holloway
 
PPT
Cloud introduction2.ppt
Bala Anand
 
PPTX
John Landry at Mass TLC Feb09
John Landry
 
PDF
Tackling complexity in giant systems: approaches from several cloud providers
Patrick Chanezon
 
PDF
NCA GTUG 2012 - Cloud is such stuff as dreams are made on
Patrick Chanezon
 
PDF
Migrating to Public Cloud
Adrian Cockcroft
 
PDF
Stackato v3
Jonas Brømsø
 
Java Tech Day 2009 - Developing Cloud Computing Applications With Java
Shlomo Swidler
 
Java in the Cloud : PaaS Platforms in Comparison
adesso AG
 
Java in the Cloud : PaaS Platforms in Comparison
Eberhard Wolff
 
Cloud State of the Union for Java Developers
Burr Sutter
 
PaaS with Java
Eberhard Wolff
 
Cloudy in Indonesia: Java and Cloud
Eberhard Wolff
 
"Portrait of the developer as The Artist" Lockheed Architect Workshop
Patrick Chanezon
 
Php Development In The Cloud
Ivo Jansch
 
Spring in the Cloud
Eberhard Wolff
 
Cloud Foundry and Ubuntu - 2012
Patrick Chanezon
 
Enterprise Java in 2012 and Beyond, by Juergen Hoeller
Codemotion
 
Cloud Computing 101
Rajagopal Nagarajan
 
Deploying Java Applicationson Ec2
Chris Richardson
 
Application design for the cloud using AWS
Jonathan Holloway
 
Cloud introduction2.ppt
Bala Anand
 
John Landry at Mass TLC Feb09
John Landry
 
Tackling complexity in giant systems: approaches from several cloud providers
Patrick Chanezon
 
NCA GTUG 2012 - Cloud is such stuff as dreams are made on
Patrick Chanezon
 
Migrating to Public Cloud
Adrian Cockcroft
 
Stackato v3
Jonas Brømsø
 
Ad

More from Steve Loughran (20)

PPTX
Hadoop Vectored IO
Steve Loughran
 
PPTX
The age of rename() is over
Steve Loughran
 
PPTX
What does Rename Do: (detailed version)
Steve Loughran
 
PPTX
Put is the new rename: San Jose Summit Edition
Steve Loughran
 
PPTX
@Dissidentbot: dissent will be automated!
Steve Loughran
 
PPTX
PUT is the new rename()
Steve Loughran
 
PPT
Extreme Programming Deployed
Steve Loughran
 
PPT
Testing
Steve Loughran
 
PPTX
I hate mocking
Steve Loughran
 
PPTX
What does rename() do?
Steve Loughran
 
PPTX
Dancing Elephants: Working with Object Storage in Apache Spark and Hive
Steve Loughran
 
PPTX
Apache Spark and Object Stores —for London Spark User Group
Steve Loughran
 
PPTX
Spark Summit East 2017: Apache spark and object stores
Steve Loughran
 
PPTX
Hadoop, Hive, Spark and Object Stores
Steve Loughran
 
PPTX
Apache Spark and Object Stores
Steve Loughran
 
PPTX
Household INFOSEC in a Post-Sony Era
Steve Loughran
 
PPTX
Hadoop and Kerberos: the Madness Beyond the Gate: January 2016 edition
Steve Loughran
 
PPTX
Hadoop and Kerberos: the Madness Beyond the Gate
Steve Loughran
 
PPTX
Slider: Applications on YARN
Steve Loughran
 
PPTX
YARN Services
Steve Loughran
 
Hadoop Vectored IO
Steve Loughran
 
The age of rename() is over
Steve Loughran
 
What does Rename Do: (detailed version)
Steve Loughran
 
Put is the new rename: San Jose Summit Edition
Steve Loughran
 
@Dissidentbot: dissent will be automated!
Steve Loughran
 
PUT is the new rename()
Steve Loughran
 
Extreme Programming Deployed
Steve Loughran
 
I hate mocking
Steve Loughran
 
What does rename() do?
Steve Loughran
 
Dancing Elephants: Working with Object Storage in Apache Spark and Hive
Steve Loughran
 
Apache Spark and Object Stores —for London Spark User Group
Steve Loughran
 
Spark Summit East 2017: Apache spark and object stores
Steve Loughran
 
Hadoop, Hive, Spark and Object Stores
Steve Loughran
 
Apache Spark and Object Stores
Steve Loughran
 
Household INFOSEC in a Post-Sony Era
Steve Loughran
 
Hadoop and Kerberos: the Madness Beyond the Gate: January 2016 edition
Steve Loughran
 
Hadoop and Kerberos: the Madness Beyond the Gate
Steve Loughran
 
Slider: Applications on YARN
Steve Loughran
 
YARN Services
Steve Loughran
 
Ad

Recently uploaded (20)

PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PPTX
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
UiPath Academic Alliance Educator Panels: Session 2 - Business Analyst Content
DianaGray10
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 

Application Architecture For The Cloud

  • 1. Application Architecture for the Cloud Steve Loughran Julio Guijarro
  • 3. Why move to the cloud? Good Cost Outsourcing hardware problems Move from capital to pay-as-you-go To handle Petabytes of data For a business plan that might work Bad: to avoid the operations team 8 June 2009
  • 4. What is a cloud application? The program that is run The code/data needed to run it in a datacentre Anything needed to configure, monitor and manage the system 8 June 2009
  • 5. This is not a cloud application 8 June 2009 Enterprise Java on Highly Available servers
  • 6. This is not a cloud application: Java EE 8 June 2009
  • 7. Things must change! Web UI for users, affiliates, marketing, operations Agile machine management is part of the API Scale up -and down Live upgrade of running system Persistence with key-value stores A Petabyte filesystem is part of the application MapReduce jobs close the loop Developers deploy to the cloud to test 8 June 2009
  • 9. EC2 as the cloud provider S3 for persistence, public downloads SimpleDB provides key-value storage, but query costs unpredictable. Typica for EC2 services API http://code.google.com/p/typica/ AWS IP rental or Dyndns for hostnames No image management services 8 June 2009 No standard Apache Stack
  • 10. Sun, IBM, HP as the cloud providers S3 -like filestore EC2 and Sun RESTy APIs Unknown queue and keystore services More secure networking? Image management services? 8 June 2009 No standard Apache Stack
  • 11. Private cloud Eucalyptus for deploying Xen images Various persistence options Private filestore: HDFS, kfs, Lustre Kickstart for image management? 8 June 2009 No standard Apache Stack
  • 12. Whoever owns the API owns the application for its life Whoever owns the data owns you 8 June 2009
  • 13. Apache Cloud Computing Edition Diverse mix of high-level technologies Very large filestore at the bottom : Hadoop APIs, Java 7 NIO, Fuse, WebDAV MapReduce phase for post-processing We need stories for : persistence, configuration, resource management 8 June 2009 A standard Apache Stack!
  • 14. Front End The existing Web Front ends should work: Servlets, JSP, wicket, PSP, grails (maybe with memcached) Glue: queues, scatter-gather, tuple-space, events Everything needs to handle an agile world Everything needs instrumenting for management 8 June 2009
  • 15. Persistence ? 8 June 2009 Cassandra SimpleJPA PNUTS/Sherpa
  • 16. Everything needs a REST API REST is the long-haul API -why have a separate internal one? Jersey JAX-RPC is very nice Client API evolving Http Components/HttpClient can be the foundation for the Apache client; needs AWS support. Also: 8 June 2009
  • 17. Events and messages &quot;disk 3436 is failing&quot; Bluetooth phone 04:5a:1f:c2:87:91 entered cell 56 in London NW2 Queued purchases with card numbers 8 June 2009 internal and external events: reliability, scalability, triggered actions
  • 18. Resource Management? HA resource manager to monitor front end/back end load and request/release machines on demand Kill unhealthy nodes (liveness, performance) Programmable policies (money vs. load) Choreograph live upgrade/migration Resource Manager as a service 8 June 2009
  • 19. Configuration & Management LDAP (and APIs) key-value stores SmartFrog moving to Apache license What is Spring planning in this area? 8 June 2009
  • 20. Development How to build and test in this world? How to step through a program running on a remote datacentre? How to control testing costs? 8 June 2009 Eclipse won the Java IDE battle - It now needs to compete with Visual Studio + Azure
  • 21. Testing -your first terabyte of data 8 June 2009 Lots of opportunities here! protected void map(Text key, Text test, Context context) throws IOException, InterruptedException { TestResult result = new TestResult(); Class<?> testClass = loadClass(context, test); Test testSuite = JUnitMRUtils.extractTest(testClass); TestSuiteRun tsr = new TestSuiteRun(); result.addListener(tsr); testSuite.run(result); for (SingleTestRun singleTestRun : tsr.getTests()) { context.write(new Text(singleTestRun.name), singleTestRun); } }
  • 22. Testing -the infrastructure can help 8 June 2009 Pseudo-RNG driven cluster configuration
  • 23. Cirrus Cloud Testbed? HP, Intel, Yahoo!, universities Heterogeneous, multiple datacentres Offering datacentre time, not specific apps Low-level API for physical machines Cloud-API for virtual machines Paying customers? No, not yet. Open source projects? I hope so 8 June 2009
  • 24. What next? Apache has the core of a Cloud Computing stack How do we take this and: integrate the various pieces? extend them where appropriate? provide an alternative to AppEngine and Azureus? 8 June 2009
  • 25. Call to action Stop writing EJB apps Start collecting as much data as you can and feeding that MapReduce mining-phase. Design for: distributed not-quite-Posix filesystem, message queues, name-value databases Apache: let's build our own cloud platform 8 June 2009
  • 26.  
  • 27. VM Image Management AMI Image sprawl: 10%/month Old images are a security risk The whole PXE+Kickstart process is built for physical machines. This is not an Apache problem, but we'll need to work with the OS vendors & others to integrate 8 June 2009
  • 28. HDFS improvements Scale, availability, small files: hierarchical namenodes? Could it be a general purpose media store? For web sites? 8 June 2009
  • 29. Amazon EC2 8 June 2009 Host S3 Storage AMI (Xen VM) AMI (Xen VM) /mnt Host AMI (Xen VM) AMI (Xen VM) Public Internet /mnt /mnt /mnt Fast (free) network free access; slow initial read time pay per GET; per megabyte $ $ $ $ $

Editor's Notes

  • #2: This is a talk on application architecture for the cloud.