SlideShare a Scribd company logo
PaaS Cloud with Java
Eberhard Wolff, Principal Technologist, SpringSource โ€“ A division of VMware
ewolff@vmware.com
Twitter: @ewolff
Blog: http://ewolff.com




                                                                    ยฉ 2009 VMware Inc. All rights reserved
Agenda
ยง๏‚งโ€ฏ A Few Words About Cloud
ยง๏‚งโ€ฏ PaaS โ€“ Platform as a Service
ยง๏‚งโ€ฏ Google App Engine
ยง๏‚งโ€ฏ Vmforce
ยง๏‚งโ€ฏ Amazon Beanstalk




                                   2
A Few Words About Cloud




                          3
Three types of Clouds

      Infrastructure            Platform                  Software
    as a Service           as a Service               as a Service
  โ€ขโ€ฏ Virtual Servers     โ€ขโ€ฏ Virtual Application     โ€ขโ€ฏ Software or Service
  โ€ขโ€ฏ Virtual Storage        Server                     that you use

  โ€ขโ€ฏ Similar to          โ€ขโ€ฏ Handles Scale-Out       โ€ขโ€ฏ Components that you
     Virtualization      โ€ขโ€ฏ Everything is              add/integrate into
                                                       your app
  โ€ขโ€ฏ Custom Solutions       Services and APIs

  โ€ขโ€ฏ Manage Everything   โ€ขโ€ฏ Usually Larger Buy-In
     Yourself            โ€ขโ€ฏ Mostly Managed by
                            Provider




                                                                             4
Cloud might be...

โ€ขโ€ฏ Private /internal โ€œon premiseโ€
   โ€“โ€ฏ In your data center
   โ€“โ€ฏ Useful in particular for larger organizations
โ€ขโ€ฏ Public โ€œoff premiseโ€
   โ€“โ€ฏ Hosted and Operated by a third Party
   โ€“โ€ฏ Ideal for Startups etc


โ€ขโ€ฏ Even smaller enterprises can create private clouds
โ€ขโ€ฏ Based on virtualization




                                                        5
Cloud at the Core is a Business Model

ยง๏‚งโ€ฏ Customer pays only for what he uses
 โ€ขโ€ฏ Per CPU hour or cycles, per GB of storage, per MB of network bandwidth
 โ€ขโ€ฏ Per user and year
 โ€ขโ€ฏ Not for having stand-by capacity


ยง๏‚งโ€ฏ Flexibility: More capacity is available on demand
 โ€ขโ€ฏ Instantly available
 โ€ขโ€ฏ Customer uses GUI or API to expand capacity
 โ€ขโ€ฏ Cloud provider is responsible for having capacity ready


ยง๏‚งโ€ฏ Makes IT just another service




                                                                             6
Why Cloud?

ยง๏‚งโ€ฏ Compelling Economics
  โ€ขโ€ฏ Lower CapEx
  โ€ขโ€ฏ Cheaper handling of peak loads
  โ€ขโ€ฏ Better resource utilization
  โ€ขโ€ฏ Simple to achieve benefits โ€“ direct ROI


ยง๏‚งโ€ฏ Flexibility and better productivity for
  development
  โ€ขโ€ฏ Much easier to set up environments
  โ€ขโ€ฏ Feasible to have production-like environments
   quickly and cheaply available
  โ€ขโ€ฏ Indirect: Better productivity leads to cost
   saving / better time to market




                                                     7
OK, so let me get started




                            8
So, let me get started

ยง๏‚งโ€ฏ Get an account at an IaaS provider
ยง๏‚งโ€ฏ โ€ฆor virtualize your data center and create a self service portal

ยง๏‚งโ€ฏ Install your (Java EE) environment
ยง๏‚งโ€ฏ Install your (Java) application
ยง๏‚งโ€ฏ Done

ยง๏‚งโ€ฏ Wow, that was easy!




                                                                       9
That is not enough

ยง๏‚งโ€ฏ How do you deal with peaks? Need more app server instances
ยง๏‚งโ€ฏ The server instances must be shut down after the peak
ยง๏‚งโ€ฏ โ€ฆotherwise you would pay for them
ยง๏‚งโ€ฏ Traditional middleware does not allow for that
ยง๏‚งโ€ฏ Elastic scaling

ยง๏‚งโ€ฏ RBMS prefer scale up (larger server)
ยง๏‚งโ€ฏ In the cloud it is easier to scale out (more server)
ยง๏‚งโ€ฏ That is why Amazon and Google use NoSQL / key-value stores




                                                                 10
That is not enough: Handling Lot of Date

ยง๏‚งโ€ฏ Traditional approach: Batch on a few nodes
ยง๏‚งโ€ฏ Alternative approach: Map / Reduce on
 many nodes
ยง๏‚งโ€ฏ Map each value using some function
 โ€ขโ€ฏ Runs on many nodes in parallel
 โ€ขโ€ฏ E.g. given a text file emit a word count each time a
   word is found
ยง๏‚งโ€ฏ Reduce takes the result of the map step and
 reduces it
 โ€ขโ€ฏ E.g. add up all word counts
ยง๏‚งโ€ฏ Distributed algorithm running on potentially
 many nodes
ยง๏‚งโ€ฏ Cloud: Can easily use a lot of nodes to run
                                                           Map   Reduce


                                                                    11
That is not enough: More Than Just a Virtualized Computer

ยง๏‚งโ€ฏ Additional services
  โ€ขโ€ฏ Amazon Simple Queue Service (SQS)
  โ€ขโ€ฏ Amazon Simple Notification Service (SNS)
  โ€ขโ€ฏ Amazon Simple Storage Service (S3)
  โ€ขโ€ฏ Amazon Elastic Block Store (EBS)




                                                            12
Cloud Influences the Programming Model

ยง๏‚งโ€ฏ Some Jave EE technologies are not a good fit
 โ€ขโ€ฏ Non-JMS messaging technologies
   โ€ขโ€ฏ AMQP / RabbitMQ
   โ€ขโ€ฏ Amazon Simple Queue Service (SQS)
   โ€ขโ€ฏ Amazon Simple Notification Service (SNS)
 โ€ขโ€ฏ Two Phase Commit / JTA leads to long locking / strong coupling
 โ€ขโ€ฏ What do you do about Map / Reduce?
 โ€ขโ€ฏ What do you do about NoSQL?


ยง๏‚งโ€ฏ You might be better off with a different programming model
 โ€ขโ€ฏ Spring can handle non-Java-EE environments (e.g. Tomcat)
 โ€ขโ€ฏ Projects for NoSQL, AMQP โ€ฆ




                                                                     13
More Flexibility Needed

ยง๏‚งโ€ฏ And remember: You pay the resources you consume
ยง๏‚งโ€ฏ You need to use more or less resources based on load

ยง๏‚งโ€ฏ You need to be able to shut down servers if load is low
ยง๏‚งโ€ฏ You need to be able to start new servers if load is high




                                                               14
What you will eventually come up with
ยง๏‚งโ€ฏ A tool to take an Application
ยง๏‚งโ€ฏ โ€ฆand create a VM with all needed
  infrastructure etc


ยง๏‚งโ€ฏ Need tools to
  โ€ขโ€ฏ Install software
  โ€ขโ€ฏ Manage infrastructure
  โ€ขโ€ฏ Configure infrastructure
  โ€ขโ€ฏ Set up user etc
  โ€ขโ€ฏ Puppet, Chef etc.


ยง๏‚งโ€ฏ Like a factory for VMs



                                         15
Soโ€ฆ

ยง๏‚งโ€ฏ Can we automate this?
ยง๏‚งโ€ฏ Developers just want a platform to run applications on

ยง๏‚งโ€ฏ Also: Developers need other non-Java-EE services




                                                             16
Introducingโ€ฆ




               17
The PaaS!

            18
Platform as a service (PaaS) the delivery of a
computing platform and solution stack as a
                   service.




                                                 19
Not just automatedโ€ฆ




                      20
Invisible




            PaaS

                   21
PaaS: Advantages and Disadvantages

ยง๏‚งโ€ฏ Advantages
 โ€ขโ€ฏ More useful than IaaS: You would need to install a server anyway
 โ€ขโ€ฏ Automatic scaling
   โ€ขโ€ฏ Resources automatically added
 โ€ขโ€ฏ Can offer additional service
   โ€ขโ€ฏ Tuned for Cloud
   โ€ขโ€ฏ Technical e.g. data store, messaging, GUI elements
   โ€ขโ€ฏ Domain e.g. predefined data model
ยง๏‚งโ€ฏ Disadvantages
 โ€ขโ€ฏ Less flexible
   โ€ขโ€ฏ Pre-defined programming model
   โ€ขโ€ฏ Defines environment
 โ€ขโ€ฏ Programming model might be different
   โ€ขโ€ฏ Hard to port existing code
   โ€ขโ€ฏ Need to learn

                                                                       22
Google App Engine




                    23
Google App Engine

ยง๏‚งโ€ฏ Infrastructure offered by Google
ยง๏‚งโ€ฏ Supports Java and Python

ยง๏‚งโ€ฏ Infrastructure completely hidden

ยง๏‚งโ€ฏ GAE sandbox more restrictive than normal JVM sandbox
ยง๏‚งโ€ฏ So GAE can handle your application better
ยง๏‚งโ€ฏ Java classes white list
 โ€ขโ€ฏ i.e. some Java classes must not be used
 โ€ขโ€ฏ no Thread
 โ€ขโ€ฏ no file system
 โ€ขโ€ฏ parts of System class (e.g. gc(), exit()โ€ฆ)
 โ€ขโ€ฏ Reflection and ClassLoader work

                                                           24
Google App Engine: Storage

ยง๏‚งโ€ฏ Relational database only in App Engine for Business
ยง๏‚งโ€ฏ Based on BigTable
  โ€ขโ€ฏ Google's storage technology
  โ€ขโ€ฏ Key/value i.e. objects stored under some key
  โ€ขโ€ฏ No joins
  โ€ขโ€ฏ Simple / simplistic (?)
  โ€ขโ€ฏ Scalable
  โ€ขโ€ฏ Example of NoSQL
  โ€ขโ€ฏ Principles will be discussed further in NoSQL


ยง๏‚งโ€ฏ Max. 1 MB per entity (and other limitations)




                                                          25
Google App Engine: Storage APIs
ยง๏‚งโ€ฏ API: Low level com.google.appengine.api.datastore
 โ€ขโ€ฏ Not compatible to JDBC or the like
 โ€ขโ€ฏ Queries, transactions, entities etc.
 โ€ขโ€ฏ Should only be used by framework
ยง๏‚งโ€ฏ API: JDO (Java Data Objects)
 โ€ขโ€ฏ Standard for O/R Mapper and OODBMS
 โ€ขโ€ฏ Unsupported: Joins, JDOQL grouping and aggregates, polymorphic queries
ยง๏‚งโ€ฏ API: JPA (Java Persistence API)
 โ€ขโ€ฏ Well established standard for O/R Mappers
 โ€ขโ€ฏ Unsupported: Many-to-many relationships; join, aggregate and polymorphic
   queries, some inheritance mappings
ยง๏‚งโ€ฏ Problem: JPA / JDO based on RDBMS, but this is key/value
 ยง๏‚งโ€ฏ So maybe use the low level API instead?
ยง๏‚งโ€ฏ JPA and JDO actually implemented by Data Nucleus library
 โ€ขโ€ฏ Byte code must be enhanced in an additional compile step
                                                                               26
Google App Engine: Additional services

ยง๏‚งโ€ฏ Memcache
 โ€ขโ€ฏ Implements JCache (JSR 107)
 โ€ขโ€ฏ Fast access to data in memory
ยง๏‚งโ€ฏ URL Fetch based on java.net.URL to read data via HTTP
ยง๏‚งโ€ฏ EMail support using JavaMail
ยง๏‚งโ€ฏ XMPP instant messages (proprietary API)
ยง๏‚งโ€ฏ Image Manipulation (proprietary API)
ยง๏‚งโ€ฏ Authentication / Authorization based on Google accounts
 (proprietary API)
ยง๏‚งโ€ฏ Task queuing (proprietary API, experimental)
ยง๏‚งโ€ฏ Blob store (proprietary API, experimental) for data >1MB
ยง๏‚งโ€ฏ Numerous other services available (not tied to App Engine)
 ยง๏‚งโ€ฏ Google Predict, Google BigQuery โ€ฆ

                                                                 27
Google App Engine for Business

ยง๏‚งโ€ฏ Centralized administration.
ยง๏‚งโ€ฏ 99.9% uptime SLA
ยง๏‚งโ€ฏ Premium developer support available.
ยง๏‚งโ€ฏ Sign on for users from your Google Apps domain
ยง๏‚งโ€ฏ Announced
 โ€ขโ€ฏ SSL on your companyโ€™s domain for secure communications
 โ€ขโ€ฏ Access to advanced Google services.




                                                             28
Google App Engine

ยง๏‚งโ€ฏ Documentation + SDK + Eclipse Plug In available
ยง๏‚งโ€ฏ SDK contains environment for local tests

ยง๏‚งโ€ฏ Spring / Spring Roo is the preferred programming model
ยง๏‚งโ€ฏ โ€ฆas it is popular and works with the limited model of the Google
 App Engine


ยง๏‚งโ€ฏ http://code.google.com/appengine/




                                                                       29
Google App Engine Demo




                         ยฉ 2009 VMware Inc. All rights reserved
31
VMforce

ยง๏‚งโ€ฏ Joined offerings by Salesforce and VMware
ยง๏‚งโ€ฏ Salesforce
 โ€ขโ€ฏ Leading provider for SaaS / CRM
ยง๏‚งโ€ฏ Salesforce offers force.com environment
 โ€ขโ€ฏ Scalable PaaS
 โ€ขโ€ฏ Database + data model
 โ€ขโ€ฏ Charting
 โ€ขโ€ฏ Reporting
 โ€ขโ€ฏ Chat etc
ยง๏‚งโ€ฏ VMforce = force.com + VMware virtualization + SpringSource
 programming model




                                                                 32
vmforce Vision

ยง๏‚งโ€ฏ VMforce = force.com
ยง๏‚งโ€ฏ + VMware virtualization
  โ€ขโ€ฏ Offers IaaS foundation
ยง๏‚งโ€ฏ + SpringSource tc Server / Hyperic
ยง๏‚งโ€ฏ + Spring programming model

                              force.com
ยง๏‚งโ€ฏ i.e. run your standard     Platform
  Spring Apps                                       SpringSource
                               Services               tc Server
ยง๏‚งโ€ฏ Use force.com data         (charts,
  model / database             reports)
                                                      VMware
ยง๏‚งโ€ฏ โ€ฆand charts / reports           Force.com         vSphere
                                    Database


ยง๏‚งโ€ฏ Apply for the beta at http://www.vmforce.com/

                                                                33
Amazon BeanStalk

ยง๏‚งโ€ฏ Based on the Amazon EC2 infrastructure
ยง๏‚งโ€ฏ Add Linux, OpenJDK, Tomcat
ยง๏‚งโ€ฏ Currently in beta
ยง๏‚งโ€ฏ โ€ฆand only in US-East
ยง๏‚งโ€ฏ Eclipse Plug In available
ยง๏‚งโ€ฏ Supports version handling of applications
ยง๏‚งโ€ฏ Supports scaling depending on load indicators
ยง๏‚งโ€ฏ Access to Tomcat logs etc.

ยง๏‚งโ€ฏ Videos to get started
ยง๏‚งโ€ฏ Demo application based on Spring
 โ€ขโ€ฏ Uses also S3 (storage) and Simple Notification Service (SNS)


                                                                   34
PaaS: Conclusion

ยง๏‚งโ€ฏ PaaS offer a runtime environment in the cloud
ยง๏‚งโ€ฏ Usually based on IaaS
ยง๏‚งโ€ฏ Makes Cloud easier usable for a developer
ยง๏‚งโ€ฏ โ€ฆbut less customizable and less choice
ยง๏‚งโ€ฏ Technical challenges (scalability) solved by platform
ยง๏‚งโ€ฏ Spring can be used as a universal model

ยง๏‚งโ€ฏ Each PaaS differentiate themselves with their added services
  ยง๏‚งโ€ฏ VMforce: database model, charts, reports, GUI elements
   (functional components)
  ยง๏‚งโ€ฏ GAE: Big Table, caching, security, image processing, blob storage
   (technical platform)
  ยง๏‚งโ€ฏ Amazon Beanstalk: Standard Java stack
ยง๏‚งโ€ฏ Choose the right tool for the job!
                                                                          35
Ad

More Related Content

What's hot (16)

Introduction to IAC and Terraform
Introduction to IAC and Terraform Introduction to IAC and Terraform
Introduction to IAC and Terraform
Venkat NaveenKashyap Devulapally
ย 
ะ”ะตะฝะธั ะ‘ะฐั‚ะฐะปะพะฒ
ะ”ะตะฝะธั ะ‘ะฐั‚ะฐะปะพะฒะ”ะตะฝะธั ะ‘ะฐั‚ะฐะปะพะฒ
ะ”ะตะฝะธั ะ‘ะฐั‚ะฐะปะพะฒ
CodeFest
ย 
IaC on AWS Cloud
IaC on AWS CloudIaC on AWS Cloud
IaC on AWS Cloud
Bhuvaneswari Subramani
ย 
Zero Downtime JEE Architectures
Zero Downtime JEE ArchitecturesZero Downtime JEE Architectures
Zero Downtime JEE Architectures
Alexander Penev
ย 
Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news   Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news
ShapeBlue
ย 
Choosing a dev ops paas platform svccd presentation v2 for slideshare
Choosing a dev ops paas platform svccd presentation v2 for slideshareChoosing a dev ops paas platform svccd presentation v2 for slideshare
Choosing a dev ops paas platform svccd presentation v2 for slideshare
John Mathon
ย 
CCCNA17 Dynamic Roles in CloudStack
CCCNA17 Dynamic Roles in CloudStackCCCNA17 Dynamic Roles in CloudStack
CCCNA17 Dynamic Roles in CloudStack
ShapeBlue
ย 
Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?"
Tikal Knowledge
ย 
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
Lucas Jellema
ย 
JUST EAT: Embracing DevOps
JUST EAT: Embracing DevOpsJUST EAT: Embracing DevOps
JUST EAT: Embracing DevOps
Peter Mounce
ย 
DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop DevOpsCon Cloud Workshop
DevOpsCon Cloud Workshop
Sascha Mรถllering
ย 
Boris Stoyanov - some new features in Apache cloudStack
Boris Stoyanov - some new features in Apache cloudStackBoris Stoyanov - some new features in Apache cloudStack
Boris Stoyanov - some new features in Apache cloudStack
ShapeBlue
ย 
Sas 2015 event_driven
Sas 2015 event_drivenSas 2015 event_driven
Sas 2015 event_driven
Sascha Mรถllering
ย 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Source
aspyker
ย 
How to build the Cloud Native applications the way you want โ€“ not the way the...
How to build the Cloud Native applications the way you want โ€“ not the way the...How to build the Cloud Native applications the way you want โ€“ not the way the...
How to build the Cloud Native applications the way you want โ€“ not the way the...
Eficode
ย 
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
Adrian Cockcroft
ย 
ะ”ะตะฝะธั ะ‘ะฐั‚ะฐะปะพะฒ
ะ”ะตะฝะธั ะ‘ะฐั‚ะฐะปะพะฒะ”ะตะฝะธั ะ‘ะฐั‚ะฐะปะพะฒ
ะ”ะตะฝะธั ะ‘ะฐั‚ะฐะปะพะฒ
CodeFest
ย 
Zero Downtime JEE Architectures
Zero Downtime JEE ArchitecturesZero Downtime JEE Architectures
Zero Downtime JEE Architectures
Alexander Penev
ย 
Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news   Giles Sirett: Introduction and CloudStack news
Giles Sirett: Introduction and CloudStack news
ShapeBlue
ย 
Choosing a dev ops paas platform svccd presentation v2 for slideshare
Choosing a dev ops paas platform svccd presentation v2 for slideshareChoosing a dev ops paas platform svccd presentation v2 for slideshare
Choosing a dev ops paas platform svccd presentation v2 for slideshare
John Mathon
ย 
CCCNA17 Dynamic Roles in CloudStack
CCCNA17 Dynamic Roles in CloudStackCCCNA17 Dynamic Roles in CloudStack
CCCNA17 Dynamic Roles in CloudStack
ShapeBlue
ย 
Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?" Cloud computing - an insight into "how does it really work ?"
Cloud computing - an insight into "how does it really work ?"
Tikal Knowledge
ย 
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
How and Why GraalVM is quickly becoming relevant for developers (ACEs@home - ...
Lucas Jellema
ย 
JUST EAT: Embracing DevOps
JUST EAT: Embracing DevOpsJUST EAT: Embracing DevOps
JUST EAT: Embracing DevOps
Peter Mounce
ย 
Boris Stoyanov - some new features in Apache cloudStack
Boris Stoyanov - some new features in Apache cloudStackBoris Stoyanov - some new features in Apache cloudStack
Boris Stoyanov - some new features in Apache cloudStack
ShapeBlue
ย 
Netflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open SourceNetflix Cloud Architecture and Open Source
Netflix Cloud Architecture and Open Source
aspyker
ย 
How to build the Cloud Native applications the way you want โ€“ not the way the...
How to build the Cloud Native applications the way you want โ€“ not the way the...How to build the Cloud Native applications the way you want โ€“ not the way the...
How to build the Cloud Native applications the way you want โ€“ not the way the...
Eficode
ย 
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
Adrian Cockcroft
ย 

Similar to PaaS with Java (20)

Cloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudCloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and Cloud
Eberhard Wolff
ย 
Spring in the Cloud
Spring in the CloudSpring in the Cloud
Spring in the Cloud
Eberhard Wolff
ย 
Introduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / PlatformsIntroduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / Platforms
Nilanchal
ย 
What is Serverless Computing?
What is Serverless Computing?What is Serverless Computing?
What is Serverless Computing?
AIMDek Technologies
ย 
Current State of Affairs โ€“ Cloud Computing - Indicthreads Cloud Computing Con...
Current State of Affairs โ€“ Cloud Computing - Indicthreads Cloud Computing Con...Current State of Affairs โ€“ Cloud Computing - Indicthreads Cloud Computing Con...
Current State of Affairs โ€“ Cloud Computing - Indicthreads Cloud Computing Con...
IndicThreads
ย 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
CloudBees
ย 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
CloudBees
ย 
Java scalability considerations yogesh deshpande
Java scalability considerations   yogesh deshpandeJava scalability considerations   yogesh deshpande
Java scalability considerations yogesh deshpande
IndicThreads
ย 
Dave Nielsen - the economically unstoppable cloud
Dave Nielsen - the economically unstoppable cloudDave Nielsen - the economically unstoppable cloud
Dave Nielsen - the economically unstoppable cloud
Olga Lavrentieva
ย 
Running Oracle EBS in the cloud (UKOUG APPS16 edition)
Running Oracle EBS in the cloud (UKOUG APPS16 edition)Running Oracle EBS in the cloud (UKOUG APPS16 edition)
Running Oracle EBS in the cloud (UKOUG APPS16 edition)
Andrejs Prokopjevs
ย 
Moving Windows Applications to the Cloud
Moving Windows Applications to the CloudMoving Windows Applications to the Cloud
Moving Windows Applications to the Cloud
RightScale
ย 
Cloud patterns
Cloud patternsCloud patterns
Cloud patterns
Nicolas De Loof
ย 
Cloud computing by amazon
Cloud computing by amazonCloud computing by amazon
Cloud computing by amazon
8neutron8
ย 
Virtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - VarrowVirtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - Varrow
Andrew Miller
ย 
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Andrew Miller
ย 
NDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design PatternsNDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design Patterns
Ryan Green
ย 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Andrejs Prokopjevs
ย 
Windows Azure introduction
Windows Azure introductionWindows Azure introduction
Windows Azure introduction
Microsoft Iceland
ย 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
Konstantin Gredeskoul
ย 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
Ankur Gupta
ย 
Cloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudCloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and Cloud
Eberhard Wolff
ย 
Spring in the Cloud
Spring in the CloudSpring in the Cloud
Spring in the Cloud
Eberhard Wolff
ย 
Introduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / PlatformsIntroduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / Platforms
Nilanchal
ย 
What is Serverless Computing?
What is Serverless Computing?What is Serverless Computing?
What is Serverless Computing?
AIMDek Technologies
ย 
Current State of Affairs โ€“ Cloud Computing - Indicthreads Cloud Computing Con...
Current State of Affairs โ€“ Cloud Computing - Indicthreads Cloud Computing Con...Current State of Affairs โ€“ Cloud Computing - Indicthreads Cloud Computing Con...
Current State of Affairs โ€“ Cloud Computing - Indicthreads Cloud Computing Con...
IndicThreads
ย 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
CloudBees
ย 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
CloudBees
ย 
Java scalability considerations yogesh deshpande
Java scalability considerations   yogesh deshpandeJava scalability considerations   yogesh deshpande
Java scalability considerations yogesh deshpande
IndicThreads
ย 
Dave Nielsen - the economically unstoppable cloud
Dave Nielsen - the economically unstoppable cloudDave Nielsen - the economically unstoppable cloud
Dave Nielsen - the economically unstoppable cloud
Olga Lavrentieva
ย 
Running Oracle EBS in the cloud (UKOUG APPS16 edition)
Running Oracle EBS in the cloud (UKOUG APPS16 edition)Running Oracle EBS in the cloud (UKOUG APPS16 edition)
Running Oracle EBS in the cloud (UKOUG APPS16 edition)
Andrejs Prokopjevs
ย 
Moving Windows Applications to the Cloud
Moving Windows Applications to the CloudMoving Windows Applications to the Cloud
Moving Windows Applications to the Cloud
RightScale
ย 
Cloud computing by amazon
Cloud computing by amazonCloud computing by amazon
Cloud computing by amazon
8neutron8
ย 
Virtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - VarrowVirtualizing Tier One Applications - Varrow
Virtualizing Tier One Applications - Varrow
Andrew Miller
ย 
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Varrow Q4 Lunch & Learn Presentation - Virtualizing Business Critical Applica...
Andrew Miller
ย 
NDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design PatternsNDev Talk - Serverless Design Patterns
NDev Talk - Serverless Design Patterns
Ryan Green
ย 
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)Running Oracle EBS in the cloud (DOAG TECH17 edition)
Running Oracle EBS in the cloud (DOAG TECH17 edition)
Andrejs Prokopjevs
ย 
Windows Azure introduction
Windows Azure introductionWindows Azure introduction
Windows Azure introduction
Microsoft Iceland
ย 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
Konstantin Gredeskoul
ย 
Basics of Java Cloud
Basics of Java CloudBasics of Java Cloud
Basics of Java Cloud
Ankur Gupta
ย 
Ad

More from Eberhard Wolff (20)

Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and Alternatives
Eberhard Wolff
ย 
Beyond Microservices
Beyond MicroservicesBeyond Microservices
Beyond Microservices
Eberhard Wolff
ย 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous Delivery
Eberhard Wolff
ย 
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, AsyncFour Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Eberhard Wolff
ย 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with Java
Eberhard Wolff
ย 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
Eberhard Wolff
ย 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for Microservices
Eberhard Wolff
ย 
How to Split Your System into Microservices
How to Split Your System into MicroservicesHow to Split Your System into Microservices
How to Split Your System into Microservices
Eberhard Wolff
ย 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale Agile
Eberhard Wolff
ย 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
Eberhard Wolff
ย 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for Microservices
Eberhard Wolff
ย 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=Maintainability
Eberhard Wolff
ย 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
Eberhard Wolff
ย 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
Eberhard Wolff
ย 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for Innovation
Eberhard Wolff
ย 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
Eberhard Wolff
ย 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with Java
Eberhard Wolff
ย 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
Eberhard Wolff
ย 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale Agile
Eberhard Wolff
ย 
Microservices, DevOps, Continuous Delivery โ€“ More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery โ€“ More Than Three BuzzwordsMicroservices, DevOps, Continuous Delivery โ€“ More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery โ€“ More Than Three Buzzwords
Eberhard Wolff
ย 
Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and Alternatives
Eberhard Wolff
ย 
Beyond Microservices
Beyond MicroservicesBeyond Microservices
Beyond Microservices
Eberhard Wolff
ย 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous Delivery
Eberhard Wolff
ย 
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, AsyncFour Times Microservices - REST, Kubernetes, UI Integration, Async
Four Times Microservices - REST, Kubernetes, UI Integration, Async
Eberhard Wolff
ย 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with Java
Eberhard Wolff
ย 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
Eberhard Wolff
ย 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for Microservices
Eberhard Wolff
ย 
How to Split Your System into Microservices
How to Split Your System into MicroservicesHow to Split Your System into Microservices
How to Split Your System into Microservices
Eberhard Wolff
ย 
Microservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale AgileMicroservices and Self-contained System to Scale Agile
Microservices and Self-contained System to Scale Agile
Eberhard Wolff
ย 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
Eberhard Wolff
ย 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for Microservices
Eberhard Wolff
ย 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=Maintainability
Eberhard Wolff
ย 
Self-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to MicroservicesSelf-contained Systems: A Different Approach to Microservices
Self-contained Systems: A Different Approach to Microservices
Eberhard Wolff
ย 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
Eberhard Wolff
ย 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for Innovation
Eberhard Wolff
ย 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
Eberhard Wolff
ย 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with Java
Eberhard Wolff
ย 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
Eberhard Wolff
ย 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale Agile
Eberhard Wolff
ย 
Microservices, DevOps, Continuous Delivery โ€“ More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery โ€“ More Than Three BuzzwordsMicroservices, DevOps, Continuous Delivery โ€“ More Than Three Buzzwords
Microservices, DevOps, Continuous Delivery โ€“ More Than Three Buzzwords
Eberhard Wolff
ย 
Ad

Recently uploaded (20)

Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
ย 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
ย 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
ย 
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy ConsumptionDrupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Exove
ย 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
ย 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
ย 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
ย 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
ย 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
ย 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
ย 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
ย 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
ย 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
panagenda
ย 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
ย 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
ย 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
ย 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
ย 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
ย 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
ย 
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy ConsumptionDrupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Drupalcamp Finland โ€“ Measuring Front-end Energy Consumption
Exove
ย 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
ย 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
ย 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
ย 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
ย 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
ย 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
ย 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
ย 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
ย 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
ย 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
ย 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
ย 
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
HCL Nomad Web โ€“ Best Practices and Managing Multiuser Environments
panagenda
ย 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
ย 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
ย 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
ย 

PaaS with Java

  • 1. PaaS Cloud with Java Eberhard Wolff, Principal Technologist, SpringSource โ€“ A division of VMware [email protected] Twitter: @ewolff Blog: http://ewolff.com ยฉ 2009 VMware Inc. All rights reserved
  • 2. Agenda ยง๏‚งโ€ฏ A Few Words About Cloud ยง๏‚งโ€ฏ PaaS โ€“ Platform as a Service ยง๏‚งโ€ฏ Google App Engine ยง๏‚งโ€ฏ Vmforce ยง๏‚งโ€ฏ Amazon Beanstalk 2
  • 3. A Few Words About Cloud 3
  • 4. Three types of Clouds Infrastructure Platform Software as a Service as a Service as a Service โ€ขโ€ฏ Virtual Servers โ€ขโ€ฏ Virtual Application โ€ขโ€ฏ Software or Service โ€ขโ€ฏ Virtual Storage Server that you use โ€ขโ€ฏ Similar to โ€ขโ€ฏ Handles Scale-Out โ€ขโ€ฏ Components that you Virtualization โ€ขโ€ฏ Everything is add/integrate into your app โ€ขโ€ฏ Custom Solutions Services and APIs โ€ขโ€ฏ Manage Everything โ€ขโ€ฏ Usually Larger Buy-In Yourself โ€ขโ€ฏ Mostly Managed by Provider 4
  • 5. Cloud might be... โ€ขโ€ฏ Private /internal โ€œon premiseโ€ โ€“โ€ฏ In your data center โ€“โ€ฏ Useful in particular for larger organizations โ€ขโ€ฏ Public โ€œoff premiseโ€ โ€“โ€ฏ Hosted and Operated by a third Party โ€“โ€ฏ Ideal for Startups etc โ€ขโ€ฏ Even smaller enterprises can create private clouds โ€ขโ€ฏ Based on virtualization 5
  • 6. Cloud at the Core is a Business Model ยง๏‚งโ€ฏ Customer pays only for what he uses โ€ขโ€ฏ Per CPU hour or cycles, per GB of storage, per MB of network bandwidth โ€ขโ€ฏ Per user and year โ€ขโ€ฏ Not for having stand-by capacity ยง๏‚งโ€ฏ Flexibility: More capacity is available on demand โ€ขโ€ฏ Instantly available โ€ขโ€ฏ Customer uses GUI or API to expand capacity โ€ขโ€ฏ Cloud provider is responsible for having capacity ready ยง๏‚งโ€ฏ Makes IT just another service 6
  • 7. Why Cloud? ยง๏‚งโ€ฏ Compelling Economics โ€ขโ€ฏ Lower CapEx โ€ขโ€ฏ Cheaper handling of peak loads โ€ขโ€ฏ Better resource utilization โ€ขโ€ฏ Simple to achieve benefits โ€“ direct ROI ยง๏‚งโ€ฏ Flexibility and better productivity for development โ€ขโ€ฏ Much easier to set up environments โ€ขโ€ฏ Feasible to have production-like environments quickly and cheaply available โ€ขโ€ฏ Indirect: Better productivity leads to cost saving / better time to market 7
  • 8. OK, so let me get started 8
  • 9. So, let me get started ยง๏‚งโ€ฏ Get an account at an IaaS provider ยง๏‚งโ€ฏ โ€ฆor virtualize your data center and create a self service portal ยง๏‚งโ€ฏ Install your (Java EE) environment ยง๏‚งโ€ฏ Install your (Java) application ยง๏‚งโ€ฏ Done ยง๏‚งโ€ฏ Wow, that was easy! 9
  • 10. That is not enough ยง๏‚งโ€ฏ How do you deal with peaks? Need more app server instances ยง๏‚งโ€ฏ The server instances must be shut down after the peak ยง๏‚งโ€ฏ โ€ฆotherwise you would pay for them ยง๏‚งโ€ฏ Traditional middleware does not allow for that ยง๏‚งโ€ฏ Elastic scaling ยง๏‚งโ€ฏ RBMS prefer scale up (larger server) ยง๏‚งโ€ฏ In the cloud it is easier to scale out (more server) ยง๏‚งโ€ฏ That is why Amazon and Google use NoSQL / key-value stores 10
  • 11. That is not enough: Handling Lot of Date ยง๏‚งโ€ฏ Traditional approach: Batch on a few nodes ยง๏‚งโ€ฏ Alternative approach: Map / Reduce on many nodes ยง๏‚งโ€ฏ Map each value using some function โ€ขโ€ฏ Runs on many nodes in parallel โ€ขโ€ฏ E.g. given a text file emit a word count each time a word is found ยง๏‚งโ€ฏ Reduce takes the result of the map step and reduces it โ€ขโ€ฏ E.g. add up all word counts ยง๏‚งโ€ฏ Distributed algorithm running on potentially many nodes ยง๏‚งโ€ฏ Cloud: Can easily use a lot of nodes to run Map Reduce 11
  • 12. That is not enough: More Than Just a Virtualized Computer ยง๏‚งโ€ฏ Additional services โ€ขโ€ฏ Amazon Simple Queue Service (SQS) โ€ขโ€ฏ Amazon Simple Notification Service (SNS) โ€ขโ€ฏ Amazon Simple Storage Service (S3) โ€ขโ€ฏ Amazon Elastic Block Store (EBS) 12
  • 13. Cloud Influences the Programming Model ยง๏‚งโ€ฏ Some Jave EE technologies are not a good fit โ€ขโ€ฏ Non-JMS messaging technologies โ€ขโ€ฏ AMQP / RabbitMQ โ€ขโ€ฏ Amazon Simple Queue Service (SQS) โ€ขโ€ฏ Amazon Simple Notification Service (SNS) โ€ขโ€ฏ Two Phase Commit / JTA leads to long locking / strong coupling โ€ขโ€ฏ What do you do about Map / Reduce? โ€ขโ€ฏ What do you do about NoSQL? ยง๏‚งโ€ฏ You might be better off with a different programming model โ€ขโ€ฏ Spring can handle non-Java-EE environments (e.g. Tomcat) โ€ขโ€ฏ Projects for NoSQL, AMQP โ€ฆ 13
  • 14. More Flexibility Needed ยง๏‚งโ€ฏ And remember: You pay the resources you consume ยง๏‚งโ€ฏ You need to use more or less resources based on load ยง๏‚งโ€ฏ You need to be able to shut down servers if load is low ยง๏‚งโ€ฏ You need to be able to start new servers if load is high 14
  • 15. What you will eventually come up with ยง๏‚งโ€ฏ A tool to take an Application ยง๏‚งโ€ฏ โ€ฆand create a VM with all needed infrastructure etc ยง๏‚งโ€ฏ Need tools to โ€ขโ€ฏ Install software โ€ขโ€ฏ Manage infrastructure โ€ขโ€ฏ Configure infrastructure โ€ขโ€ฏ Set up user etc โ€ขโ€ฏ Puppet, Chef etc. ยง๏‚งโ€ฏ Like a factory for VMs 15
  • 16. Soโ€ฆ ยง๏‚งโ€ฏ Can we automate this? ยง๏‚งโ€ฏ Developers just want a platform to run applications on ยง๏‚งโ€ฏ Also: Developers need other non-Java-EE services 16
  • 18. The PaaS! 18
  • 19. Platform as a service (PaaS) the delivery of a computing platform and solution stack as a service. 19
  • 21. Invisible PaaS 21
  • 22. PaaS: Advantages and Disadvantages ยง๏‚งโ€ฏ Advantages โ€ขโ€ฏ More useful than IaaS: You would need to install a server anyway โ€ขโ€ฏ Automatic scaling โ€ขโ€ฏ Resources automatically added โ€ขโ€ฏ Can offer additional service โ€ขโ€ฏ Tuned for Cloud โ€ขโ€ฏ Technical e.g. data store, messaging, GUI elements โ€ขโ€ฏ Domain e.g. predefined data model ยง๏‚งโ€ฏ Disadvantages โ€ขโ€ฏ Less flexible โ€ขโ€ฏ Pre-defined programming model โ€ขโ€ฏ Defines environment โ€ขโ€ฏ Programming model might be different โ€ขโ€ฏ Hard to port existing code โ€ขโ€ฏ Need to learn 22
  • 24. Google App Engine ยง๏‚งโ€ฏ Infrastructure offered by Google ยง๏‚งโ€ฏ Supports Java and Python ยง๏‚งโ€ฏ Infrastructure completely hidden ยง๏‚งโ€ฏ GAE sandbox more restrictive than normal JVM sandbox ยง๏‚งโ€ฏ So GAE can handle your application better ยง๏‚งโ€ฏ Java classes white list โ€ขโ€ฏ i.e. some Java classes must not be used โ€ขโ€ฏ no Thread โ€ขโ€ฏ no file system โ€ขโ€ฏ parts of System class (e.g. gc(), exit()โ€ฆ) โ€ขโ€ฏ Reflection and ClassLoader work 24
  • 25. Google App Engine: Storage ยง๏‚งโ€ฏ Relational database only in App Engine for Business ยง๏‚งโ€ฏ Based on BigTable โ€ขโ€ฏ Google's storage technology โ€ขโ€ฏ Key/value i.e. objects stored under some key โ€ขโ€ฏ No joins โ€ขโ€ฏ Simple / simplistic (?) โ€ขโ€ฏ Scalable โ€ขโ€ฏ Example of NoSQL โ€ขโ€ฏ Principles will be discussed further in NoSQL ยง๏‚งโ€ฏ Max. 1 MB per entity (and other limitations) 25
  • 26. Google App Engine: Storage APIs ยง๏‚งโ€ฏ API: Low level com.google.appengine.api.datastore โ€ขโ€ฏ Not compatible to JDBC or the like โ€ขโ€ฏ Queries, transactions, entities etc. โ€ขโ€ฏ Should only be used by framework ยง๏‚งโ€ฏ API: JDO (Java Data Objects) โ€ขโ€ฏ Standard for O/R Mapper and OODBMS โ€ขโ€ฏ Unsupported: Joins, JDOQL grouping and aggregates, polymorphic queries ยง๏‚งโ€ฏ API: JPA (Java Persistence API) โ€ขโ€ฏ Well established standard for O/R Mappers โ€ขโ€ฏ Unsupported: Many-to-many relationships; join, aggregate and polymorphic queries, some inheritance mappings ยง๏‚งโ€ฏ Problem: JPA / JDO based on RDBMS, but this is key/value ยง๏‚งโ€ฏ So maybe use the low level API instead? ยง๏‚งโ€ฏ JPA and JDO actually implemented by Data Nucleus library โ€ขโ€ฏ Byte code must be enhanced in an additional compile step 26
  • 27. Google App Engine: Additional services ยง๏‚งโ€ฏ Memcache โ€ขโ€ฏ Implements JCache (JSR 107) โ€ขโ€ฏ Fast access to data in memory ยง๏‚งโ€ฏ URL Fetch based on java.net.URL to read data via HTTP ยง๏‚งโ€ฏ EMail support using JavaMail ยง๏‚งโ€ฏ XMPP instant messages (proprietary API) ยง๏‚งโ€ฏ Image Manipulation (proprietary API) ยง๏‚งโ€ฏ Authentication / Authorization based on Google accounts (proprietary API) ยง๏‚งโ€ฏ Task queuing (proprietary API, experimental) ยง๏‚งโ€ฏ Blob store (proprietary API, experimental) for data >1MB ยง๏‚งโ€ฏ Numerous other services available (not tied to App Engine) ยง๏‚งโ€ฏ Google Predict, Google BigQuery โ€ฆ 27
  • 28. Google App Engine for Business ยง๏‚งโ€ฏ Centralized administration. ยง๏‚งโ€ฏ 99.9% uptime SLA ยง๏‚งโ€ฏ Premium developer support available. ยง๏‚งโ€ฏ Sign on for users from your Google Apps domain ยง๏‚งโ€ฏ Announced โ€ขโ€ฏ SSL on your companyโ€™s domain for secure communications โ€ขโ€ฏ Access to advanced Google services. 28
  • 29. Google App Engine ยง๏‚งโ€ฏ Documentation + SDK + Eclipse Plug In available ยง๏‚งโ€ฏ SDK contains environment for local tests ยง๏‚งโ€ฏ Spring / Spring Roo is the preferred programming model ยง๏‚งโ€ฏ โ€ฆas it is popular and works with the limited model of the Google App Engine ยง๏‚งโ€ฏ http://code.google.com/appengine/ 29
  • 30. Google App Engine Demo ยฉ 2009 VMware Inc. All rights reserved
  • 31. 31
  • 32. VMforce ยง๏‚งโ€ฏ Joined offerings by Salesforce and VMware ยง๏‚งโ€ฏ Salesforce โ€ขโ€ฏ Leading provider for SaaS / CRM ยง๏‚งโ€ฏ Salesforce offers force.com environment โ€ขโ€ฏ Scalable PaaS โ€ขโ€ฏ Database + data model โ€ขโ€ฏ Charting โ€ขโ€ฏ Reporting โ€ขโ€ฏ Chat etc ยง๏‚งโ€ฏ VMforce = force.com + VMware virtualization + SpringSource programming model 32
  • 33. vmforce Vision ยง๏‚งโ€ฏ VMforce = force.com ยง๏‚งโ€ฏ + VMware virtualization โ€ขโ€ฏ Offers IaaS foundation ยง๏‚งโ€ฏ + SpringSource tc Server / Hyperic ยง๏‚งโ€ฏ + Spring programming model force.com ยง๏‚งโ€ฏ i.e. run your standard Platform Spring Apps SpringSource Services tc Server ยง๏‚งโ€ฏ Use force.com data (charts, model / database reports) VMware ยง๏‚งโ€ฏ โ€ฆand charts / reports Force.com vSphere Database ยง๏‚งโ€ฏ Apply for the beta at http://www.vmforce.com/ 33
  • 34. Amazon BeanStalk ยง๏‚งโ€ฏ Based on the Amazon EC2 infrastructure ยง๏‚งโ€ฏ Add Linux, OpenJDK, Tomcat ยง๏‚งโ€ฏ Currently in beta ยง๏‚งโ€ฏ โ€ฆand only in US-East ยง๏‚งโ€ฏ Eclipse Plug In available ยง๏‚งโ€ฏ Supports version handling of applications ยง๏‚งโ€ฏ Supports scaling depending on load indicators ยง๏‚งโ€ฏ Access to Tomcat logs etc. ยง๏‚งโ€ฏ Videos to get started ยง๏‚งโ€ฏ Demo application based on Spring โ€ขโ€ฏ Uses also S3 (storage) and Simple Notification Service (SNS) 34
  • 35. PaaS: Conclusion ยง๏‚งโ€ฏ PaaS offer a runtime environment in the cloud ยง๏‚งโ€ฏ Usually based on IaaS ยง๏‚งโ€ฏ Makes Cloud easier usable for a developer ยง๏‚งโ€ฏ โ€ฆbut less customizable and less choice ยง๏‚งโ€ฏ Technical challenges (scalability) solved by platform ยง๏‚งโ€ฏ Spring can be used as a universal model ยง๏‚งโ€ฏ Each PaaS differentiate themselves with their added services ยง๏‚งโ€ฏ VMforce: database model, charts, reports, GUI elements (functional components) ยง๏‚งโ€ฏ GAE: Big Table, caching, security, image processing, blob storage (technical platform) ยง๏‚งโ€ฏ Amazon Beanstalk: Standard Java stack ยง๏‚งโ€ฏ Choose the right tool for the job! 35