SlideShare a Scribd company logo
All Change!
https://www.flickr.com/photos/teegardin/
why the economics of Cloud will
make you think differently about Java
Important Disclaimers
THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONALPURPOSES ONLY.
WHILST EFFORTS WERE MADETO VERIFYTHE COMPLETENESSANDACCURACYOF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT
WARRANTY OFANY KIND, EXPRESS OR IMPLIED.
ALLPERFORMANCE DATAINCLUDED IN THIS PRESENTATION HAVE BEEN GATHERED INACONTROLLED ENVIRONMENT. YOUR OWNTEST RESULTS MAYVARY BASED ON HARDWARE,
SOFTWARE OR INFRASTRUCTURE DIFFERENCES.
ALLDATAINCLUDED IN THIS PRESENTATIONARE MEANT TO BE USED ONLYASAGUIDE.
INADDITION, THE INFORMATION CONTAINED INTHIS PRESENTATION IS BASED ON IBM’S CURRENT PRODUCT PLANSAND STRATEGY, WHICHARE SUBJECT TO CHANGE BY IBM,
WITHOUT NOTICE.
IBMAND ITSAFFILIATED COMPANIES SHALLNOT BE RESPONSIBLE FORANY DAMAGESARISING OUT OFTHE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION ORANY
OTHER DOCUMENTATION.
NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALLHAVETHE EFFECT OF:
Steve Poole – IBM
Making Java Real Since
Version 0.9
DevOps Practitioner
@spoole167
Chris Bailey– IBM
Runtimes Technical Lead
Java, Node.js & Swift
@Chris__Bailey
This talk is about how this sort of measurement:
GB/hr
Is already changing your life & the direction of the Java
ecosystem
The ‘Cloud’ has a lot to answer for
Outline
• Part 1 – The economics of Cloud provisioning
• Part 2 – The API economy and Java
• Part 3 - How Java measures up
• Part 4 – What the future holds
• Wrap up & Q/A
Part 1 – The economics of Cloud provisioning
Why ‘Cloud’ ?
A local, hand-crafted, static environment which
requires in-house specialist support, doesn’t scale
well and requires long term investment and
commitment
tps://www.flickr.com/photos/sylvar/
What ‘Cloud’
promises
a virtual, dynamic environment
which maximizes use, is infinitely
scalable, always available and
needs minimal upfront
investment or commitment
Take your code – host it on someone else's
machine and pay only for the resource you use
for the time you use it
AND be able to do that very quickly and
repeatedly in parallel
How quickly do you need to get good code into
production?
• Would you believe < 1hr?
• Case Study: A fashion retailer can show measureable
increase in sales if a item similar to that seen in the media can
be placed on their on-line store landing page within 1 hr of it
appearing in public.
• Each product placement is different so they need a fast, agile,
approach that does not jeopardize their on-line stores
availability and quality.
• We know how to do this..
Cloud computing is real.
Major vendors are providing
substantial capacity and it’s
growing all the time
Businesses see the opportunities
Improved value for money,
decreased time-to-market, shorter
time to value
“I can now get my ideas into
production in hours,days or weeks.
I can get immediate feedback AND
then I can improve the idea and
repeat”
70% of IT Leaders are pursuing a hybrid cloud
strategy
http://www.fodey.com/generators/newspaper/snippet.asp
Hybrid Cloud is coming to a data centre near you
ps://www.flickr.com/photos/skohlmann/
The ability to have ‘cloud burst’
capacity is changing the way software
is being designed, developed and
supported
We’re moving to a more industrial scale
v1v1 v2v2 v3v3
time
compute
capacity
V1V1
V1.1V1.1
V1.2V1.2
V1.3V1.3
V1.4V1.4
V1.5V1.5
V1.6V1.6
V1.7V1.7
v1v1 v2v2
time
compute
capacity
We’re moving to a more industrial scale
v3v3
• Why buy one computer for a year when you
can hire 365 computers for a day..
(Or a hour or a minute or a millisecond)
https://www.flickr.com/photos/vuhung/
“Compute on demand” – it’s what we always wanted
Cloud Economics
We really are getting closer all the time to
‘Compute on Tap’
https://www.flickr.com/photos/leunix/
But with taps come meters…
https://www.flickr.com/photos/beigephotos/
Cloud Economics
Like all bills – it’s confusing
Offering RAM Cost (2015) CPUs
IBM Bluemix (CF) $24.15 GB/Month 4vCPUs per instance
IBM Bluemix (Containers) $ 9.94 GB/Month 4vCPUs per GB
run.pivotal.io $21.60 GB/Month 4vCPUs per instance
Heroku (Hobby) $14.00 GB/Month 1 "CPU share" per 512MB in an
instance
Heroku (Professional) $50.00 GB/Month 1 "CPU share" per 512MB in an
instance
Amazon EC2 (SLES) $16.56 GB/Month 1 vCPU per 4GB in an instance.
Cloud computing: compute == money
Money changes everything
With a measureable and direct relationship
between $£€¥ and CPU/RAM, disk etc the
financial success or failure of a project is even
easier to see
And that means…
Even more focus on value for money.
American Society of Civil Engineers
Someone
will be
looking at
your leaky
app
Someone
will be
looking at
your leaky
app
Part 2 – The API economy
And what that means for Java
The API economy
If your company has data it will eventually
be shared and monetized
Really.
Cloud APIs are one of the fastest growing areas in our industry.
Sharing data and services though APIs is enabling new
opportunities and solutions
Everyone is getting into the game.
What makes a good cloud api ?
roughly in selection order.
vailability 100% of course with performance SLAs
elievability – Are those published 100% metrics true?
ost – how much and what is the unit of measure?
iagnosability – can users debug problems without you?
xcitement – is there a vibrant community using the API?
unctionality – what else can the API do?
Where you code runs day-to-day and moment-to-
moment will be driven by economics, legal
requirements and how much risk your business
wants to take.
Your code has to scale better, be more efficient,
resilient, secure and work in constrained
environments
You will have to design, code, deliver, support and
debug code in new ways
It’s going to be scary
How scary?
design, coding, deployment ,
startup, execution, scaling
debugging, security, resilience …
Almost
everything about
your application
is effected
https://www.flickr.com/photos/mjtmail/
Resilient applications
Design for short term failure: something fails all the time. Expect data and
service outages regularly
Fail and recover: don’t diagnose problems in running systems. Kill it and
move on
Every IO operation you perform may fail – do as few as possible
Every IO operation may stall – costing you GB/hrs and resources– timeout
everything quickly
Every piece of data you receive may be badly formed – check everything
“Everything in the cloud fails
all the time” : Werner Vogels
Debugging
Remote support for your family?
Fancy having to do that for your own
apps?
You have to assume:
You will never be able to log into a
remote server.
You will never be able to attach a
remote debugger to a failing app
Ever.
All problems must be resolved by local
reproduction or logs and dumps
https://www.flickr.com/photos/carbonnyc/
Debugging
It gets more challenging.
Failures during deployment or initial startup can
be difficult or impossible to diagnose.
If your service instance didn’t start there is is little
chance of logs being kept!
Learn to love logs, dumps and traces.
Remote log stores and tools are going to be
your best friend
BTW: they’ll cost too
https://www.flickr.com/photos/hinkelstone/
Debugging
• Q: Why can’t you just keep the failed
instance around?
• A: You can – if you accept the $$$
consequences…
Hard metrics and limits keeping a failed app around
or having apps on standby
can be costly in multiple ways
Runtime costs and taking up
vital resource allocation
Part 3 - How Java measures up
Compute == money Easier than ever before
a business can rent a
machine
Just for how long they
need it.
No long term capital
investment.
Now an operational
expense
$ == GB/hr
-Xmx: $100
https://www.flickr.com/photos/isherwoodchris/
• Q: How much RAM does your
application use?
• A: Too much
Runtime costs
Most cloud providers will charge you for your RAM usage over time:
$GB/hr. (Sometimes the charge is $0)
Increasing –Xmx directly effects cost. Something businesses can understand
Net effect – you’ll be tuning your application
to fit into specific RAM sizes.
Smaller than you use today.
You need to measure where the storage goes.
You’ll be picking some components based on
memory usage
increasing the amount of memory for 1 service
increases the bill by the number of concurrent
instances
https://www.flickr.com/photos/erix/
Unnecessary baggage
(you have loads)
Java applications have to get lighter.
Java 9 modularity will help but you have to
consider footprint across the board.
Choose your dependencies wisely
Your choice of OS & distribution is
important.
The aim is ‘carry on only’
Your application isn’t going on a long
trip https://www.flickr.com/photos/armydre2008/
Analysing Your Memory Usage
A large percentage of the heap is used for collections and caches
Eclipse Memory Analyzer will help you analyze:
Easy to reduce memory usage without reducing cache sizes
https://www.flickr.com/photos/armydre2008/
Example costs (2015)
Bluemix (CF) Amazon (ECS)
Running a 512mb container
for a year
$289.80 for 4 cpus 198.72 for 1 cpu
Reducing memory footprint
by 10% saves
$28.98 $0
Running 100 containers in
parallel
$28,980.00 for 400
cpus
$19,872.00 for 100 cpus
Reducing memory footprint
by 10% saves
$2,898.00 $0
N-Body Memory Footprints (lower is better)
Modern Native Scripting JVMC
N-Body Completion Time (lower is
better):
Modern Native Scripting JVMC
N-Body Completion Time, normalized for
100MB of memory (lower is better):
Modern Native Scripting JVMC
Example costs (2015)
Bluemix (CF)
Running a 512mb container
for a year
$289.80 for 4 cpus
Reducing memory footprint
by using Swift saves 75%
$216.75
Running 100 containers in
parallel
$28,980.00 for 400
cpus
Reducing memory footprint
by using Swift saves
$21,675.00
Static Load Profile
Auto-Scaled Load Profile
Example costs (2015)
Bluemix (CF)
Running a 512mb container
for a year
$289.80 for 4 cpus
Using auto-Scaling reduces
container usage by 30%
Running 100 containers in
parallel
$28,980.00 for 400
cpus
Using auto-scaling saves $6,085.8
Java & fast startup time
Application developers can reduce service
startup time by deferring optional costs to
when its needed.
Maybe even create services with different
behaviors rather than one with optional
behavior
But it’s not enough
The JVM needs to revisit all the places
where startup time was traded for
throughput and turn them around.
Startup times
How long do you have to wait?
Limits ability to react to changes in workload
Will you need to preemptively start instances ‘just
in case’ due to start up time?
To bad – that costs
Also think about this:
Everything that happens at startup – happens
every time, all the time.
- Duplication is wasted effort
https://www.flickr.com/photos/91295117@N08/
Consequences
For container based services start up effort
happens multiple times during development
and production
And it’s always the same result.
AND you will pay $ for it every time
We don’t have a good way to capture all this
effort or formalise starting a JVM from a
precanned image. (Shared classes doesn’t hack
it)
Other languages have better / faster startup!
https://www.flickr.com/photos/dno1967b/https://www.flickr.com/photos/quinnanya/
https://www.flickr.com/photos/76657755@N04/
Part 4 – What the future
holds
Thoughts about the future
Applications are going to be increasingly micro-service and multi-language
Java frameworks are becoming smaller and more modular
Java itself is becoming modular
Ahead of Time (AOT) Compilation and “jimage” capabilities will become more important
Java needs to optimize for micro-services rather than monoliths
Wrap up
It’s all change
How you design, code, deploy, debug,
support etc will be effected by the
metrics and limits imposed on you.
Financial metrics and limits always
change behavior. It also creates
opportunity
You will have to learn new techniques
and tools
The JVM and Java applications have
to get leaner and meaner
https://www.flickr.com/photos/beigephotos/
Simply
Applications are going to be running in a remote,
constrained and metered environment
There will be precise limits on how much disk, CPU, RAM,
Bandwidth an application can use and for how long
Whether your application is large or small, granular or
monolithic. Someone will be paying for each unit used
That person will want to get the most out of that
investment
Your application is going on a radical diet
The runtime layer needs to change
https://www.flickr.com/photos/rvoegtli/
Summary
1. Your business will need to adapt to ‘cloud’
2. Your developers will need to adapt to ‘cloud’
3. Your application will need to adapt to ‘cloud’
4. Your competitors are already adapting
We don’t know all the answers (or even the questions) yet.
We do know the next and largest ever pain point for Java is ‘cloud’
Big changes are needed to keep Java successful and competitive
Your world is changing dramatically and all
because of …
GB/hr
Any Questions?

More Related Content

What's hot

Impact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingImpact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance Troubleshooting
Chris Bailey
 
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
Chris Bailey
 
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2IBM Monitoring and Diagnostics Tools - Health Center 3.0.2
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2
Chris Bailey
 
InterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.jsInterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.js
Chris Bailey
 
FrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with SwiftFrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with Swift
Chris Bailey
 
How to secure your web applications with NGINX
How to secure your web applications with NGINXHow to secure your web applications with NGINX
How to secure your web applications with NGINX
Wallarm
 
JavaOne 2013: Garbage Collection Unleashed - Demystifying the Wizardry
JavaOne 2013: Garbage Collection Unleashed - Demystifying the WizardryJavaOne 2013: Garbage Collection Unleashed - Demystifying the Wizardry
JavaOne 2013: Garbage Collection Unleashed - Demystifying the Wizardry
Ryan Sciampacone
 
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
 
Integrating Veeam Backup with NimbleStorage
Integrating Veeam Backup with NimbleStorageIntegrating Veeam Backup with NimbleStorage
Integrating Veeam Backup with NimbleStorage
Jorge de la Cruz
 
Performance Testing in the Cloud
Performance Testing in the CloudPerformance Testing in the Cloud
Performance Testing in the Cloud
stuartmoncrieff
 
Stating the obvious - All Day DevOps 2017
Stating the obvious  - All Day DevOps 2017Stating the obvious  - All Day DevOps 2017
Stating the obvious - All Day DevOps 2017
Giulio Vian
 
VMware 2V0-21.20 Practice Test
VMware 2V0-21.20 Practice Test VMware 2V0-21.20 Practice Test
VMware 2V0-21.20 Practice Test
Armstrongsmith
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
Wojciech Dec
 
STO5475_Rasheed_Winter_FORMATTED3
STO5475_Rasheed_Winter_FORMATTED3STO5475_Rasheed_Winter_FORMATTED3
STO5475_Rasheed_Winter_FORMATTED3Abdul Rasheed
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshop
Rohit Kelapure
 
Cloud based Performance Testing
Cloud based Performance TestingCloud based Performance Testing
Cloud based Performance Testing
Impetus Technologies
 
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld
 
Veeam Agent for Linux - Webinar 20171130
Veeam Agent for Linux - Webinar 20171130Veeam Agent for Linux - Webinar 20171130
Veeam Agent for Linux - Webinar 20171130
Tanawit Chansuchai
 
Vmware Certified Professional 6 2V0-621 Dumps
Vmware Certified Professional 6 2V0-621 DumpsVmware Certified Professional 6 2V0-621 Dumps
Vmware Certified Professional 6 2V0-621 Dumps
Shamar41
 

What's hot (20)

Impact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance TroubleshootingImpact2014: Practical Performance Troubleshooting
Impact2014: Practical Performance Troubleshooting
 
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
JavaOne2013: Build Your Own Runtime Monitoring for the IBM JDK with the Healt...
 
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2IBM Monitoring and Diagnostics Tools - Health Center 3.0.2
IBM Monitoring and Diagnostics Tools - Health Center 3.0.2
 
InterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.jsInterConnect2016: WebApp Architectures with Java and Node.js
InterConnect2016: WebApp Architectures with Java and Node.js
 
FrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with SwiftFrenchKit: End to End Application Development with Swift
FrenchKit: End to End Application Development with Swift
 
How to secure your web applications with NGINX
How to secure your web applications with NGINXHow to secure your web applications with NGINX
How to secure your web applications with NGINX
 
JavaOne 2013: Garbage Collection Unleashed - Demystifying the Wizardry
JavaOne 2013: Garbage Collection Unleashed - Demystifying the WizardryJavaOne 2013: Garbage Collection Unleashed - Demystifying the Wizardry
JavaOne 2013: Garbage Collection Unleashed - Demystifying the Wizardry
 
Cloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and CloudCloudy in Indonesia: Java and Cloud
Cloudy in Indonesia: Java and Cloud
 
Integrating Veeam Backup with NimbleStorage
Integrating Veeam Backup with NimbleStorageIntegrating Veeam Backup with NimbleStorage
Integrating Veeam Backup with NimbleStorage
 
Performance Testing in the Cloud
Performance Testing in the CloudPerformance Testing in the Cloud
Performance Testing in the Cloud
 
Stating the obvious - All Day DevOps 2017
Stating the obvious  - All Day DevOps 2017Stating the obvious  - All Day DevOps 2017
Stating the obvious - All Day DevOps 2017
 
VMware 2V0-21.20 Practice Test
VMware 2V0-21.20 Practice Test VMware 2V0-21.20 Practice Test
VMware 2V0-21.20 Practice Test
 
Puppet devops wdec
Puppet devops wdecPuppet devops wdec
Puppet devops wdec
 
V fabric overview
V fabric overviewV fabric overview
V fabric overview
 
STO5475_Rasheed_Winter_FORMATTED3
STO5475_Rasheed_Winter_FORMATTED3STO5475_Rasheed_Winter_FORMATTED3
STO5475_Rasheed_Winter_FORMATTED3
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshop
 
Cloud based Performance Testing
Cloud based Performance TestingCloud based Performance Testing
Cloud based Performance Testing
 
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
VMworld 2013: Part 2: How to Build a Self-Healing Data Center with vCenter Or...
 
Veeam Agent for Linux - Webinar 20171130
Veeam Agent for Linux - Webinar 20171130Veeam Agent for Linux - Webinar 20171130
Veeam Agent for Linux - Webinar 20171130
 
Vmware Certified Professional 6 2V0-621 Dumps
Vmware Certified Professional 6 2V0-621 DumpsVmware Certified Professional 6 2V0-621 Dumps
Vmware Certified Professional 6 2V0-621 Dumps
 

Viewers also liked

IBM Monitoring and Diagnostic Tools - GCMV 2.8
IBM Monitoring and Diagnostic Tools - GCMV 2.8IBM Monitoring and Diagnostic Tools - GCMV 2.8
IBM Monitoring and Diagnostic Tools - GCMV 2.8
Chris Bailey
 
JavaOne 2015: From Java Code to Machine Code
JavaOne 2015: From Java Code to Machine CodeJavaOne 2015: From Java Code to Machine Code
JavaOne 2015: From Java Code to Machine Code
Chris Bailey
 
Debugging Java from Dumps
Debugging Java from DumpsDebugging Java from Dumps
Debugging Java from Dumps
Chris Bailey
 
From Java code to Java heap: Understanding and optimizing your application's ...
From Java code to Java heap: Understanding and optimizing your application's ...From Java code to Java heap: Understanding and optimizing your application's ...
From Java code to Java heap: Understanding and optimizing your application's ...
Chris Bailey
 
Efficient Memory and Thread Management in Highly Parallel Java Applications
Efficient Memory and Thread Management in Highly Parallel Java ApplicationsEfficient Memory and Thread Management in Highly Parallel Java Applications
Efficient Memory and Thread Management in Highly Parallel Java Applications
pkoza
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
Chris Bailey
 
Node Summit 2016: Web App Architectures
Node Summit 2016:  Web App ArchitecturesNode Summit 2016:  Web App Architectures
Node Summit 2016: Web App Architectures
Chris Bailey
 
Swift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerSwift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the Server
Chris Bailey
 
From Java Code to Java Heap: Understanding the Memory Usage of Your App - Ch...
From Java Code to Java Heap: Understanding the Memory Usage of Your App  - Ch...From Java Code to Java Heap: Understanding the Memory Usage of Your App  - Ch...
From Java Code to Java Heap: Understanding the Memory Usage of Your App - Ch...
jaxLondonConference
 
Hp java heap dump analysis Workshop
Hp java heap dump analysis WorkshopHp java heap dump analysis Workshop
Hp java heap dump analysis Workshop
Madhavan Marimuthu
 

Viewers also liked (10)

IBM Monitoring and Diagnostic Tools - GCMV 2.8
IBM Monitoring and Diagnostic Tools - GCMV 2.8IBM Monitoring and Diagnostic Tools - GCMV 2.8
IBM Monitoring and Diagnostic Tools - GCMV 2.8
 
JavaOne 2015: From Java Code to Machine Code
JavaOne 2015: From Java Code to Machine CodeJavaOne 2015: From Java Code to Machine Code
JavaOne 2015: From Java Code to Machine Code
 
Debugging Java from Dumps
Debugging Java from DumpsDebugging Java from Dumps
Debugging Java from Dumps
 
From Java code to Java heap: Understanding and optimizing your application's ...
From Java code to Java heap: Understanding and optimizing your application's ...From Java code to Java heap: Understanding and optimizing your application's ...
From Java code to Java heap: Understanding and optimizing your application's ...
 
Efficient Memory and Thread Management in Highly Parallel Java Applications
Efficient Memory and Thread Management in Highly Parallel Java ApplicationsEfficient Memory and Thread Management in Highly Parallel Java Applications
Efficient Memory and Thread Management in Highly Parallel Java Applications
 
WebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination FeaturesWebSphere Technical University: Top WebSphere Problem Determination Features
WebSphere Technical University: Top WebSphere Problem Determination Features
 
Node Summit 2016: Web App Architectures
Node Summit 2016:  Web App ArchitecturesNode Summit 2016:  Web App Architectures
Node Summit 2016: Web App Architectures
 
Swift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerSwift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the Server
 
From Java Code to Java Heap: Understanding the Memory Usage of Your App - Ch...
From Java Code to Java Heap: Understanding the Memory Usage of Your App  - Ch...From Java Code to Java Heap: Understanding the Memory Usage of Your App  - Ch...
From Java Code to Java Heap: Understanding the Memory Usage of Your App - Ch...
 
Hp java heap dump analysis Workshop
Hp java heap dump analysis WorkshopHp java heap dump analysis Workshop
Hp java heap dump analysis Workshop
 

Similar to Cloud Economics

All Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about JavaAll Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about Java
Steve Poole
 
All change! How the new Economics of Cloud will make you think differently ab...
All change! How the new Economics of Cloud will make you think differently ab...All change! How the new Economics of Cloud will make you think differently ab...
All change! How the new Economics of Cloud will make you think differently ab...
JAXLondon_Conference
 
Cloud Economics for Java at Java2Days
Cloud Economics for Java at Java2DaysCloud Economics for Java at Java2Days
Cloud Economics for Java at Java2Days
Steve Poole
 
JavaOne 2015 Devops and the Darkside CON6447
JavaOne 2015 Devops and the Darkside CON6447JavaOne 2015 Devops and the Darkside CON6447
JavaOne 2015 Devops and the Darkside CON6447
Steve Poole
 
JVM Support for Multitenant Applications - Steve Poole (IBM)
JVM Support for Multitenant Applications - Steve Poole (IBM)JVM Support for Multitenant Applications - Steve Poole (IBM)
JVM Support for Multitenant Applications - Steve Poole (IBM)
jaxLondonConference
 
JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"
Daniel Bryant
 
Online productivity tools - SILS20090
Online productivity tools - SILS20090Online productivity tools - SILS20090
Online productivity tools - SILS20090
is20090
 
Moving To SaaS
Moving To SaaSMoving To SaaS
Moving To SaaS
Alistair Croll
 
Top 30 Scalability Mistakes
Top 30 Scalability MistakesTop 30 Scalability Mistakes
Top 30 Scalability Mistakes
John Coggeshall
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
Jason Ragsdale
 
Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)
Haytham Elkhoja
 
2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire
Marko Mitranić
 
Product! - The road to production deployment
Product! - The road to production deploymentProduct! - The road to production deployment
Product! - The road to production deployment
Filippo Zanella
 
Azul yandexjune010
Azul yandexjune010Azul yandexjune010
Azul yandexjune010yaevents
 
Enterprise Testing in The Cloud
Enterprise Testing in The CloudEnterprise Testing in The Cloud
Enterprise Testing in The Cloud
Arun Pareek
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Gopinath Manimayan
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
Lars Vogel
 
Dictionary Within the Cloud
Dictionary Within the CloudDictionary Within the Cloud
Dictionary Within the Cloud
gueste4978b94
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
Dr. Felix Raab
 
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
Jeremy Johnson
 

Similar to Cloud Economics (20)

All Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about JavaAll Change how the economics of Cloud will make you think differently about Java
All Change how the economics of Cloud will make you think differently about Java
 
All change! How the new Economics of Cloud will make you think differently ab...
All change! How the new Economics of Cloud will make you think differently ab...All change! How the new Economics of Cloud will make you think differently ab...
All change! How the new Economics of Cloud will make you think differently ab...
 
Cloud Economics for Java at Java2Days
Cloud Economics for Java at Java2DaysCloud Economics for Java at Java2Days
Cloud Economics for Java at Java2Days
 
JavaOne 2015 Devops and the Darkside CON6447
JavaOne 2015 Devops and the Darkside CON6447JavaOne 2015 Devops and the Darkside CON6447
JavaOne 2015 Devops and the Darkside CON6447
 
JVM Support for Multitenant Applications - Steve Poole (IBM)
JVM Support for Multitenant Applications - Steve Poole (IBM)JVM Support for Multitenant Applications - Steve Poole (IBM)
JVM Support for Multitenant Applications - Steve Poole (IBM)
 
JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"
 
Online productivity tools - SILS20090
Online productivity tools - SILS20090Online productivity tools - SILS20090
Online productivity tools - SILS20090
 
Moving To SaaS
Moving To SaaSMoving To SaaS
Moving To SaaS
 
Top 30 Scalability Mistakes
Top 30 Scalability MistakesTop 30 Scalability Mistakes
Top 30 Scalability Mistakes
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
 
Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)Availability in a cloud native world v1.6 (Feb 2019)
Availability in a cloud native world v1.6 (Feb 2019)
 
2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire
 
Product! - The road to production deployment
Product! - The road to production deploymentProduct! - The road to production deployment
Product! - The road to production deployment
 
Azul yandexjune010
Azul yandexjune010Azul yandexjune010
Azul yandexjune010
 
Enterprise Testing in The Cloud
Enterprise Testing in The CloudEnterprise Testing in The Cloud
Enterprise Testing in The Cloud
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Google App Engine for Java
Google App Engine for JavaGoogle App Engine for Java
Google App Engine for Java
 
Dictionary Within the Cloud
Dictionary Within the CloudDictionary Within the Cloud
Dictionary Within the Cloud
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
 
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
Ready to go Mobile? Today's Mobile Landscape: Responsive, Adaptive, Hybrid, a...
 

More from Chris Bailey

NodeJS Interactive 2019: FaaS meets Frameworks
NodeJS Interactive 2019:  FaaS meets FrameworksNodeJS Interactive 2019:  FaaS meets Frameworks
NodeJS Interactive 2019: FaaS meets Frameworks
Chris Bailey
 
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaSVoxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Chris Bailey
 
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native WorldSilicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
Chris Bailey
 
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at SpeedFaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
Chris Bailey
 
AltConf 2019: Server-Side Swift State of the Union
AltConf 2019:  Server-Side Swift State of the UnionAltConf 2019:  Server-Side Swift State of the Union
AltConf 2019: Server-Side Swift State of the Union
Chris Bailey
 
Server-side Swift with Swagger
Server-side Swift with SwaggerServer-side Swift with Swagger
Server-side Swift with Swagger
Chris Bailey
 
Node Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.jsNode Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.js
Chris Bailey
 
Index - BFFs vs GraphQL
Index - BFFs vs GraphQLIndex - BFFs vs GraphQL
Index - BFFs vs GraphQL
Chris Bailey
 
Swift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift MicroservicesSwift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift Microservices
Chris Bailey
 
Swift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack SwiftSwift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack Swift
Chris Bailey
 
Try!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is SwiftTry!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is Swift
Chris Bailey
 
Swift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the UnionSwift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the Union
Chris Bailey
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
Chris Bailey
 
IBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and SwiftIBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and Swift
Chris Bailey
 
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesNode Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
Chris Bailey
 
FrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) SwiftFrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) Swift
Chris Bailey
 
AltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesAltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 Minutes
Chris Bailey
 
InterConnect: Server Side Swift for Java Developers
InterConnect:  Server Side Swift for Java DevelopersInterConnect:  Server Side Swift for Java Developers
InterConnect: Server Side Swift for Java Developers
Chris Bailey
 
InterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and WhenInterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and When
Chris Bailey
 
Playgrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFPlaygrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFF
Chris Bailey
 

More from Chris Bailey (20)

NodeJS Interactive 2019: FaaS meets Frameworks
NodeJS Interactive 2019:  FaaS meets FrameworksNodeJS Interactive 2019:  FaaS meets Frameworks
NodeJS Interactive 2019: FaaS meets Frameworks
 
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaSVoxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
Voxxed Micro-services: Serverless JakartaEE - JAX-RS comes to FaaS
 
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native WorldSilicon Valley Code Camp 2019 - Reaching the Cloud Native World
Silicon Valley Code Camp 2019 - Reaching the Cloud Native World
 
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at SpeedFaaS Meets Java EE: Developing Cloud Native Applications at Speed
FaaS Meets Java EE: Developing Cloud Native Applications at Speed
 
AltConf 2019: Server-Side Swift State of the Union
AltConf 2019:  Server-Side Swift State of the UnionAltConf 2019:  Server-Side Swift State of the Union
AltConf 2019: Server-Side Swift State of the Union
 
Server-side Swift with Swagger
Server-side Swift with SwaggerServer-side Swift with Swagger
Server-side Swift with Swagger
 
Node Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.jsNode Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.js
 
Index - BFFs vs GraphQL
Index - BFFs vs GraphQLIndex - BFFs vs GraphQL
Index - BFFs vs GraphQL
 
Swift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift MicroservicesSwift Cloud Workshop - Swift Microservices
Swift Cloud Workshop - Swift Microservices
 
Swift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack SwiftSwift Cloud Workshop - Codable, the key to Fullstack Swift
Swift Cloud Workshop - Codable, the key to Fullstack Swift
 
Try!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is SwiftTry!Swift India 2017: All you need is Swift
Try!Swift India 2017: All you need is Swift
 
Swift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the UnionSwift Summit 2017: Server Swift State of the Union
Swift Summit 2017: Server Swift State of the Union
 
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js MicroservicesIBM Cloud University: Build, Deploy and Scale Node.js Microservices
IBM Cloud University: Build, Deploy and Scale Node.js Microservices
 
IBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and SwiftIBM Cloud University: Java, Node.js and Swift
IBM Cloud University: Java, Node.js and Swift
 
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-ServicesNode Interactive: Node.js Performance and Highly Scalable Micro-Services
Node Interactive: Node.js Performance and Highly Scalable Micro-Services
 
FrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) SwiftFrenchKit 2017: Server(less) Swift
FrenchKit 2017: Server(less) Swift
 
AltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 MinutesAltConf 2017: Full Stack Swift in 30 Minutes
AltConf 2017: Full Stack Swift in 30 Minutes
 
InterConnect: Server Side Swift for Java Developers
InterConnect:  Server Side Swift for Java DevelopersInterConnect:  Server Side Swift for Java Developers
InterConnect: Server Side Swift for Java Developers
 
InterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and WhenInterConnect: Java, Node.js and Swift - Which, Why and When
InterConnect: Java, Node.js and Swift - Which, Why and When
 
Playgrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFPlaygrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFF
 

Recently uploaded

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 

Recently uploaded (20)

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 

Cloud Economics

  • 1. All Change! https://www.flickr.com/photos/teegardin/ why the economics of Cloud will make you think differently about Java
  • 2. Important Disclaimers THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONALPURPOSES ONLY. WHILST EFFORTS WERE MADETO VERIFYTHE COMPLETENESSANDACCURACYOF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED “AS IS”, WITHOUT WARRANTY OFANY KIND, EXPRESS OR IMPLIED. ALLPERFORMANCE DATAINCLUDED IN THIS PRESENTATION HAVE BEEN GATHERED INACONTROLLED ENVIRONMENT. YOUR OWNTEST RESULTS MAYVARY BASED ON HARDWARE, SOFTWARE OR INFRASTRUCTURE DIFFERENCES. ALLDATAINCLUDED IN THIS PRESENTATIONARE MEANT TO BE USED ONLYASAGUIDE. INADDITION, THE INFORMATION CONTAINED INTHIS PRESENTATION IS BASED ON IBM’S CURRENT PRODUCT PLANSAND STRATEGY, WHICHARE SUBJECT TO CHANGE BY IBM, WITHOUT NOTICE. IBMAND ITSAFFILIATED COMPANIES SHALLNOT BE RESPONSIBLE FORANY DAMAGESARISING OUT OFTHE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION ORANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, OR SHALLHAVETHE EFFECT OF:
  • 3. Steve Poole – IBM Making Java Real Since Version 0.9 DevOps Practitioner @spoole167 Chris Bailey– IBM Runtimes Technical Lead Java, Node.js & Swift @Chris__Bailey
  • 4. This talk is about how this sort of measurement: GB/hr Is already changing your life & the direction of the Java ecosystem The ‘Cloud’ has a lot to answer for
  • 5. Outline • Part 1 – The economics of Cloud provisioning • Part 2 – The API economy and Java • Part 3 - How Java measures up • Part 4 – What the future holds • Wrap up & Q/A
  • 6. Part 1 – The economics of Cloud provisioning
  • 7. Why ‘Cloud’ ? A local, hand-crafted, static environment which requires in-house specialist support, doesn’t scale well and requires long term investment and commitment tps://www.flickr.com/photos/sylvar/
  • 8. What ‘Cloud’ promises a virtual, dynamic environment which maximizes use, is infinitely scalable, always available and needs minimal upfront investment or commitment Take your code – host it on someone else's machine and pay only for the resource you use for the time you use it AND be able to do that very quickly and repeatedly in parallel
  • 9. How quickly do you need to get good code into production? • Would you believe < 1hr? • Case Study: A fashion retailer can show measureable increase in sales if a item similar to that seen in the media can be placed on their on-line store landing page within 1 hr of it appearing in public. • Each product placement is different so they need a fast, agile, approach that does not jeopardize their on-line stores availability and quality. • We know how to do this..
  • 10. Cloud computing is real. Major vendors are providing substantial capacity and it’s growing all the time Businesses see the opportunities Improved value for money, decreased time-to-market, shorter time to value “I can now get my ideas into production in hours,days or weeks. I can get immediate feedback AND then I can improve the idea and repeat”
  • 11. 70% of IT Leaders are pursuing a hybrid cloud strategy http://www.fodey.com/generators/newspaper/snippet.asp Hybrid Cloud is coming to a data centre near you
  • 12. ps://www.flickr.com/photos/skohlmann/ The ability to have ‘cloud burst’ capacity is changing the way software is being designed, developed and supported
  • 13. We’re moving to a more industrial scale v1v1 v2v2 v3v3 time compute capacity
  • 15. • Why buy one computer for a year when you can hire 365 computers for a day.. (Or a hour or a minute or a millisecond)
  • 17. Cloud Economics We really are getting closer all the time to ‘Compute on Tap’ https://www.flickr.com/photos/leunix/
  • 18. But with taps come meters… https://www.flickr.com/photos/beigephotos/ Cloud Economics
  • 19. Like all bills – it’s confusing Offering RAM Cost (2015) CPUs IBM Bluemix (CF) $24.15 GB/Month 4vCPUs per instance IBM Bluemix (Containers) $ 9.94 GB/Month 4vCPUs per GB run.pivotal.io $21.60 GB/Month 4vCPUs per instance Heroku (Hobby) $14.00 GB/Month 1 "CPU share" per 512MB in an instance Heroku (Professional) $50.00 GB/Month 1 "CPU share" per 512MB in an instance Amazon EC2 (SLES) $16.56 GB/Month 1 vCPU per 4GB in an instance.
  • 20. Cloud computing: compute == money Money changes everything With a measureable and direct relationship between $£€¥ and CPU/RAM, disk etc the financial success or failure of a project is even easier to see And that means… Even more focus on value for money.
  • 21. American Society of Civil Engineers Someone will be looking at your leaky app Someone will be looking at your leaky app
  • 22. Part 2 – The API economy And what that means for Java
  • 23. The API economy If your company has data it will eventually be shared and monetized Really. Cloud APIs are one of the fastest growing areas in our industry. Sharing data and services though APIs is enabling new opportunities and solutions Everyone is getting into the game.
  • 24. What makes a good cloud api ? roughly in selection order. vailability 100% of course with performance SLAs elievability – Are those published 100% metrics true? ost – how much and what is the unit of measure? iagnosability – can users debug problems without you? xcitement – is there a vibrant community using the API? unctionality – what else can the API do?
  • 25. Where you code runs day-to-day and moment-to- moment will be driven by economics, legal requirements and how much risk your business wants to take. Your code has to scale better, be more efficient, resilient, secure and work in constrained environments You will have to design, code, deliver, support and debug code in new ways It’s going to be scary
  • 26. How scary? design, coding, deployment , startup, execution, scaling debugging, security, resilience … Almost everything about your application is effected https://www.flickr.com/photos/mjtmail/
  • 27. Resilient applications Design for short term failure: something fails all the time. Expect data and service outages regularly Fail and recover: don’t diagnose problems in running systems. Kill it and move on Every IO operation you perform may fail – do as few as possible Every IO operation may stall – costing you GB/hrs and resources– timeout everything quickly Every piece of data you receive may be badly formed – check everything “Everything in the cloud fails all the time” : Werner Vogels
  • 28. Debugging Remote support for your family? Fancy having to do that for your own apps? You have to assume: You will never be able to log into a remote server. You will never be able to attach a remote debugger to a failing app Ever. All problems must be resolved by local reproduction or logs and dumps https://www.flickr.com/photos/carbonnyc/
  • 29. Debugging It gets more challenging. Failures during deployment or initial startup can be difficult or impossible to diagnose. If your service instance didn’t start there is is little chance of logs being kept! Learn to love logs, dumps and traces. Remote log stores and tools are going to be your best friend BTW: they’ll cost too https://www.flickr.com/photos/hinkelstone/
  • 30. Debugging • Q: Why can’t you just keep the failed instance around? • A: You can – if you accept the $$$ consequences…
  • 31. Hard metrics and limits keeping a failed app around or having apps on standby can be costly in multiple ways Runtime costs and taking up vital resource allocation
  • 32. Part 3 - How Java measures up
  • 33. Compute == money Easier than ever before a business can rent a machine Just for how long they need it. No long term capital investment. Now an operational expense $ == GB/hr -Xmx: $100
  • 34. https://www.flickr.com/photos/isherwoodchris/ • Q: How much RAM does your application use? • A: Too much
  • 35. Runtime costs Most cloud providers will charge you for your RAM usage over time: $GB/hr. (Sometimes the charge is $0) Increasing –Xmx directly effects cost. Something businesses can understand Net effect – you’ll be tuning your application to fit into specific RAM sizes. Smaller than you use today. You need to measure where the storage goes. You’ll be picking some components based on memory usage increasing the amount of memory for 1 service increases the bill by the number of concurrent instances https://www.flickr.com/photos/erix/
  • 36. Unnecessary baggage (you have loads) Java applications have to get lighter. Java 9 modularity will help but you have to consider footprint across the board. Choose your dependencies wisely Your choice of OS & distribution is important. The aim is ‘carry on only’ Your application isn’t going on a long trip https://www.flickr.com/photos/armydre2008/
  • 37. Analysing Your Memory Usage A large percentage of the heap is used for collections and caches Eclipse Memory Analyzer will help you analyze: Easy to reduce memory usage without reducing cache sizes https://www.flickr.com/photos/armydre2008/
  • 38. Example costs (2015) Bluemix (CF) Amazon (ECS) Running a 512mb container for a year $289.80 for 4 cpus 198.72 for 1 cpu Reducing memory footprint by 10% saves $28.98 $0 Running 100 containers in parallel $28,980.00 for 400 cpus $19,872.00 for 100 cpus Reducing memory footprint by 10% saves $2,898.00 $0
  • 39. N-Body Memory Footprints (lower is better) Modern Native Scripting JVMC
  • 40. N-Body Completion Time (lower is better): Modern Native Scripting JVMC
  • 41. N-Body Completion Time, normalized for 100MB of memory (lower is better): Modern Native Scripting JVMC
  • 42. Example costs (2015) Bluemix (CF) Running a 512mb container for a year $289.80 for 4 cpus Reducing memory footprint by using Swift saves 75% $216.75 Running 100 containers in parallel $28,980.00 for 400 cpus Reducing memory footprint by using Swift saves $21,675.00
  • 45. Example costs (2015) Bluemix (CF) Running a 512mb container for a year $289.80 for 4 cpus Using auto-Scaling reduces container usage by 30% Running 100 containers in parallel $28,980.00 for 400 cpus Using auto-scaling saves $6,085.8
  • 46. Java & fast startup time Application developers can reduce service startup time by deferring optional costs to when its needed. Maybe even create services with different behaviors rather than one with optional behavior But it’s not enough The JVM needs to revisit all the places where startup time was traded for throughput and turn them around.
  • 47. Startup times How long do you have to wait? Limits ability to react to changes in workload Will you need to preemptively start instances ‘just in case’ due to start up time? To bad – that costs Also think about this: Everything that happens at startup – happens every time, all the time. - Duplication is wasted effort https://www.flickr.com/photos/91295117@N08/
  • 48. Consequences For container based services start up effort happens multiple times during development and production And it’s always the same result. AND you will pay $ for it every time We don’t have a good way to capture all this effort or formalise starting a JVM from a precanned image. (Shared classes doesn’t hack it) Other languages have better / faster startup! https://www.flickr.com/photos/dno1967b/https://www.flickr.com/photos/quinnanya/ https://www.flickr.com/photos/76657755@N04/
  • 49. Part 4 – What the future holds
  • 50. Thoughts about the future Applications are going to be increasingly micro-service and multi-language Java frameworks are becoming smaller and more modular Java itself is becoming modular Ahead of Time (AOT) Compilation and “jimage” capabilities will become more important Java needs to optimize for micro-services rather than monoliths
  • 52. It’s all change How you design, code, deploy, debug, support etc will be effected by the metrics and limits imposed on you. Financial metrics and limits always change behavior. It also creates opportunity You will have to learn new techniques and tools The JVM and Java applications have to get leaner and meaner https://www.flickr.com/photos/beigephotos/
  • 53. Simply Applications are going to be running in a remote, constrained and metered environment There will be precise limits on how much disk, CPU, RAM, Bandwidth an application can use and for how long Whether your application is large or small, granular or monolithic. Someone will be paying for each unit used That person will want to get the most out of that investment Your application is going on a radical diet The runtime layer needs to change https://www.flickr.com/photos/rvoegtli/
  • 54. Summary 1. Your business will need to adapt to ‘cloud’ 2. Your developers will need to adapt to ‘cloud’ 3. Your application will need to adapt to ‘cloud’ 4. Your competitors are already adapting We don’t know all the answers (or even the questions) yet. We do know the next and largest ever pain point for Java is ‘cloud’ Big changes are needed to keep Java successful and competitive
  • 55. Your world is changing dramatically and all because of …
  • 56. GB/hr

Editor's Notes

  1. You today
  2. What your competion is doing
  3. Lets pick two
  4. How much memory used to run the benchmark
  5. How long to run the benchmark
  6. Normalised for 100 MB of memory
  7. The biggest ever pain point