SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
Lightweight	
  Java	
  in	
  the	
  Cloud	
  
Shaun	
  Smith	
  
Oracle	
  Applica9on	
  Container	
  Cloud	
  
shaun.smith@oracle.com	
  
@shaunMsmith	
  
	
  
Gerrit	
  Grunwald	
  
Java	
  Technology	
  Evangelist	
  
gerrit.grunwald@oracle.com	
  
@hansolo_	
  
	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Safe	
  Harbor	
  Statement	
  
The	
  following	
  is	
  intended	
  to	
  outline	
  our	
  general	
  product	
  direc9on.	
  It	
  is	
  intended	
  for	
  
informa9on	
  purposes	
  only,	
  and	
  may	
  not	
  be	
  incorporated	
  into	
  any	
  contract.	
  It	
  is	
  not	
  a	
  
commitment	
  to	
  deliver	
  any	
  material,	
  code,	
  or	
  func9onality,	
  and	
  should	
  not	
  be	
  relied	
  upon	
  
in	
  making	
  purchasing	
  decisions.	
  The	
  development,	
  release,	
  and	
  9ming	
  of	
  any	
  features	
  or	
  
func9onality	
  described	
  for	
  Oracle’s	
  products	
  remains	
  at	
  the	
  sole	
  discre9on	
  of	
  Oracle.	
  
2	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Java	
  	
  	
  	
  	
  	
  Cloud	
  	
  
•  Java	
  SE	
  is	
  ideal	
  for	
  building	
  lightweight	
  applica9ons	
  and	
  (micro)services	
  
•  Cloud	
  plaTorms	
  offer	
  	
  
– High	
  availability	
  
– Affordability	
  
– Ease	
  of	
  management	
  
– Access	
  to	
  suppor9ng	
  services	
  like	
  object	
  storage,	
  messaging,	
  and	
  databases	
  
	
  
3	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
What	
  do	
  we	
  mean	
  by	
  Cloud?	
  
•  A	
  wonderfully	
  amorphous	
  word!	
  
•  Clouds	
  offer	
  a	
  range	
  of	
  services	
  including	
  	
  Iaas	
  /	
  SaaS	
  /	
  PaaS	
  
•  Applica9on	
  PlaTorm	
  as	
  a	
  Service—APaaS	
  
– Focused	
  on	
  running	
  lightweight	
  applica9ons—not	
  heavy	
  weight	
  services	
  like	
  database	
  
– Typically	
  employ	
  containers	
  to	
  run	
  applica9ons	
  
– Many	
  vendors	
  to	
  choose	
  from	
  
– Most,	
  if	
  not	
  all,	
  APaaS	
  plaTorms	
  support	
  Java	
  
4	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Cloud	
  Applica9on	
  Architecture	
  
5	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   6	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   7	
  
Configura9on	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Test	
   Prod	
  
8	
  
Dev	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Configura9on	
  
•  Applica9on	
  should	
  be	
  “parameterizable”—externalize	
  all	
  config	
  data	
  
•  Configura9on	
  should	
  be	
  defined	
  as	
  environment	
  variables	
  and	
  read	
  by	
  
applica9ons	
  on	
  start	
  
•  Makes	
  it	
  easy	
  to	
  deploy	
  the	
  applica9on	
  to	
  any	
  environment	
  where	
  
configura9ons	
  will	
  differ	
  
•  Deployment	
  configura9on	
  can	
  be	
  managed	
  by	
  Ops	
  post	
  Dev	
  
9	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   10	
  
This	
  includes	
  database	
  and	
  other	
  backing	
  
service	
  loca9ons,	
  third-­‐party	
  creden9als	
  like	
  
AWS	
  or	
  Twijer…such	
  configura9on	
  should	
  
not	
  be	
  stored	
  in	
  the	
  codebase…exposes	
  
private	
  resources	
  in	
  the	
  version	
  control	
  
system.	
  
	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   11	
  
Environment	
  variables…useful	
  when	
  the	
  
values	
  are	
  likely	
  to	
  be	
  different	
  from	
  one	
  
host	
  system	
  to	
  the	
  next…makes	
  the	
  
applica9on	
  code	
  more	
  portable	
  and	
  
flexible…cri4cal	
  for	
  wri4ng	
  applica4ons	
  
that	
  are	
  easily	
  deployed	
  and	
  scaled	
  
	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   12	
  
Grizzly	
  /	
  Jersey	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   13	
  
Embedded	
  
Tomcat	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   14	
  
Configura9on	
  
Dependencies	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Dependencies	
  
•  Applica9on	
  dependencies	
  must	
  be	
  explicitly	
  declared	
  
•  Relying	
  on	
  the	
  availability	
  of	
  system	
  wide	
  libraries	
  in	
  the	
  run9me	
  
environment	
  can	
  lead	
  problems	
  that	
  are	
  to	
  hard	
  to	
  diagnose	
  
•  Applica9ons	
  with	
  explicit	
  dependencies	
  are	
  easy	
  to	
  move	
  between	
  
environments	
  
•  Maven	
  &	
  Gradle	
  provide	
  a	
  nice	
  way	
  to	
  declare	
  applica9on	
  dependencies	
  	
  
15	
  
	
  
	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   16	
  
Configura9on	
  
Dependencies	
  
Service	
  Interface	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Service	
  Interface	
  
•  Cloud	
  applica9ons	
  typically	
  expose	
  Web/REST/Websocket	
  services	
  using	
  
embedded	
  servers	
  like	
  Tomcat,	
  Jejy,	
  or	
  Grizzly/Jersey/Tyrus.	
  
•  Embedded	
  servers	
  must	
  bind	
  to	
  the	
  hostname	
  and	
  port	
  defined	
  by	
  the	
  
run9me	
  environment,	
  typically	
  in	
  an	
  environment	
  variable	
  like	
  $PORT	
  
•  Applica9ons	
  running	
  in	
  containers	
  will	
  likely	
  bind	
  to	
  a	
  local	
  port	
  that	
  is	
  
receiving	
  load	
  balanced	
  traffic	
  forwarded	
  from	
  a	
  pubic	
  port	
  
•  By	
  exposing	
  func9onality	
  over	
  REST,	
  applica9ons	
  can	
  be	
  provide	
  services	
  to	
  
other	
  applica9ons	
  (the	
  core	
  of	
  the	
  microservices	
  approach)	
  
	
  
17	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   18	
  
Configura9on	
  
Dependencies	
   Services	
  
Applica9on	
  Interface	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Service	
  Dependencies	
  
•  Service	
  coordinates	
  published	
  in	
  the	
  run9me	
  environment	
  for	
  consump9on	
  
by	
  applica9on	
  
•  Backing	
  services	
  should	
  be	
  pluggable	
  
•  Easy	
  to	
  change	
  services—restart	
  applica9on	
  to	
  pick	
  up	
  changes	
  
•  Treat	
  3rd	
  party	
  or	
  plaTorm	
  services	
  the	
  same	
  as	
  your	
  own	
  services	
  
19	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
DEMO	
  
20	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Cloud	
  Applica9on	
  Quali9es	
  
21	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Stateless	
  /	
  Disposable	
  
•  Applica9ons	
  should	
  be	
  stateless	
  with	
  all	
  persistent	
  data	
  stored	
  in	
  external	
  
services	
  like	
  database	
  or	
  key/value	
  stores	
  
•  Stateless	
  applica9ons	
  makes	
  scaling	
  easy	
  (esp.	
  when	
  scaling	
  in	
  by	
  disposing	
  
of	
  instances)	
  
•  Configura9on	
  changes	
  will	
  result	
  in	
  the	
  restar9ng	
  (disposing	
  &	
  crea9ng)	
  of	
  
applica9on	
  instances	
  
•  Ephemeral	
  disk	
  is	
  useful	
  but	
  there	
  is	
  no	
  guarantee	
  a	
  subsequent	
  request	
  
will	
  be	
  handled	
  by	
  the	
  same	
  instance	
  
22	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Share	
  Nothing	
  
•  Ideally,	
  applica9ons	
  should	
  be	
  stateless	
  and	
  share-­‐nothing	
  
•  Horizontal	
  scaling	
  of	
  stateless	
  applica9ons	
  by	
  adding	
  instances	
  to	
  handle	
  
increased	
  load	
  is	
  simple	
  and	
  reliable	
  
•  Not	
  everyone	
  agrees	
  on	
  this	
  point…	
  
23	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   24	
  
Why	
  We	
  Aren’t	
  Joining	
  the	
  Cloud	
  Foundry	
  Founda4on	
  
	
  
…we	
  are	
  also	
  working	
  hard	
  to	
  support	
  both	
  stateless	
  and	
  stateful	
  
applica9ons	
  inside	
  those	
  containers…	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   25	
  
Concurrency	
  in	
  Oracle	
  Java	
  SE	
  Cloud	
  Service	
  
Java	
  SE	
  
Docker	
  
Java	
  SE	
  
Docker	
  
Load	
  Balancer	
  
…	
  
Messaging	
  Cloud	
  Service	
  
Storage	
  Cloud	
  Service	
  
Database	
  Cloud	
  Service	
  
Java	
  Cloud	
  Service	
  
MyApp	
  
Java	
  SE	
  
Docker	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Prac9cal	
  Majers	
  
26	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Development	
  vs.	
  Deployment	
  
•  APaaS	
  plaTorms	
  are	
  deployment	
  plaTorms—you	
  run	
  apps	
  on	
  them	
  
•  Development	
  happens	
  where?	
  
•  How	
  to	
  develop	
  and	
  debug	
  applica9ons	
  targe9ng	
  APaaS?	
  
27	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Debug	
  locally	
  in	
  
emulated	
  environment	
  
•  Define	
  environment	
  
variables	
  to	
  match	
  target	
  
•  Use	
  same	
  JDK	
  release	
  and	
  
version	
  as	
  in	
  target	
  
•  Use	
  tools	
  like	
  Foreman	
  
•  Challenge—”emulated”	
  
not	
  iden9cal	
  
Debug	
  in	
  Cloud	
  
•  Restrict	
  to	
  single	
  instance	
  
•  Remote	
  test	
  &	
  debug	
  
•  E.g.,	
  Spring	
  Tools	
  
(experimental	
  afaik)	
  
•  Challenge—opening	
  up	
  
ports	
  and	
  suppor9ng	
  
breakpoint	
  callbacks	
  from	
  
cloud	
  to	
  desktop	
  
28	
  
Debug	
  locally	
  using	
  
same	
  Docker	
  image	
  as	
  
on	
  APaaS	
  
•  Same	
  run9me	
  
environment	
  as	
  Cloud	
  
•  Challenge—dependency	
  
on	
  cloud	
  services	
  
•  E.g.	
  Heroku	
  (not	
  exactly	
  
the	
  same	
  since	
  not	
  
Docker	
  in	
  cloud)	
  
Java	
  APaaS	
  Debug	
  Op9ons	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Summary	
  
•  Java	
  is	
  one	
  of	
  the	
  best	
  choices	
  for	
  Cloud	
  applica9on	
  development	
  
•  Java	
  has	
  broad	
  support	
  from	
  APaaS	
  vendors	
  
•  Most	
  of	
  the	
  architectural	
  principals	
  of	
  Cloud	
  apps	
  are	
  simply	
  good	
  prac9ce	
  
– Configurable	
  
– Declared	
  Dependencies	
  
– Pluggable	
  Service	
  
– …	
  
29	
  
Configura9on	
  
Dependencies	
  
Applica9on	
  Interface	
  
Services	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
  
Java	
  is	
  the	
  PlaTorm!	
  
•  Focus	
  on	
  your	
  Java	
  applica9on	
  and	
  not	
  on	
  proprietary	
  plaTorm	
  features	
  
•  Architect	
  for	
  plaTorm	
  independence	
  
•  Own	
  the	
  stack—don’t	
  let	
  vendors	
  dictate	
  
•  Use	
  embedded	
  servers,	
  not	
  containers	
  to	
  stay	
  light	
  
•  Consider	
  the	
  microservices	
  approach	
  of	
  many	
  small	
  	
  
services	
  assembled	
  to	
  provide	
  a	
  complete	
  solu9on	
  
30	
  
Copyright	
  ©	
  2015,	
  Oracle	
  and/or	
  its	
  affiliates.	
  All	
  rights	
  reserved.	
  	
  |	
   31	
  

Contenu connexe

Tendances

D-DAY 2015 Paas ORACLE
D-DAY 2015 Paas ORACLED-DAY 2015 Paas ORACLE
D-DAY 2015 Paas ORACLEDEVOPS D-DAY
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudBruno Borges
 
AMIS 25: Moving Integration to the Cloud
AMIS 25: Moving Integration to the CloudAMIS 25: Moving Integration to the Cloud
AMIS 25: Moving Integration to the CloudMatt Wright
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the CloudBruno Borges
 
Rapid private cloud with oracle vm and oracle openstack for oracle linux
Rapid private cloud with oracle vm and oracle openstack for oracle linuxRapid private cloud with oracle vm and oracle openstack for oracle linux
Rapid private cloud with oracle vm and oracle openstack for oracle linuxOTN Systems Hub
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMMatt Wright
 
Découvrons Oracle Cloud Platform for Integration - Oracle Integration Cloud
Découvrons Oracle Cloud Platform for Integration - Oracle Integration CloudDécouvrons Oracle Cloud Platform for Integration - Oracle Integration Cloud
Découvrons Oracle Cloud Platform for Integration - Oracle Integration CloudSanae BEKKAR
 
HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016Ed Burns
 
Embracing SOA and the Cloud
Embracing SOA and the CloudEmbracing SOA and the Cloud
Embracing SOA and the CloudHeba Fouad
 
Building and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsBuilding and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsManish Kapur
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and ContainerWolfgang Weigend
 
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Oracle Developers
 
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...Capgemini
 
General Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajevGeneral Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajevOracle Developers
 
Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Bruno Borges
 
Oracle Solaris Cloud Management and Deployment with OpenStack
Oracle Solaris Cloud Management and Deployment with OpenStackOracle Solaris Cloud Management and Deployment with OpenStack
Oracle Solaris Cloud Management and Deployment with OpenStackOTN Systems Hub
 
Boost Your Content Strategy for REST APIs
Boost Your Content Strategy for REST APIsBoost Your Content Strategy for REST APIs
Boost Your Content Strategy for REST APIsMarta Rauch
 

Tendances (20)

D-DAY 2015 Paas ORACLE
D-DAY 2015 Paas ORACLED-DAY 2015 Paas ORACLE
D-DAY 2015 Paas ORACLE
 
Java EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The CloudJava EE Arquillian Testing with Docker & The Cloud
Java EE Arquillian Testing with Docker & The Cloud
 
AMIS 25: Moving Integration to the Cloud
AMIS 25: Moving Integration to the CloudAMIS 25: Moving Integration to the Cloud
AMIS 25: Moving Integration to the Cloud
 
Lightweight Java in the Cloud
Lightweight Java in the CloudLightweight Java in the Cloud
Lightweight Java in the Cloud
 
Rapid private cloud with oracle vm and oracle openstack for oracle linux
Rapid private cloud with oracle vm and oracle openstack for oracle linuxRapid private cloud with oracle vm and oracle openstack for oracle linux
Rapid private cloud with oracle vm and oracle openstack for oracle linux
 
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
JavaCro'15 - HTTP2 Comes to Java! - David DelabasseeJavaCro'15 - HTTP2 Comes to Java! - David Delabassee
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
 
Découvrons Oracle Cloud Platform for Integration - Oracle Integration Cloud
Découvrons Oracle Cloud Platform for Integration - Oracle Integration CloudDécouvrons Oracle Cloud Platform for Integration - Oracle Integration Cloud
Découvrons Oracle Cloud Platform for Integration - Oracle Integration Cloud
 
HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016HTTP/2 in the Java Platform -- Java Champions call February 2016
HTTP/2 in the Java Platform -- Java Champions call February 2016
 
Embracing SOA and the Cloud
Embracing SOA and the CloudEmbracing SOA and the Cloud
Embracing SOA and the Cloud
 
MySQL
MySQLMySQL
MySQL
 
Oracle Solaris Overview
Oracle Solaris OverviewOracle Solaris Overview
Oracle Solaris Overview
 
Building and Deploying Cloud Native Applications
Building and Deploying Cloud Native ApplicationsBuilding and Deploying Cloud Native Applications
Building and Deploying Cloud Native Applications
 
Microservices and Container
Microservices and ContainerMicroservices and Container
Microservices and Container
 
Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.Building Cloud Native Applications with Oracle Autonomous Database.
Building Cloud Native Applications with Oracle Autonomous Database.
 
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
How Capgemini Built a Pan-European Tax Messaging System Using Oracle Fusion M...
 
General Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajevGeneral Capabilities of GraalVM by Oleg Selajev @shelajev
General Capabilities of GraalVM by Oleg Selajev @shelajev
 
Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?Servidores de Aplicação: por que ainda precisamos deles?
Servidores de Aplicação: por que ainda precisamos deles?
 
Oracle Solaris Cloud Management and Deployment with OpenStack
Oracle Solaris Cloud Management and Deployment with OpenStackOracle Solaris Cloud Management and Deployment with OpenStack
Oracle Solaris Cloud Management and Deployment with OpenStack
 
Boost Your Content Strategy for REST APIs
Boost Your Content Strategy for REST APIsBoost Your Content Strategy for REST APIs
Boost Your Content Strategy for REST APIs
 

En vedette

Sande Eugene-library open week certificate
Sande Eugene-library open week certificateSande Eugene-library open week certificate
Sande Eugene-library open week certificatesande ademba
 
Denúncia cidadã (anexo com fotos)
Denúncia cidadã (anexo com fotos)Denúncia cidadã (anexo com fotos)
Denúncia cidadã (anexo com fotos)PSOL ASSIS
 
Aula 5 a metas clientes especificações
Aula 5 a metas clientes especificaçõesAula 5 a metas clientes especificações
Aula 5 a metas clientes especificaçõesJosé Paulo Alves Fusco
 
CV Fahad Azzan AL Battashi
CV Fahad Azzan AL BattashiCV Fahad Azzan AL Battashi
CV Fahad Azzan AL BattashiFAHD AL-BATTASHI
 
Parecer técnico do Comdema-Campinas Negativo à barragem de Pedreira
Parecer técnico do Comdema-Campinas Negativo à barragem de PedreiraParecer técnico do Comdema-Campinas Negativo à barragem de Pedreira
Parecer técnico do Comdema-Campinas Negativo à barragem de PedreiraCampinas Que Queremos
 
Cj y cp presentación de tc2- 2016
Cj y cp  presentación de tc2- 2016Cj y cp  presentación de tc2- 2016
Cj y cp presentación de tc2- 2016Emi M
 
Building the Digital Insurer
Building the Digital InsurerBuilding the Digital Insurer
Building the Digital InsurerMendix
 
сервисы создания информационной графики
сервисы создания информационной графикисервисы создания информационной графики
сервисы создания информационной графикиOleg Khomenok
 
Organização do cromossomo/DNA
Organização do cromossomo/DNAOrganização do cromossomo/DNA
Organização do cromossomo/DNAJaqueline Almeida
 
Aula de Farmacocinética e Vias de Administração
Aula de Farmacocinética e Vias de AdministraçãoAula de Farmacocinética e Vias de Administração
Aula de Farmacocinética e Vias de AdministraçãoJaqueline Almeida
 
bAnQuiT0 nAtUrAl JeSsA
bAnQuiT0 nAtUrAl JeSsAbAnQuiT0 nAtUrAl JeSsA
bAnQuiT0 nAtUrAl JeSsAyezzika
 

En vedette (14)

Sande Eugene-library open week certificate
Sande Eugene-library open week certificateSande Eugene-library open week certificate
Sande Eugene-library open week certificate
 
Ginevra barbetti ggd
Ginevra barbetti ggdGinevra barbetti ggd
Ginevra barbetti ggd
 
Denúncia cidadã (anexo com fotos)
Denúncia cidadã (anexo com fotos)Denúncia cidadã (anexo com fotos)
Denúncia cidadã (anexo com fotos)
 
Aula 5 a metas clientes especificações
Aula 5 a metas clientes especificaçõesAula 5 a metas clientes especificações
Aula 5 a metas clientes especificações
 
CV Fahad Azzan AL Battashi
CV Fahad Azzan AL BattashiCV Fahad Azzan AL Battashi
CV Fahad Azzan AL Battashi
 
Self improvement ppt
Self improvement pptSelf improvement ppt
Self improvement ppt
 
Parecer técnico do Comdema-Campinas Negativo à barragem de Pedreira
Parecer técnico do Comdema-Campinas Negativo à barragem de PedreiraParecer técnico do Comdema-Campinas Negativo à barragem de Pedreira
Parecer técnico do Comdema-Campinas Negativo à barragem de Pedreira
 
Cj y cp presentación de tc2- 2016
Cj y cp  presentación de tc2- 2016Cj y cp  presentación de tc2- 2016
Cj y cp presentación de tc2- 2016
 
Building the Digital Insurer
Building the Digital InsurerBuilding the Digital Insurer
Building the Digital Insurer
 
сервисы создания информационной графики
сервисы создания информационной графикисервисы создания информационной графики
сервисы создания информационной графики
 
Organização do cromossomo/DNA
Organização do cromossomo/DNAOrganização do cromossomo/DNA
Organização do cromossomo/DNA
 
Aula de Farmacocinética e Vias de Administração
Aula de Farmacocinética e Vias de AdministraçãoAula de Farmacocinética e Vias de Administração
Aula de Farmacocinética e Vias de Administração
 
JSX Optimizer
JSX OptimizerJSX Optimizer
JSX Optimizer
 
bAnQuiT0 nAtUrAl JeSsA
bAnQuiT0 nAtUrAl JeSsAbAnQuiT0 nAtUrAl JeSsA
bAnQuiT0 nAtUrAl JeSsA
 

Similaire à Lightweight Java in the Cloud

Cloud 2014: Top Five Best Practices for Your Application PaaS Audience
Cloud 2014: Top Five Best Practices for Your Application PaaS AudienceCloud 2014: Top Five Best Practices for Your Application PaaS Audience
Cloud 2014: Top Five Best Practices for Your Application PaaS AudienceRuma Sanyal
 
Approaches for WebLogic Server in the Cloud (OpenWorld, September 2014)
Approaches for WebLogic Server in the Cloud (OpenWorld, September 2014)Approaches for WebLogic Server in the Cloud (OpenWorld, September 2014)
Approaches for WebLogic Server in the Cloud (OpenWorld, September 2014)jeckels
 
Coding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETCoding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETGeertjan Wielenga
 
Solving todays problems with oracle integration cloud
Solving todays problems with oracle integration cloudSolving todays problems with oracle integration cloud
Solving todays problems with oracle integration cloudHeba Fouad
 
Valor diferencial de la propuesta cloud
Valor diferencial de la propuesta cloudValor diferencial de la propuesta cloud
Valor diferencial de la propuesta cloudOracleIberia
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle CloudJuan Carlos Ruiz Rico
 
OOW-5185-Hybrid Cloud
OOW-5185-Hybrid CloudOOW-5185-Hybrid Cloud
OOW-5185-Hybrid CloudBen Duan
 
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...jeckels
 
Slidedeck MCS Demo eines Anwendungsfalles - DOAG2015
Slidedeck MCS Demo eines Anwendungsfalles - DOAG2015Slidedeck MCS Demo eines Anwendungsfalles - DOAG2015
Slidedeck MCS Demo eines Anwendungsfalles - DOAG2015Nadine Schoene
 
Accelerate Cloud Migrations - Introduction to PaaSLane
Accelerate Cloud Migrations - Introduction to PaaSLaneAccelerate Cloud Migrations - Introduction to PaaSLane
Accelerate Cloud Migrations - Introduction to PaaSLaneBenjamin Grubin
 
Oracle IaaS including OCM and Ravello
Oracle IaaS including OCM and RavelloOracle IaaS including OCM and Ravello
Oracle IaaS including OCM and RavelloAndrey Akulov
 
[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a Service
[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a Service[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a Service
[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a ServiceOracle Korea
 
Latest Innovations in Database as a Service Enabled by Oracle Enterprise Manager
Latest Innovations in Database as a Service Enabled by Oracle Enterprise ManagerLatest Innovations in Database as a Service Enabled by Oracle Enterprise Manager
Latest Innovations in Database as a Service Enabled by Oracle Enterprise ManagerHari Srinivasan
 
KSCOPE Cloud Services and the Self Service Portal
KSCOPE Cloud Services  and the Self Service PortalKSCOPE Cloud Services  and the Self Service Portal
KSCOPE Cloud Services and the Self Service PortalKellyn Pot'Vin-Gorman
 
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOABeneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOASoftware Guru
 

Similaire à Lightweight Java in the Cloud (20)

Cloud 2014: Top Five Best Practices for Your Application PaaS Audience
Cloud 2014: Top Five Best Practices for Your Application PaaS AudienceCloud 2014: Top Five Best Practices for Your Application PaaS Audience
Cloud 2014: Top Five Best Practices for Your Application PaaS Audience
 
Approaches for WebLogic Server in the Cloud (OpenWorld, September 2014)
Approaches for WebLogic Server in the Cloud (OpenWorld, September 2014)Approaches for WebLogic Server in the Cloud (OpenWorld, September 2014)
Approaches for WebLogic Server in the Cloud (OpenWorld, September 2014)
 
Coding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JETCoding from Application Container Cloud to Oracle JET
Coding from Application Container Cloud to Oracle JET
 
Solving todays problems with oracle integration cloud
Solving todays problems with oracle integration cloudSolving todays problems with oracle integration cloud
Solving todays problems with oracle integration cloud
 
Valor diferencial de la propuesta cloud
Valor diferencial de la propuesta cloudValor diferencial de la propuesta cloud
Valor diferencial de la propuesta cloud
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
 
OOW-5185-Hybrid Cloud
OOW-5185-Hybrid CloudOOW-5185-Hybrid Cloud
OOW-5185-Hybrid Cloud
 
JavaCro'15 - Oracle Java Cloud Service Java PaaS - Duško Vukmanović
JavaCro'15 - Oracle Java Cloud Service  Java PaaS - Duško VukmanovićJavaCro'15 - Oracle Java Cloud Service  Java PaaS - Duško Vukmanović
JavaCro'15 - Oracle Java Cloud Service Java PaaS - Duško Vukmanović
 
Apex day 1.0 fastest route to cloud sept 2015_julian lane
Apex day 1.0 fastest route to cloud sept 2015_julian laneApex day 1.0 fastest route to cloud sept 2015_julian lane
Apex day 1.0 fastest route to cloud sept 2015_julian lane
 
Performance in the Oracle Cloud
Performance in the Oracle CloudPerformance in the Oracle Cloud
Performance in the Oracle Cloud
 
Oracle Mobile Cloud Service
Oracle Mobile Cloud ServiceOracle Mobile Cloud Service
Oracle Mobile Cloud Service
 
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
The Power of Java and Oracle WebLogic Server in the Public Cloud (OpenWorld, ...
 
Slidedeck MCS Demo eines Anwendungsfalles - DOAG2015
Slidedeck MCS Demo eines Anwendungsfalles - DOAG2015Slidedeck MCS Demo eines Anwendungsfalles - DOAG2015
Slidedeck MCS Demo eines Anwendungsfalles - DOAG2015
 
OOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-SharableOOW-TBE-12c-CON7307-Sharable
OOW-TBE-12c-CON7307-Sharable
 
Accelerate Cloud Migrations - Introduction to PaaSLane
Accelerate Cloud Migrations - Introduction to PaaSLaneAccelerate Cloud Migrations - Introduction to PaaSLane
Accelerate Cloud Migrations - Introduction to PaaSLane
 
Oracle IaaS including OCM and Ravello
Oracle IaaS including OCM and RavelloOracle IaaS including OCM and Ravello
Oracle IaaS including OCM and Ravello
 
[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a Service
[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a Service[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a Service
[2015 Oracle Cloud Summit] 2. Innovate with Oracle Platform as a Service
 
Latest Innovations in Database as a Service Enabled by Oracle Enterprise Manager
Latest Innovations in Database as a Service Enabled by Oracle Enterprise ManagerLatest Innovations in Database as a Service Enabled by Oracle Enterprise Manager
Latest Innovations in Database as a Service Enabled by Oracle Enterprise Manager
 
KSCOPE Cloud Services and the Self Service Portal
KSCOPE Cloud Services  and the Self Service PortalKSCOPE Cloud Services  and the Self Service Portal
KSCOPE Cloud Services and the Self Service Portal
 
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOABeneficios de la coexistencia de ambientes híbridos utilizando SOA
Beneficios de la coexistencia de ambientes híbridos utilizando SOA
 

Plus de Shaun Smith

Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Shaun Smith
 
Functions and DevOps
Functions and DevOpsFunctions and DevOps
Functions and DevOpsShaun Smith
 
Democratizing Serverless
Democratizing ServerlessDemocratizing Serverless
Democratizing ServerlessShaun Smith
 
Practical RESTful Persistence
Practical RESTful PersistencePractical RESTful Persistence
Practical RESTful PersistenceShaun Smith
 
The Evolution of Java Persistence
The Evolution of Java PersistenceThe Evolution of Java Persistence
The Evolution of Java PersistenceShaun Smith
 
EclipseCon 2011-Gemini Naming
EclipseCon 2011-Gemini NamingEclipseCon 2011-Gemini Naming
EclipseCon 2011-Gemini NamingShaun Smith
 
EclipseCon 2011-Gemini Intro
EclipseCon 2011-Gemini IntroEclipseCon 2011-Gemini Intro
EclipseCon 2011-Gemini IntroShaun Smith
 
EclipseCon 2011-Gemini JPA
EclipseCon 2011-Gemini JPAEclipseCon 2011-Gemini JPA
EclipseCon 2011-Gemini JPAShaun Smith
 
RESTful Data Access Services with Java EE
RESTful Data Access Services with Java EERESTful Data Access Services with Java EE
RESTful Data Access Services with Java EEShaun Smith
 
RESTful services with JAXB and JPA
RESTful services with JAXB and JPARESTful services with JAXB and JPA
RESTful services with JAXB and JPAShaun Smith
 
OSGi Persistence With EclipseLink
OSGi Persistence With EclipseLinkOSGi Persistence With EclipseLink
OSGi Persistence With EclipseLinkShaun Smith
 

Plus de Shaun Smith (11)

Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019Serverless Java: JJUG CCC 2019
Serverless Java: JJUG CCC 2019
 
Functions and DevOps
Functions and DevOpsFunctions and DevOps
Functions and DevOps
 
Democratizing Serverless
Democratizing ServerlessDemocratizing Serverless
Democratizing Serverless
 
Practical RESTful Persistence
Practical RESTful PersistencePractical RESTful Persistence
Practical RESTful Persistence
 
The Evolution of Java Persistence
The Evolution of Java PersistenceThe Evolution of Java Persistence
The Evolution of Java Persistence
 
EclipseCon 2011-Gemini Naming
EclipseCon 2011-Gemini NamingEclipseCon 2011-Gemini Naming
EclipseCon 2011-Gemini Naming
 
EclipseCon 2011-Gemini Intro
EclipseCon 2011-Gemini IntroEclipseCon 2011-Gemini Intro
EclipseCon 2011-Gemini Intro
 
EclipseCon 2011-Gemini JPA
EclipseCon 2011-Gemini JPAEclipseCon 2011-Gemini JPA
EclipseCon 2011-Gemini JPA
 
RESTful Data Access Services with Java EE
RESTful Data Access Services with Java EERESTful Data Access Services with Java EE
RESTful Data Access Services with Java EE
 
RESTful services with JAXB and JPA
RESTful services with JAXB and JPARESTful services with JAXB and JPA
RESTful services with JAXB and JPA
 
OSGi Persistence With EclipseLink
OSGi Persistence With EclipseLinkOSGi Persistence With EclipseLink
OSGi Persistence With EclipseLink
 

Dernier

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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 DevelopmentsTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Dernier (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Lightweight Java in the Cloud

  • 1. Lightweight  Java  in  the  Cloud   Shaun  Smith   Oracle  Applica9on  Container  Cloud   shaun.smith@oracle.com   @shaunMsmith     Gerrit  Grunwald   Java  Technology  Evangelist   gerrit.grunwald@oracle.com   @hansolo_     Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |  
  • 2. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Safe  Harbor  Statement   The  following  is  intended  to  outline  our  general  product  direc9on.  It  is  intended  for   informa9on  purposes  only,  and  may  not  be  incorporated  into  any  contract.  It  is  not  a   commitment  to  deliver  any  material,  code,  or  func9onality,  and  should  not  be  relied  upon   in  making  purchasing  decisions.  The  development,  release,  and  9ming  of  any  features  or   func9onality  described  for  Oracle’s  products  remains  at  the  sole  discre9on  of  Oracle.   2  
  • 3. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Java            Cloud     •  Java  SE  is  ideal  for  building  lightweight  applica9ons  and  (micro)services   •  Cloud  plaTorms  offer     – High  availability   – Affordability   – Ease  of  management   – Access  to  suppor9ng  services  like  object  storage,  messaging,  and  databases     3  
  • 4. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   What  do  we  mean  by  Cloud?   •  A  wonderfully  amorphous  word!   •  Clouds  offer  a  range  of  services  including    Iaas  /  SaaS  /  PaaS   •  Applica9on  PlaTorm  as  a  Service—APaaS   – Focused  on  running  lightweight  applica9ons—not  heavy  weight  services  like  database   – Typically  employ  containers  to  run  applica9ons   – Many  vendors  to  choose  from   – Most,  if  not  all,  APaaS  plaTorms  support  Java   4  
  • 5. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Cloud  Applica9on  Architecture   5  
  • 6. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   6  
  • 7. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   7   Configura9on  
  • 8. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Test   Prod   8   Dev  
  • 9. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Configura9on   •  Applica9on  should  be  “parameterizable”—externalize  all  config  data   •  Configura9on  should  be  defined  as  environment  variables  and  read  by   applica9ons  on  start   •  Makes  it  easy  to  deploy  the  applica9on  to  any  environment  where   configura9ons  will  differ   •  Deployment  configura9on  can  be  managed  by  Ops  post  Dev   9  
  • 10. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   10   This  includes  database  and  other  backing   service  loca9ons,  third-­‐party  creden9als  like   AWS  or  Twijer…such  configura9on  should   not  be  stored  in  the  codebase…exposes   private  resources  in  the  version  control   system.    
  • 11. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   11   Environment  variables…useful  when  the   values  are  likely  to  be  different  from  one   host  system  to  the  next…makes  the   applica9on  code  more  portable  and   flexible…cri4cal  for  wri4ng  applica4ons   that  are  easily  deployed  and  scaled    
  • 12. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   12   Grizzly  /  Jersey  
  • 13. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   13   Embedded   Tomcat  
  • 14. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   14   Configura9on   Dependencies  
  • 15. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Dependencies   •  Applica9on  dependencies  must  be  explicitly  declared   •  Relying  on  the  availability  of  system  wide  libraries  in  the  run9me   environment  can  lead  problems  that  are  to  hard  to  diagnose   •  Applica9ons  with  explicit  dependencies  are  easy  to  move  between   environments   •  Maven  &  Gradle  provide  a  nice  way  to  declare  applica9on  dependencies     15      
  • 16. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   16   Configura9on   Dependencies   Service  Interface  
  • 17. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Service  Interface   •  Cloud  applica9ons  typically  expose  Web/REST/Websocket  services  using   embedded  servers  like  Tomcat,  Jejy,  or  Grizzly/Jersey/Tyrus.   •  Embedded  servers  must  bind  to  the  hostname  and  port  defined  by  the   run9me  environment,  typically  in  an  environment  variable  like  $PORT   •  Applica9ons  running  in  containers  will  likely  bind  to  a  local  port  that  is   receiving  load  balanced  traffic  forwarded  from  a  pubic  port   •  By  exposing  func9onality  over  REST,  applica9ons  can  be  provide  services  to   other  applica9ons  (the  core  of  the  microservices  approach)     17  
  • 18. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   18   Configura9on   Dependencies   Services   Applica9on  Interface  
  • 19. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Service  Dependencies   •  Service  coordinates  published  in  the  run9me  environment  for  consump9on   by  applica9on   •  Backing  services  should  be  pluggable   •  Easy  to  change  services—restart  applica9on  to  pick  up  changes   •  Treat  3rd  party  or  plaTorm  services  the  same  as  your  own  services   19  
  • 20. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   DEMO   20  
  • 21. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Cloud  Applica9on  Quali9es   21  
  • 22. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Stateless  /  Disposable   •  Applica9ons  should  be  stateless  with  all  persistent  data  stored  in  external   services  like  database  or  key/value  stores   •  Stateless  applica9ons  makes  scaling  easy  (esp.  when  scaling  in  by  disposing   of  instances)   •  Configura9on  changes  will  result  in  the  restar9ng  (disposing  &  crea9ng)  of   applica9on  instances   •  Ephemeral  disk  is  useful  but  there  is  no  guarantee  a  subsequent  request   will  be  handled  by  the  same  instance   22  
  • 23. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Share  Nothing   •  Ideally,  applica9ons  should  be  stateless  and  share-­‐nothing   •  Horizontal  scaling  of  stateless  applica9ons  by  adding  instances  to  handle   increased  load  is  simple  and  reliable   •  Not  everyone  agrees  on  this  point…   23  
  • 24. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   24   Why  We  Aren’t  Joining  the  Cloud  Foundry  Founda4on     …we  are  also  working  hard  to  support  both  stateless  and  stateful   applica9ons  inside  those  containers…  
  • 25. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   25   Concurrency  in  Oracle  Java  SE  Cloud  Service   Java  SE   Docker   Java  SE   Docker   Load  Balancer   …   Messaging  Cloud  Service   Storage  Cloud  Service   Database  Cloud  Service   Java  Cloud  Service   MyApp   Java  SE   Docker  
  • 26. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Prac9cal  Majers   26  
  • 27. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Development  vs.  Deployment   •  APaaS  plaTorms  are  deployment  plaTorms—you  run  apps  on  them   •  Development  happens  where?   •  How  to  develop  and  debug  applica9ons  targe9ng  APaaS?   27  
  • 28. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Debug  locally  in   emulated  environment   •  Define  environment   variables  to  match  target   •  Use  same  JDK  release  and   version  as  in  target   •  Use  tools  like  Foreman   •  Challenge—”emulated”   not  iden9cal   Debug  in  Cloud   •  Restrict  to  single  instance   •  Remote  test  &  debug   •  E.g.,  Spring  Tools   (experimental  afaik)   •  Challenge—opening  up   ports  and  suppor9ng   breakpoint  callbacks  from   cloud  to  desktop   28   Debug  locally  using   same  Docker  image  as   on  APaaS   •  Same  run9me   environment  as  Cloud   •  Challenge—dependency   on  cloud  services   •  E.g.  Heroku  (not  exactly   the  same  since  not   Docker  in  cloud)   Java  APaaS  Debug  Op9ons  
  • 29. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Summary   •  Java  is  one  of  the  best  choices  for  Cloud  applica9on  development   •  Java  has  broad  support  from  APaaS  vendors   •  Most  of  the  architectural  principals  of  Cloud  apps  are  simply  good  prac9ce   – Configurable   – Declared  Dependencies   – Pluggable  Service   – …   29   Configura9on   Dependencies   Applica9on  Interface   Services  
  • 30. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   Java  is  the  PlaTorm!   •  Focus  on  your  Java  applica9on  and  not  on  proprietary  plaTorm  features   •  Architect  for  plaTorm  independence   •  Own  the  stack—don’t  let  vendors  dictate   •  Use  embedded  servers,  not  containers  to  stay  light   •  Consider  the  microservices  approach  of  many  small     services  assembled  to  provide  a  complete  solu9on   30  
  • 31. Copyright  ©  2015,  Oracle  and/or  its  affiliates.  All  rights  reserved.    |   31