SlideShare a Scribd company logo
1 of 37
Download to read offline
JAVA IN THE CLOUD
PAAS PLATFORM IN COMPARISON
                     Eberhard Wolff
          Architecture and Technology Manager
                  adesso AG, Germany



 12.10.
Agenda
§    A Few Words About Cloud


§    Java and IaaS


§    PaaS – Platform as a Service


§    Google App Engine


§    Amazon Beanstalk


§    VMware CloudFoundry


§    Cloud Bees
A Few Words About Cloud
IaaS – PaaS – SaaS


     Infrastructure                  Platform              Software
      as a Service                 as a Service           as a Service


> Virtual Servers             > Virtual App Server   > Software or Service
                                                       that you use
> Similar to Virtualization   > Handles Scale-Out

                                                     > Components that you
> Manage Everything           > Mostly Managed by      add/integrate into your
  Yourself                      Provider               app
Cloud Deployment Model

►    Public
     >  Available to general public


►    Private
     >  Available to only one organization
Why Cloud: Economics

►    Public Cloud:
     >  Pay only what you need (Pay-as-you-go) (Public Cloud)
     >  No CapEx
     >  Handle load peaks cheaply
     >  Transparent cost model


►    Private Cloud:
     >  Better Resource Utilization
Amazon Rechner




     7
Why Cloud: Business Agility
►  From development to production with
   just one click
                      Adrian Colyer (CTO VMware):
►  Much faster        Customers want Business Agility –
                      even if it means higher prices
►  Much simpler



►    Application scales automatically
     >  Higher load means more resources
        are used automatically

►    Create a test environment with just
     one click
     >  Production-like sizing Werner Vogels (CTO Amazon):
                               Amazon Cloud is the answer to
     >  Cheaply (only paid
                               Amazon developers spending 70% of
        during the test)       their time with scalability and
                                 technology
Why Cloud: Business Agility




               DevOps
       Continuous
        Delivery
Why Cloud ? Platform of the Next Generation
►    Based on cheap commodity technologies
►    No costly high available hardware
►    Individual server may fail
►    Network may fail


►    But:
►    Data and application can be held redundantly in
     multiple data centers
►    Automatic distribution
►    Starting new computers trivial


►    Cheap systems with high availability and high
     data durability
►    Just like Google, Amazon, Facebook...
►    Needs different architectures
What this is all about...




          WAR
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!
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


►    Individual nodes fail – deal with it!


►    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
What you will eventually come up with
►    A tool to take an Application
                                                                App
►    …and create a VM with all needed infrastructure etc
►    Dynamically i.e. scale up and down


►    Need tools to
     >  Install software
     >  Manage infrastructure
     >  Configure infrastructure
     >  Set up user etc
►    Puppet, Chef etc.


►    Like a factory for VMs
►    Works on Private Cloud, Public Cloud or your          VM         VM
     local machine
Advantages of IaaS Approach
►    Very flexible
►    Works for any IaaS and any software to be installed
►    Works for complex environments with many infrastructure pieces
     >  Install a database server, some Tomcats, a load balancer and a cache
        server
     >  Install your own and totally proprietary special solution
     >  Fine tune all the parameters
►    Can deploy different parts of the application to special nodes


►    But often developers just want a platform to run applications on
►    No fine tuning
►    Standardized and uniform services
►    Also: Developers need other non-Java-EE services
Not just automated…


                      App




                      VM
Invisible


             App




            PaaS
PaaS
►    Platform as a service (PaaS) is the delivery of a computing platform and solution
     stack as a service.
PaaS: Advantages and Disadvantages
§    Advantages
      •  Easier to use 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
         •  …but IaaS does the same (Amazon)
§    Disadvantages
      •  Less flexible
         •  Pre-defined programming model
         •  Defines environment
      •  Programming model might be different
        •  Hard to learn & port existing code
Google App Engine
Google App Engine
►    Pioneer: Very early in the market
►    Supports Java, Pyhton, Go (beta)
►    For Java: Very restrictive environment
     >  Java classes white list
     >  Limited sandbox
     >  Focus on NoSQL while typical Java applications use RDBMS
     >  Limited Preview: Cloud SQL (MySQL)
     >  Limit on start up time of application etc
     >  Limit on response time (30 seconds)
     >  No control or access to operating system
     >  Can’t change configuration of the web server
►    Benefits?
►    Specialized frameworks have been created (Gaelyk for Groovy)
►    Recently changed pricing
Amazon Elastic Beanstalk
Amazon Web Services
►    Collection of Cloud Offerings (mostly IaaS)
►    Elastic Compute Cloud (EC2)
►    Elastic Map Reduce
►    Auto Scaling
►    SimpleDB : Big Table like NoSQL database
►    Simple Queue Service (SQS)
►    Simple Notification Service (SNS)
►    Simple Email Service (SES)
►    Virtual Private Cloud (VPC)
►    Simple Storage Service (S3)
►    Elastic Block Storage (EBS)
►    ElastiCache
►    AWS is a marketplace: 3rd party offerings https://mongohq.com/ for MongoDB and
     https://cloudant.com/ for CouchDB
Amazon Elastic Beanstalk
►    Based on the Amazon EC2 infrastructure
►    …and Auto Scaling
►    …S3 to host the WARs
►    Adds Linux, OpenJDK, Tomcat 6 / 7


►    Currently in beta
►    …and only in US-East


►    Eclipse Plug In available
►    Supports versioning of applications
►    Supports elastic scaling depending on load indicators
►    Simple Monitoring built in
►    Detailed control over the environment (Tomcat parameters, used VM image, log in
     to machine etc.)
Amazon Elastic Beanstalk
►    Access to Tomcat logs etc.
►    Access to the OS
►    Fine tuning of Tomcat parameters possible
►    Easy, yet powerful


►    Very easy to get started
►    Demo application based on Spring
►    Uses also S3 (storage) and Simple Notification Service (SNS)


►    Add Relational Database Service (RDS) for enterprise scale MySQL or Oracle
►    …and all the other Amazon Web Services (AWS)
►    …Virtual Private Cloud (VPC) to access your backend
►    …Elasticache for performance
Amazon Elastic Beanstalk
►    Can be much like your average Enterprise Java environment
►    = Tomcat + RDBMS


►    Cloud features like elastic scaling available
►    Can easily add other AWS elements
►    Runs on a proven environment


►    But: 1 server = 1 virtual machine
►    GAE can run multiple applications on one machine
►    Less efficient (?)
VMware
Cloud Foundry
VMware Cloud Foundry

►    Open Source
     >  At https://github.com/cloudfoundry/
        under Apache2 license


►    No commercial offering yet
►    Hosted at cloudfoundry.com, currently beta
VMware Cloud Foundry

►    Can run Java, Ruby and Node.js
     >  Spring, Grails, Scala / Lift, Rails, Sinatra &
        Node.js supported
     >  Erlang, PHP, Python, Play created by community
     >  Support for other languages currently in development by the community


►    Spring / Grails / Lift use Tomcat internally
►    1 server runs multiple applications


►    Command line tool available
►    Eclipse Plug In available
►    Only possible to add new instances, no elastic scaling depending on load
     indicators
►    Well… you can build it J
VMware Cloud Foundry Services
►    Relational Database Service (MySQL, PostgreSQL)
►    NoSQL Key-Value Store (Redis)
►    NoSQL Document Store (mongoDB)
►    Messaging Service (RabbitMQ)


►    Services are shared across applications
►    i.e. one server for multiple clients


►    Framework support (e.g. Spring) allows easy access to services
►    Behind the scenes: Environment variable for server, user, password
►    i.e. can also use without framework support


►    More to come in the future
VMware Cloud Foundry: Other Platforms
►    Announced: Private Cloud Offering by VMware
►    Beta: Activestate Private PaaS Offering


►    Rightscale VM images for EC2


►    Ubuntu 11.10 has a repository for Cloud Foundry
►    Easy to create larger installations on EC2 using juju
►    Ubuntu’s juju coordinates and installs a set of VMs


►    VMware Cloud Foundry Microcloud: Try applications on your laptop
CloudBees DEV@Cloud and RUN@Cloud
CloudBees: DEV@Cloud
►    Continuous Integration (Jenkins)
     >  Good application for the Cloud: Peaks and high load
        only during working hours
     >  Standardized and universally applicable service
     >  Some Essentials Plug Ins in free version
     >  More in Base / Pro / Enterprise pay version
     >  Also more parallel build in pay version
     >  …and faster build machines
►    Maven repository
     >  Snapshot / Release
     >  Builds can be automatically deployed
►    Might add other services in the future
►    Partner: SonarSource (Sonar in the Cloud), Sauce Labs On Demand
     (Selenium)
CloudBees: RUN@Cloud
►    Tomcat / Java EE 6 Web Profile
►    Runs on Amazon EC2
►    Multiple applications run on one machine


►    Easily deploy a WAR
     >  either by web interface
     >  or command line utility (bees SDK)


►    Simple monitoring (web / command line)
►    Access to logs


►    MySQL database
     >  Very simple (i.e. just one server, but backup included)
     >  Could use Amazon RDS and partner offering for MonogDB / CouchDB
        instead
Other Players
                ►    Oracle
                     >  Just launched its Public Cloud based on Java EE


                ►    Heroku
                     >  Pioneer for PaaS, in particular Ruby
                     >  Now support for Scala, Java etc
                     >  Acquired by Salesforce.com
                     >  git push into the Cloud


                ►    RedHat
                     >  OpenShift Express: Public Cloud with Perl, Pyhton, Ruby,
                        and Java EE support
                     >  OpenShift Felx: Public Cloud for Java EE based on EC2
                     >  OpenShift Power (announced): Support for arbitrary Linux
                        applications
Cloud
►    Cloud is interesting because
     >  Economics
     >  Business Agility
     >  Platform of the Future


►    Google App Engine: The pioneer


►    Amazon Beanstalk: The Tomcat you are used to – based on Amazon Web Services


►    Cloud Foundry: Open Source platform with a lot of innovation


►    CloudBees: Developer Focus


►    Other players: Red Hat, Oracle and Heroku
Questions?




             @ewolff

More Related Content

What's hot

Running High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWSRunning High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWS
Acquia
 

What's hot (20)

Introduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud FoundryIntroduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud Foundry
 
Cloud Foundry a Developer's Perspective
Cloud Foundry a Developer's PerspectiveCloud Foundry a Developer's Perspective
Cloud Foundry a Developer's Perspective
 
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
The Pivotal Engineering Dojo: Earning Your Black Belt in Cloud Foundry Engine...
 
Platform as a service
Platform as a servicePlatform as a service
Platform as a service
 
Put Your Existing Application On Windows Azure
Put Your Existing Application On Windows AzurePut Your Existing Application On Windows Azure
Put Your Existing Application On Windows Azure
 
Migrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft AzureMigrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft Azure
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)
Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)
Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)
 
DevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codeDevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as code
 
Openstack - Enterprise cloud management platform
Openstack - Enterprise cloud management platformOpenstack - Enterprise cloud management platform
Openstack - Enterprise cloud management platform
 
Running High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWSRunning High Availability Websites with Acquia and AWS
Running High Availability Websites with Acquia and AWS
 
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
Cloud Foundry Summit 2015: Managing Hybrid Deployments Using Cloud Foundry on...
 
Cnam azure ze cloud resource manager
Cnam azure ze cloud  resource managerCnam azure ze cloud  resource manager
Cnam azure ze cloud resource manager
 
Google Cloud Platform Certification Cloud Architect Exam Prep Review Virtual ...
Google Cloud Platform Certification Cloud Architect Exam Prep Review Virtual ...Google Cloud Platform Certification Cloud Architect Exam Prep Review Virtual ...
Google Cloud Platform Certification Cloud Architect Exam Prep Review Virtual ...
 
AWS vs. Azure vs. Google vs. SoftLayer: Network, Storage and DBaaS
AWS vs. Azure vs. Google vs. SoftLayer: Network, Storage and DBaaSAWS vs. Azure vs. Google vs. SoftLayer: Network, Storage and DBaaS
AWS vs. Azure vs. Google vs. SoftLayer: Network, Storage and DBaaS
 
Rover: Implementing Landing Zone Using Docker Container
Rover: Implementing Landing Zone Using Docker ContainerRover: Implementing Landing Zone Using Docker Container
Rover: Implementing Landing Zone Using Docker Container
 
JBoss Fuse Service Works
JBoss Fuse Service WorksJBoss Fuse Service Works
JBoss Fuse Service Works
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly - Terraform for azure: the good, the bad and the ugly -
Terraform for azure: the good, the bad and the ugly -
 
Cnam azure 2015 storage
Cnam azure 2015  storageCnam azure 2015  storage
Cnam azure 2015 storage
 

Viewers also liked

1 St Qtr. 2008 Pri Retail Analytics
1 St Qtr. 2008 Pri Retail Analytics1 St Qtr. 2008 Pri Retail Analytics
1 St Qtr. 2008 Pri Retail Analytics
digital.signage
 
Sintesis informativa 25 06 2013
Sintesis informativa 25 06 2013Sintesis informativa 25 06 2013
Sintesis informativa 25 06 2013
megaradioexpress
 
Marketing - Internet Advertisement
Marketing - Internet AdvertisementMarketing - Internet Advertisement
Marketing - Internet Advertisement
Bishnu Kumar
 

Viewers also liked (20)

Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the Cloud
 
Amazon EC2 and AWS Elastic Beanstalk Introduction
Amazon EC2 and AWS Elastic Beanstalk IntroductionAmazon EC2 and AWS Elastic Beanstalk Introduction
Amazon EC2 and AWS Elastic Beanstalk Introduction
 
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
Java For The Cloud Presentation @ AlphaCSP's JavaEdge 2008
 
Java Update - Bristol JUG. Part 2 - Java EE / Java in the Cloud.
Java Update - Bristol JUG. Part 2 - Java EE / Java in the Cloud.Java Update - Bristol JUG. Part 2 - Java EE / Java in the Cloud.
Java Update - Bristol JUG. Part 2 - Java EE / Java in the Cloud.
 
CloudOps evening presentation from Amazon
CloudOps evening presentation from AmazonCloudOps evening presentation from Amazon
CloudOps evening presentation from Amazon
 
Cloud computing and bioinformatics
Cloud computing and bioinformaticsCloud computing and bioinformatics
Cloud computing and bioinformatics
 
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
Java EE 7: Developing for the Cloud at Java Day, Istanbul, May 2012
 
Your First 10 million Users on the AWS Cloud
Your First 10 million Users on the AWS CloudYour First 10 million Users on the AWS Cloud
Your First 10 million Users on the AWS Cloud
 
Diary of a Scalable Java Application
Diary of a Scalable Java ApplicationDiary of a Scalable Java Application
Diary of a Scalable Java Application
 
Introduction of Cloud Computing
Introduction of Cloud ComputingIntroduction of Cloud Computing
Introduction of Cloud Computing
 
Scalable Java Application Development on AWS
Scalable Java Application Development on AWSScalable Java Application Development on AWS
Scalable Java Application Development on AWS
 
Chap 3 infrastructure as a service(iaas)
Chap 3 infrastructure as a service(iaas)Chap 3 infrastructure as a service(iaas)
Chap 3 infrastructure as a service(iaas)
 
Rev Dr.Zairema chanchin (Khawvel Sunday School Ni)
Rev Dr.Zairema chanchin (Khawvel Sunday School Ni)Rev Dr.Zairema chanchin (Khawvel Sunday School Ni)
Rev Dr.Zairema chanchin (Khawvel Sunday School Ni)
 
Mark scheme for the geographical enquiry
Mark scheme for the geographical enquiryMark scheme for the geographical enquiry
Mark scheme for the geographical enquiry
 
1 St Qtr. 2008 Pri Retail Analytics
1 St Qtr. 2008 Pri Retail Analytics1 St Qtr. 2008 Pri Retail Analytics
1 St Qtr. 2008 Pri Retail Analytics
 
212 t5dlv gabriela soto olea francisco cuamea lizárraga_serie ohuira completa
212 t5dlv gabriela soto olea francisco cuamea lizárraga_serie ohuira completa212 t5dlv gabriela soto olea francisco cuamea lizárraga_serie ohuira completa
212 t5dlv gabriela soto olea francisco cuamea lizárraga_serie ohuira completa
 
G.o. 41.073
G.o. 41.073G.o. 41.073
G.o. 41.073
 
Sintesis informativa 25 06 2013
Sintesis informativa 25 06 2013Sintesis informativa 25 06 2013
Sintesis informativa 25 06 2013
 
Marketing - Internet Advertisement
Marketing - Internet AdvertisementMarketing - Internet Advertisement
Marketing - Internet Advertisement
 
A day in the life of a pharmaceutical physician
A day in the life of a pharmaceutical physicianA day in the life of a pharmaceutical physician
A day in the life of a pharmaceutical physician
 

Similar to Java in the Cloud : PaaS Platforms in Comparison

Virtualization Techniques & Cloud Compting
Virtualization Techniques & Cloud ComptingVirtualization Techniques & Cloud Compting
Virtualization Techniques & Cloud Compting
Ahmed Mekkawy
 
WindowsAzureSDK1.7
WindowsAzureSDK1.7WindowsAzureSDK1.7
WindowsAzureSDK1.7
Saravanan G
 

Similar to Java in the Cloud : PaaS Platforms in Comparison (20)

Cloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudCloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and Cloud
 
GigaSpaces CCF 4 Xap
GigaSpaces CCF 4 XapGigaSpaces CCF 4 Xap
GigaSpaces CCF 4 Xap
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
Virtualization Techniques & Cloud Compting
Virtualization Techniques & Cloud ComptingVirtualization Techniques & Cloud Compting
Virtualization Techniques & Cloud Compting
 
Scaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudScaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloud
 
Running Magnolia on Jelastic Cloud Hosting
Running Magnolia on Jelastic Cloud HostingRunning Magnolia on Jelastic Cloud Hosting
Running Magnolia on Jelastic Cloud Hosting
 
Magnolia CMS on Jelastic
Magnolia CMS on JelasticMagnolia CMS on Jelastic
Magnolia CMS on Jelastic
 
Magnolia CMS - on Jelastic
Magnolia CMS - on JelasticMagnolia CMS - on Jelastic
Magnolia CMS - on Jelastic
 
Cloudjiffy vs Amazon Elastic Beanstalk
Cloudjiffy vs Amazon Elastic BeanstalkCloudjiffy vs Amazon Elastic Beanstalk
Cloudjiffy vs Amazon Elastic Beanstalk
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
OSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration SummitOSv presentation from Linux Foundation Collaboration Summit
OSv presentation from Linux Foundation Collaboration Summit
 
WindowsAzureSDK1.7
WindowsAzureSDK1.7WindowsAzureSDK1.7
WindowsAzureSDK1.7
 
Cloud PaaS with Java
Cloud PaaS with JavaCloud PaaS with Java
Cloud PaaS with Java
 
An introduction to Serverless
An introduction to ServerlessAn introduction to Serverless
An introduction to Serverless
 
A real-life account of moving 100% to a public cloud
A real-life account of moving 100% to a public cloudA real-life account of moving 100% to a public cloud
A real-life account of moving 100% to a public cloud
 
abiCloud in 10 slides
abiCloud in 10 slidesabiCloud in 10 slides
abiCloud in 10 slides
 
Optimize Your VMware SDDC with IBM Infrastructure
Optimize Your VMware SDDC with IBM InfrastructureOptimize Your VMware SDDC with IBM Infrastructure
Optimize Your VMware SDDC with IBM Infrastructure
 
Sweet! Running SugarCRM on the Amazon Cloud | SugarCon 2011
Sweet! Running SugarCRM on the Amazon Cloud | SugarCon 2011Sweet! Running SugarCRM on the Amazon Cloud | SugarCon 2011
Sweet! Running SugarCRM on the Amazon Cloud | SugarCon 2011
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Increase Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web ServicesIncrease Speed and Agility with Amazon Web Services
Increase Speed and Agility with Amazon Web Services
 

More from Eberhard Wolff

More from Eberhard Wolff (20)

Architectures and Alternatives
Architectures and AlternativesArchitectures and Alternatives
Architectures and Alternatives
 
Beyond Microservices
Beyond MicroservicesBeyond Microservices
Beyond Microservices
 
The Frontiers of Continuous Delivery
The Frontiers of Continuous DeliveryThe Frontiers of Continuous Delivery
The Frontiers of Continuous Delivery
 
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
 
Microservices - not just with Java
Microservices - not just with JavaMicroservices - not just with Java
Microservices - not just with Java
 
Deployment - Done Right!
Deployment - Done Right!Deployment - Done Right!
Deployment - Done Right!
 
Data Architecture not Just for Microservices
Data Architecture not Just for MicroservicesData Architecture not Just for Microservices
Data Architecture not Just for Microservices
 
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
 
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
 
How Small Can Java Microservices Be?
How Small Can Java Microservices Be?How Small Can Java Microservices Be?
How Small Can Java Microservices Be?
 
Data Architecturen Not Just for Microservices
Data Architecturen Not Just for MicroservicesData Architecturen Not Just for Microservices
Data Architecturen Not Just for Microservices
 
Microservices: Redundancy=Maintainability
Microservices: Redundancy=MaintainabilityMicroservices: Redundancy=Maintainability
Microservices: Redundancy=Maintainability
 
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
 
Microservices Technology Stack
Microservices Technology StackMicroservices Technology Stack
Microservices Technology Stack
 
Software Architecture for Innovation
Software Architecture for InnovationSoftware Architecture for Innovation
Software Architecture for Innovation
 
Five (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous DeliveryFive (easy?) Steps Towards Continuous Delivery
Five (easy?) Steps Towards Continuous Delivery
 
Nanoservices and Microservices with Java
Nanoservices and Microservices with JavaNanoservices and Microservices with Java
Nanoservices and Microservices with Java
 
Microservices: Architecture to Support Agile
Microservices: Architecture to Support AgileMicroservices: Architecture to Support Agile
Microservices: Architecture to Support Agile
 
Microservices: Architecture to scale Agile
Microservices: Architecture to scale AgileMicroservices: Architecture to scale Agile
Microservices: Architecture to scale Agile
 
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
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Java in the Cloud : PaaS Platforms in Comparison

  • 1. JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON Eberhard Wolff Architecture and Technology Manager adesso AG, Germany 12.10.
  • 2. Agenda §  A Few Words About Cloud §  Java and IaaS §  PaaS – Platform as a Service §  Google App Engine §  Amazon Beanstalk §  VMware CloudFoundry §  Cloud Bees
  • 3. A Few Words About Cloud
  • 4. IaaS – PaaS – SaaS Infrastructure Platform Software as a Service as a Service as a Service > Virtual Servers > Virtual App Server > Software or Service that you use > Similar to Virtualization > Handles Scale-Out > Components that you > Manage Everything > Mostly Managed by add/integrate into your Yourself Provider app
  • 5. Cloud Deployment Model ►  Public >  Available to general public ►  Private >  Available to only one organization
  • 6. Why Cloud: Economics ►  Public Cloud: >  Pay only what you need (Pay-as-you-go) (Public Cloud) >  No CapEx >  Handle load peaks cheaply >  Transparent cost model ►  Private Cloud: >  Better Resource Utilization
  • 8. Why Cloud: Business Agility ►  From development to production with just one click Adrian Colyer (CTO VMware): ►  Much faster Customers want Business Agility – even if it means higher prices ►  Much simpler ►  Application scales automatically >  Higher load means more resources are used automatically ►  Create a test environment with just one click >  Production-like sizing Werner Vogels (CTO Amazon): Amazon Cloud is the answer to >  Cheaply (only paid Amazon developers spending 70% of during the test) their time with scalability and technology
  • 9. Why Cloud: Business Agility DevOps Continuous Delivery
  • 10. Why Cloud ? Platform of the Next Generation ►  Based on cheap commodity technologies ►  No costly high available hardware ►  Individual server may fail ►  Network may fail ►  But: ►  Data and application can be held redundantly in multiple data centers ►  Automatic distribution ►  Starting new computers trivial ►  Cheap systems with high availability and high data durability ►  Just like Google, Amazon, Facebook... ►  Needs different architectures
  • 11. What this is all about... WAR
  • 12. 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!
  • 13. 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 ►  Individual nodes fail – deal with it! ►  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
  • 14. What you will eventually come up with ►  A tool to take an Application App ►  …and create a VM with all needed infrastructure etc ►  Dynamically i.e. scale up and down ►  Need tools to >  Install software >  Manage infrastructure >  Configure infrastructure >  Set up user etc ►  Puppet, Chef etc. ►  Like a factory for VMs ►  Works on Private Cloud, Public Cloud or your VM VM local machine
  • 15. Advantages of IaaS Approach ►  Very flexible ►  Works for any IaaS and any software to be installed ►  Works for complex environments with many infrastructure pieces >  Install a database server, some Tomcats, a load balancer and a cache server >  Install your own and totally proprietary special solution >  Fine tune all the parameters ►  Can deploy different parts of the application to special nodes ►  But often developers just want a platform to run applications on ►  No fine tuning ►  Standardized and uniform services ►  Also: Developers need other non-Java-EE services
  • 17. Invisible App PaaS
  • 18. PaaS ►  Platform as a service (PaaS) is the delivery of a computing platform and solution stack as a service.
  • 19. PaaS: Advantages and Disadvantages §  Advantages •  Easier to use 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 •  …but IaaS does the same (Amazon) §  Disadvantages •  Less flexible •  Pre-defined programming model •  Defines environment •  Programming model might be different •  Hard to learn & port existing code
  • 21. Google App Engine ►  Pioneer: Very early in the market ►  Supports Java, Pyhton, Go (beta) ►  For Java: Very restrictive environment >  Java classes white list >  Limited sandbox >  Focus on NoSQL while typical Java applications use RDBMS >  Limited Preview: Cloud SQL (MySQL) >  Limit on start up time of application etc >  Limit on response time (30 seconds) >  No control or access to operating system >  Can’t change configuration of the web server ►  Benefits? ►  Specialized frameworks have been created (Gaelyk for Groovy) ►  Recently changed pricing
  • 23. Amazon Web Services ►  Collection of Cloud Offerings (mostly IaaS) ►  Elastic Compute Cloud (EC2) ►  Elastic Map Reduce ►  Auto Scaling ►  SimpleDB : Big Table like NoSQL database ►  Simple Queue Service (SQS) ►  Simple Notification Service (SNS) ►  Simple Email Service (SES) ►  Virtual Private Cloud (VPC) ►  Simple Storage Service (S3) ►  Elastic Block Storage (EBS) ►  ElastiCache ►  AWS is a marketplace: 3rd party offerings https://mongohq.com/ for MongoDB and https://cloudant.com/ for CouchDB
  • 24. Amazon Elastic Beanstalk ►  Based on the Amazon EC2 infrastructure ►  …and Auto Scaling ►  …S3 to host the WARs ►  Adds Linux, OpenJDK, Tomcat 6 / 7 ►  Currently in beta ►  …and only in US-East ►  Eclipse Plug In available ►  Supports versioning of applications ►  Supports elastic scaling depending on load indicators ►  Simple Monitoring built in ►  Detailed control over the environment (Tomcat parameters, used VM image, log in to machine etc.)
  • 25. Amazon Elastic Beanstalk ►  Access to Tomcat logs etc. ►  Access to the OS ►  Fine tuning of Tomcat parameters possible ►  Easy, yet powerful ►  Very easy to get started ►  Demo application based on Spring ►  Uses also S3 (storage) and Simple Notification Service (SNS) ►  Add Relational Database Service (RDS) for enterprise scale MySQL or Oracle ►  …and all the other Amazon Web Services (AWS) ►  …Virtual Private Cloud (VPC) to access your backend ►  …Elasticache for performance
  • 26. Amazon Elastic Beanstalk ►  Can be much like your average Enterprise Java environment ►  = Tomcat + RDBMS ►  Cloud features like elastic scaling available ►  Can easily add other AWS elements ►  Runs on a proven environment ►  But: 1 server = 1 virtual machine ►  GAE can run multiple applications on one machine ►  Less efficient (?)
  • 28. VMware Cloud Foundry ►  Open Source >  At https://github.com/cloudfoundry/ under Apache2 license ►  No commercial offering yet ►  Hosted at cloudfoundry.com, currently beta
  • 29. VMware Cloud Foundry ►  Can run Java, Ruby and Node.js >  Spring, Grails, Scala / Lift, Rails, Sinatra & Node.js supported >  Erlang, PHP, Python, Play created by community >  Support for other languages currently in development by the community ►  Spring / Grails / Lift use Tomcat internally ►  1 server runs multiple applications ►  Command line tool available ►  Eclipse Plug In available ►  Only possible to add new instances, no elastic scaling depending on load indicators ►  Well… you can build it J
  • 30. VMware Cloud Foundry Services ►  Relational Database Service (MySQL, PostgreSQL) ►  NoSQL Key-Value Store (Redis) ►  NoSQL Document Store (mongoDB) ►  Messaging Service (RabbitMQ) ►  Services are shared across applications ►  i.e. one server for multiple clients ►  Framework support (e.g. Spring) allows easy access to services ►  Behind the scenes: Environment variable for server, user, password ►  i.e. can also use without framework support ►  More to come in the future
  • 31. VMware Cloud Foundry: Other Platforms ►  Announced: Private Cloud Offering by VMware ►  Beta: Activestate Private PaaS Offering ►  Rightscale VM images for EC2 ►  Ubuntu 11.10 has a repository for Cloud Foundry ►  Easy to create larger installations on EC2 using juju ►  Ubuntu’s juju coordinates and installs a set of VMs ►  VMware Cloud Foundry Microcloud: Try applications on your laptop
  • 33. CloudBees: DEV@Cloud ►  Continuous Integration (Jenkins) >  Good application for the Cloud: Peaks and high load only during working hours >  Standardized and universally applicable service >  Some Essentials Plug Ins in free version >  More in Base / Pro / Enterprise pay version >  Also more parallel build in pay version >  …and faster build machines ►  Maven repository >  Snapshot / Release >  Builds can be automatically deployed ►  Might add other services in the future ►  Partner: SonarSource (Sonar in the Cloud), Sauce Labs On Demand (Selenium)
  • 34. CloudBees: RUN@Cloud ►  Tomcat / Java EE 6 Web Profile ►  Runs on Amazon EC2 ►  Multiple applications run on one machine ►  Easily deploy a WAR >  either by web interface >  or command line utility (bees SDK) ►  Simple monitoring (web / command line) ►  Access to logs ►  MySQL database >  Very simple (i.e. just one server, but backup included) >  Could use Amazon RDS and partner offering for MonogDB / CouchDB instead
  • 35. Other Players ►  Oracle >  Just launched its Public Cloud based on Java EE ►  Heroku >  Pioneer for PaaS, in particular Ruby >  Now support for Scala, Java etc >  Acquired by Salesforce.com >  git push into the Cloud ►  RedHat >  OpenShift Express: Public Cloud with Perl, Pyhton, Ruby, and Java EE support >  OpenShift Felx: Public Cloud for Java EE based on EC2 >  OpenShift Power (announced): Support for arbitrary Linux applications
  • 36. Cloud ►  Cloud is interesting because >  Economics >  Business Agility >  Platform of the Future ►  Google App Engine: The pioneer ►  Amazon Beanstalk: The Tomcat you are used to – based on Amazon Web Services ►  Cloud Foundry: Open Source platform with a lot of innovation ►  CloudBees: Developer Focus ►  Other players: Red Hat, Oracle and Heroku
  • 37. Questions? @ewolff