SlideShare a Scribd company logo
Eclipse Jemo
ECE 2019, Cloud Native Java, Community Day
Yannis Theocharis, Eclipse Jemo Committer
e-mail: ytheohar@gmail.com
twitter: @ytheohar
What is Jemo?
● Cloud Native Java Runtime
○ Acts as an application server for cloud native Java applications
● Homogenous distributed computing platform
○ A set of identical Jemo docker containers running on Kubernetes, where each container is
able to respond to any app deployed in the platform
● Function as a service execution environment
○ Jemo offers build-in development patterns to respond to events, e.g. HTTP calls, messages
and scheduled tasks.
● Multi-cloud runtime environment
○ “Write once, run everywhere”. CSP services are abstracted away so that Jemo apps code is
CSP agnostic.
Jemo Distinctive Properties
● Deployment of the Jemo runtime on the cloud is completely independent from
deployment of Jemo apps on the Jemo runtime.
○ Jemo containers are deployed to Kubernetes prior to any app deployed on Jemo.
● Jemo containers are stateless
○ State is loaded from the CSP services Jemo is deployed on.
● The JVM starts before any app is deployed
○ JVM starts when each Jemo container starts and many apps can run concurrently within the
same container - greater density.
● Each Jemo container can run many apps concurrently
○ Responding to events, e.g. HTTP calls, a Jemo container loads the code of an app serves the
request and if no request comes for the same app in 10 minutes the app is unloaded from the
container.
Jemo Dev & Devops Tools
● Local Debugging
○ A cluster running on the public cloud can be easily extended to your desktop by running a local
Jemo instance and debug using your IDE with all the context of the cloud environment.
● Jemo maven archetype
○ Creates a Jemo app with examples of code implementing the Jemo development patterns.
● Jemo maven plugin
○ Deploy a Jemo app on a cluster.
● Devops tools
○ Compile, test and deploy a Jemo app stored on github.
○ Monitor/pause/restart/delete apps.
● Cloud Native
○ Setup wizard sets up a new Kubenetes cluster of Jemo containers on AWS, Azure or GCP, by
generating Terraform templates.
Cloud Provider Service Abstraction
AWS Azure GCP
File Storage S3 Storage Account Cloud Storage
NoSQL DynamoDB CosmosDB Cloud Datastore
Messaging SQS Storage Account
Queues
Cloud Datastore
Logging Cloudwatch Log Analytics
Workspace
StackDriver Logging
Resources
● Jemo website: https://www.eclipse.org/jemo/
● Jemo project: https://projects.eclipse.org/projects/technology.jemo
● Github repo: https://github.com/eclipse/jemo
● Docker hub: https://hub.docker.com/r/eclipse/jemo/tags
● Blogpost: https://medium.com/@ytheohar/cloud-provider-agnostic-development-with-eclipse-jemo-605b4d0b6ba7
Demo - Set up a local jemo instance
> git clone https://github.com/eclipse/jemo.git
> cd jemo/core
> mvn package -DskipTests
> java -jar target/jemo-1.0.7.jar
Demo - Create a Jemo app
mvn archetype:generate 
-DarchetypeGroupId=org.eclipse.jemo 
-DarchetypeArtifactId=eclipse-jemo-maven-archetype 
-DarchetypeVersion=1.2 
-DgroupId=com.example 
-DartifactId=jemo-app-demo 
-Dversion=1.0 
-DpluginId=10 
-DjemoEndpoint=http://localhost 
-Dusername=system.administrator@jemo.eclipse.org 
-Dpassword=3906e814-7604-4ba2-b233-888409541e9b
Demo - Deploy a Jemo app
> mvn deploy

More Related Content

What's hot

Fixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blockingFixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blocking
Igalia
 
Essential parts to implement own Ozone backend
Essential parts to implement own Ozone backendEssential parts to implement own Ozone backend
Essential parts to implement own Ozone backend
Igalia
 
The State of Puppet - Dan Bode
The State of Puppet - Dan BodeThe State of Puppet - Dan Bode
The State of Puppet - Dan Bode
Puppet
 
Vodafone Mobile Widgets Workshop
Vodafone Mobile Widgets WorkshopVodafone Mobile Widgets Workshop
Vodafone Mobile Widgets Workshop
Daniel Herzog
 
React Native - performance optimization
React Native - performance optimizationReact Native - performance optimization
React Native - performance optimization
Stas Doskalenko
 
Embedding Chromium into AGL demo platform with WAM
Embedding Chromium into AGL demo platform with WAMEmbedding Chromium into AGL demo platform with WAM
Embedding Chromium into AGL demo platform with WAM
Igalia
 
React Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive servicesReact Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive services
Fabio Biondi
 
slide-dnrdw
slide-dnrdwslide-dnrdw
slide-dnrdwYue Liu
 
Idea to Production - with Gitlab and Kubernetes
Idea to Production  - with Gitlab and KubernetesIdea to Production  - with Gitlab and Kubernetes
Idea to Production - with Gitlab and Kubernetes
Simon Dittlmann
 
Chromium Ozone
Chromium OzoneChromium Ozone
Chromium Ozone
Igalia
 
All out on the Cloud - PloneConf 2012
All out on the Cloud - PloneConf 2012All out on the Cloud - PloneConf 2012
All out on the Cloud - PloneConf 2012
Jan Jongboom
 
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
Igalia
 
How To Make A Framework Plugin That Does Not Suck
How To Make A Framework Plugin That Does Not SuckHow To Make A Framework Plugin That Does Not Suck
How To Make A Framework Plugin That Does Not Suck
Max Andersen
 
About OpenGL and Vulkan interoperability (XDC 2020)
About OpenGL and Vulkan interoperability (XDC 2020)About OpenGL and Vulkan interoperability (XDC 2020)
About OpenGL and Vulkan interoperability (XDC 2020)
Igalia
 
Building CI/CD Pipelines with Jenkins and Kubernetes
Building CI/CD Pipelines with Jenkins and KubernetesBuilding CI/CD Pipelines with Jenkins and Kubernetes
Building CI/CD Pipelines with Jenkins and Kubernetes
Janakiram MSV
 
JS digest. February 2017
JS digest. February 2017JS digest. February 2017
JS digest. February 2017
ElifTech
 
Docker Tooling for Eclipse
Docker Tooling for EclipseDocker Tooling for Eclipse
Docker Tooling for Eclipse
Max Andersen
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Knoldus Inc.
 
DockerDay2015: Docker Security
DockerDay2015: Docker SecurityDockerDay2015: Docker Security
DockerDay2015: Docker Security
Docker-Hanoi
 
Waylandifying Chromium: From downstream to shipping (ELCE 2020)
Waylandifying Chromium: From downstream to shipping (ELCE 2020)Waylandifying Chromium: From downstream to shipping (ELCE 2020)
Waylandifying Chromium: From downstream to shipping (ELCE 2020)
Igalia
 

What's hot (20)

Fixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blockingFixing Gaps. Strengthening the Chromium platform for content blocking
Fixing Gaps. Strengthening the Chromium platform for content blocking
 
Essential parts to implement own Ozone backend
Essential parts to implement own Ozone backendEssential parts to implement own Ozone backend
Essential parts to implement own Ozone backend
 
The State of Puppet - Dan Bode
The State of Puppet - Dan BodeThe State of Puppet - Dan Bode
The State of Puppet - Dan Bode
 
Vodafone Mobile Widgets Workshop
Vodafone Mobile Widgets WorkshopVodafone Mobile Widgets Workshop
Vodafone Mobile Widgets Workshop
 
React Native - performance optimization
React Native - performance optimizationReact Native - performance optimization
React Native - performance optimization
 
Embedding Chromium into AGL demo platform with WAM
Embedding Chromium into AGL demo platform with WAMEmbedding Chromium into AGL demo platform with WAM
Embedding Chromium into AGL demo platform with WAM
 
React Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive servicesReact Typescript for beginners: Translator app with Microsoft cognitive services
React Typescript for beginners: Translator app with Microsoft cognitive services
 
slide-dnrdw
slide-dnrdwslide-dnrdw
slide-dnrdw
 
Idea to Production - with Gitlab and Kubernetes
Idea to Production  - with Gitlab and KubernetesIdea to Production  - with Gitlab and Kubernetes
Idea to Production - with Gitlab and Kubernetes
 
Chromium Ozone
Chromium OzoneChromium Ozone
Chromium Ozone
 
All out on the Cloud - PloneConf 2012
All out on the Cloud - PloneConf 2012All out on the Cloud - PloneConf 2012
All out on the Cloud - PloneConf 2012
 
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)
 
How To Make A Framework Plugin That Does Not Suck
How To Make A Framework Plugin That Does Not SuckHow To Make A Framework Plugin That Does Not Suck
How To Make A Framework Plugin That Does Not Suck
 
About OpenGL and Vulkan interoperability (XDC 2020)
About OpenGL and Vulkan interoperability (XDC 2020)About OpenGL and Vulkan interoperability (XDC 2020)
About OpenGL and Vulkan interoperability (XDC 2020)
 
Building CI/CD Pipelines with Jenkins and Kubernetes
Building CI/CD Pipelines with Jenkins and KubernetesBuilding CI/CD Pipelines with Jenkins and Kubernetes
Building CI/CD Pipelines with Jenkins and Kubernetes
 
JS digest. February 2017
JS digest. February 2017JS digest. February 2017
JS digest. February 2017
 
Docker Tooling for Eclipse
Docker Tooling for EclipseDocker Tooling for Eclipse
Docker Tooling for Eclipse
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
DockerDay2015: Docker Security
DockerDay2015: Docker SecurityDockerDay2015: Docker Security
DockerDay2015: Docker Security
 
Waylandifying Chromium: From downstream to shipping (ELCE 2020)
Waylandifying Chromium: From downstream to shipping (ELCE 2020)Waylandifying Chromium: From downstream to shipping (ELCE 2020)
Waylandifying Chromium: From downstream to shipping (ELCE 2020)
 

Similar to Eclipse Jemo | Community Day, EclipseCon Europe 2019

DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
Haggai Philip Zagury
 
Deploy meteor in production
Deploy meteor in productionDeploy meteor in production
Deploy meteor in production
Miro Radenovic
 
Microservices Docker @Bonn Agile
Microservices Docker @Bonn AgileMicroservices Docker @Bonn Agile
Microservices Docker @Bonn AgileTimo Derstappen
 
Adventures in docker compose
Adventures in docker composeAdventures in docker compose
Adventures in docker compose
LinkMe Srl
 
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary SlidesRise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
DiUS
 
An Introduction to Docker
An Introduction to DockerAn Introduction to Docker
An Introduction to Docker
bwinterton
 
Microservice Workshop Hands On
Microservice Workshop Hands On Microservice Workshop Hands On
Microservice Workshop Hands On
Ram G Suri
 
How to deploy and run mule in docker
How to deploy and run mule in dockerHow to deploy and run mule in docker
How to deploy and run mule in docker
Ravi Prakash Singh
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
Simon Storm
 
Treinamento frontend
Treinamento frontendTreinamento frontend
Treinamento frontend
Adrian Caetano
 
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
Dan Farrelly
 
Docker for dev
Docker for devDocker for dev
Docker for dev
Erik Talboom
 
How to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentHow to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environment
Michelantonio Trizio
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)
JEMLI Fathi
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
Jordan Open Source Association
 
Node js for beginners
Node js for beginnersNode js for beginners
Node js for beginners
Arjun Sreekumar
 
Scalable Spark deployment using Kubernetes
Scalable Spark deployment using KubernetesScalable Spark deployment using Kubernetes
Scalable Spark deployment using Kubernetes
datamantra
 
Dockerizing react app
Dockerizing react appDockerizing react app
Dockerizing react app
Malang QA Community
 
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Cloud Native Day Tel Aviv
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
BADR
 

Similar to Eclipse Jemo | Community Day, EclipseCon Europe 2019 (20)

DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
 
Deploy meteor in production
Deploy meteor in productionDeploy meteor in production
Deploy meteor in production
 
Microservices Docker @Bonn Agile
Microservices Docker @Bonn AgileMicroservices Docker @Bonn Agile
Microservices Docker @Bonn Agile
 
Adventures in docker compose
Adventures in docker composeAdventures in docker compose
Adventures in docker compose
 
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary SlidesRise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
 
An Introduction to Docker
An Introduction to DockerAn Introduction to Docker
An Introduction to Docker
 
Microservice Workshop Hands On
Microservice Workshop Hands On Microservice Workshop Hands On
Microservice Workshop Hands On
 
How to deploy and run mule in docker
How to deploy and run mule in dockerHow to deploy and run mule in docker
How to deploy and run mule in docker
 
Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14Docker dev ops for cd meetup 12-14
Docker dev ops for cd meetup 12-14
 
Treinamento frontend
Treinamento frontendTreinamento frontend
Treinamento frontend
 
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
 
Docker for dev
Docker for devDocker for dev
Docker for dev
 
How to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environmentHow to deploy a Java application on Google App engine Flexible environment
How to deploy a Java application on Google App engine Flexible environment
 
Getting started with docker (2017)
Getting started with docker (2017)Getting started with docker (2017)
Getting started with docker (2017)
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
 
Node js for beginners
Node js for beginnersNode js for beginners
Node js for beginners
 
Scalable Spark deployment using Kubernetes
Scalable Spark deployment using KubernetesScalable Spark deployment using Kubernetes
Scalable Spark deployment using Kubernetes
 
Dockerizing react app
Dockerizing react appDockerizing react app
Dockerizing react app
 
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
Kubernetes is hard! Lessons learned taking our apps to Kubernetes - Eldad Ass...
 
Docker up and Running For Web Developers
Docker up and Running For Web DevelopersDocker up and Running For Web Developers
Docker up and Running For Web Developers
 

More from Jakarta_EE

Applied Domain-Driven Design Blueprints for Jakarta EE
Applied Domain-Driven Design Blueprints for Jakarta EEApplied Domain-Driven Design Blueprints for Jakarta EE
Applied Domain-Driven Design Blueprints for Jakarta EE
Jakarta_EE
 
Contributors Guide to the Jakarta EE 10 Galaxy
Contributors Guide to the Jakarta EE 10 GalaxyContributors Guide to the Jakarta EE 10 Galaxy
Contributors Guide to the Jakarta EE 10 Galaxy
Jakarta_EE
 
Shorten All URLs
Shorten All URLsShorten All URLs
Shorten All URLs
Jakarta_EE
 
The Eclipse Transformer Project
The Eclipse Transformer Project The Eclipse Transformer Project
The Eclipse Transformer Project
Jakarta_EE
 
Eclipse Transformer
Eclipse TransformerEclipse Transformer
Eclipse Transformer
Jakarta_EE
 
Eclipse GlassFish 6.0.0-M1
Eclipse GlassFish 6.0.0-M1Eclipse GlassFish 6.0.0-M1
Eclipse GlassFish 6.0.0-M1
Jakarta_EE
 
Jakarta EE 9 Platform Project
Jakarta EE 9 Platform ProjectJakarta EE 9 Platform Project
Jakarta EE 9 Platform Project
Jakarta_EE
 
Jakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - OverviewJakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - Overview
Jakarta_EE
 
Jakarta EE 9 Platform Report
Jakarta EE 9 Platform ReportJakarta EE 9 Platform Report
Jakarta EE 9 Platform Report
Jakarta_EE
 
Cloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse FoundationCloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse Foundation
Jakarta_EE
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native Microservices
Jakarta_EE
 
JakartaOne Livestream CN4J: Driving Jakarta EE Success
JakartaOne Livestream CN4J: Driving Jakarta EE SuccessJakartaOne Livestream CN4J: Driving Jakarta EE Success
JakartaOne Livestream CN4J: Driving Jakarta EE Success
Jakarta_EE
 
JakartaOne Livestream CN4J: Cloud Native Runtimes - Revolution or Evolution?
JakartaOne Livestream CN4J: Cloud Native Runtimes - Revolution or Evolution?JakartaOne Livestream CN4J: Cloud Native Runtimes - Revolution or Evolution?
JakartaOne Livestream CN4J: Cloud Native Runtimes - Revolution or Evolution?
Jakarta_EE
 
JakartaOne Livestream CN4J: Bringing Reactive to Enterprise Developers
JakartaOne Livestream CN4J: Bringing Reactive to Enterprise DevelopersJakartaOne Livestream CN4J: Bringing Reactive to Enterprise Developers
JakartaOne Livestream CN4J: Bringing Reactive to Enterprise Developers
Jakarta_EE
 
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
Jakarta_EE
 
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Jakarta_EE
 
Jakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne LivestreamJakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne Livestream
Jakarta_EE
 
Jakarta EE Meets NoSQL at the Cloud Age | JakartaOne Livestream
Jakarta EE Meets NoSQL at the Cloud Age | JakartaOne LivestreamJakarta EE Meets NoSQL at the Cloud Age | JakartaOne Livestream
Jakarta EE Meets NoSQL at the Cloud Age | JakartaOne Livestream
Jakarta_EE
 
Turbocharged Java with Quarkus | JakartaOne Livestream
 Turbocharged Java with Quarkus | JakartaOne Livestream Turbocharged Java with Quarkus | JakartaOne Livestream
Turbocharged Java with Quarkus | JakartaOne Livestream
Jakarta_EE
 
Building Interoperable Microservices With Eclipse MicroProfile| JakartaOne Li...
Building Interoperable Microservices With Eclipse MicroProfile| JakartaOne Li...Building Interoperable Microservices With Eclipse MicroProfile| JakartaOne Li...
Building Interoperable Microservices With Eclipse MicroProfile| JakartaOne Li...
Jakarta_EE
 

More from Jakarta_EE (20)

Applied Domain-Driven Design Blueprints for Jakarta EE
Applied Domain-Driven Design Blueprints for Jakarta EEApplied Domain-Driven Design Blueprints for Jakarta EE
Applied Domain-Driven Design Blueprints for Jakarta EE
 
Contributors Guide to the Jakarta EE 10 Galaxy
Contributors Guide to the Jakarta EE 10 GalaxyContributors Guide to the Jakarta EE 10 Galaxy
Contributors Guide to the Jakarta EE 10 Galaxy
 
Shorten All URLs
Shorten All URLsShorten All URLs
Shorten All URLs
 
The Eclipse Transformer Project
The Eclipse Transformer Project The Eclipse Transformer Project
The Eclipse Transformer Project
 
Eclipse Transformer
Eclipse TransformerEclipse Transformer
Eclipse Transformer
 
Eclipse GlassFish 6.0.0-M1
Eclipse GlassFish 6.0.0-M1Eclipse GlassFish 6.0.0-M1
Eclipse GlassFish 6.0.0-M1
 
Jakarta EE 9 Platform Project
Jakarta EE 9 Platform ProjectJakarta EE 9 Platform Project
Jakarta EE 9 Platform Project
 
Jakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - OverviewJakarta EE 9 Milestone Release Party - Overview
Jakarta EE 9 Milestone Release Party - Overview
 
Jakarta EE 9 Platform Report
Jakarta EE 9 Platform ReportJakarta EE 9 Platform Report
Jakarta EE 9 Platform Report
 
Cloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse FoundationCloud Native Java: Present and Future at Eclipse Foundation
Cloud Native Java: Present and Future at Eclipse Foundation
 
Building 12-factor Cloud Native Microservices
Building 12-factor Cloud Native MicroservicesBuilding 12-factor Cloud Native Microservices
Building 12-factor Cloud Native Microservices
 
JakartaOne Livestream CN4J: Driving Jakarta EE Success
JakartaOne Livestream CN4J: Driving Jakarta EE SuccessJakartaOne Livestream CN4J: Driving Jakarta EE Success
JakartaOne Livestream CN4J: Driving Jakarta EE Success
 
JakartaOne Livestream CN4J: Cloud Native Runtimes - Revolution or Evolution?
JakartaOne Livestream CN4J: Cloud Native Runtimes - Revolution or Evolution?JakartaOne Livestream CN4J: Cloud Native Runtimes - Revolution or Evolution?
JakartaOne Livestream CN4J: Cloud Native Runtimes - Revolution or Evolution?
 
JakartaOne Livestream CN4J: Bringing Reactive to Enterprise Developers
JakartaOne Livestream CN4J: Bringing Reactive to Enterprise DevelopersJakartaOne Livestream CN4J: Bringing Reactive to Enterprise Developers
JakartaOne Livestream CN4J: Bringing Reactive to Enterprise Developers
 
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
 
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
Kubernetes Native Java and Eclipse MicroProfile | EclipseCon Europe 2019
 
Jakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne LivestreamJakarta for dummEEs | JakartaOne Livestream
Jakarta for dummEEs | JakartaOne Livestream
 
Jakarta EE Meets NoSQL at the Cloud Age | JakartaOne Livestream
Jakarta EE Meets NoSQL at the Cloud Age | JakartaOne LivestreamJakarta EE Meets NoSQL at the Cloud Age | JakartaOne Livestream
Jakarta EE Meets NoSQL at the Cloud Age | JakartaOne Livestream
 
Turbocharged Java with Quarkus | JakartaOne Livestream
 Turbocharged Java with Quarkus | JakartaOne Livestream Turbocharged Java with Quarkus | JakartaOne Livestream
Turbocharged Java with Quarkus | JakartaOne Livestream
 
Building Interoperable Microservices With Eclipse MicroProfile| JakartaOne Li...
Building Interoperable Microservices With Eclipse MicroProfile| JakartaOne Li...Building Interoperable Microservices With Eclipse MicroProfile| JakartaOne Li...
Building Interoperable Microservices With Eclipse MicroProfile| JakartaOne Li...
 

Recently uploaded

Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
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
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
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
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
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
 
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
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
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
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
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
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
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
 

Recently uploaded (20)

Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
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|...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
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
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
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
 
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
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
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
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
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
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
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
 

Eclipse Jemo | Community Day, EclipseCon Europe 2019

  • 1. Eclipse Jemo ECE 2019, Cloud Native Java, Community Day Yannis Theocharis, Eclipse Jemo Committer e-mail: ytheohar@gmail.com twitter: @ytheohar
  • 2. What is Jemo? ● Cloud Native Java Runtime ○ Acts as an application server for cloud native Java applications ● Homogenous distributed computing platform ○ A set of identical Jemo docker containers running on Kubernetes, where each container is able to respond to any app deployed in the platform ● Function as a service execution environment ○ Jemo offers build-in development patterns to respond to events, e.g. HTTP calls, messages and scheduled tasks. ● Multi-cloud runtime environment ○ “Write once, run everywhere”. CSP services are abstracted away so that Jemo apps code is CSP agnostic.
  • 3. Jemo Distinctive Properties ● Deployment of the Jemo runtime on the cloud is completely independent from deployment of Jemo apps on the Jemo runtime. ○ Jemo containers are deployed to Kubernetes prior to any app deployed on Jemo. ● Jemo containers are stateless ○ State is loaded from the CSP services Jemo is deployed on. ● The JVM starts before any app is deployed ○ JVM starts when each Jemo container starts and many apps can run concurrently within the same container - greater density. ● Each Jemo container can run many apps concurrently ○ Responding to events, e.g. HTTP calls, a Jemo container loads the code of an app serves the request and if no request comes for the same app in 10 minutes the app is unloaded from the container.
  • 4. Jemo Dev & Devops Tools ● Local Debugging ○ A cluster running on the public cloud can be easily extended to your desktop by running a local Jemo instance and debug using your IDE with all the context of the cloud environment. ● Jemo maven archetype ○ Creates a Jemo app with examples of code implementing the Jemo development patterns. ● Jemo maven plugin ○ Deploy a Jemo app on a cluster. ● Devops tools ○ Compile, test and deploy a Jemo app stored on github. ○ Monitor/pause/restart/delete apps. ● Cloud Native ○ Setup wizard sets up a new Kubenetes cluster of Jemo containers on AWS, Azure or GCP, by generating Terraform templates.
  • 5. Cloud Provider Service Abstraction AWS Azure GCP File Storage S3 Storage Account Cloud Storage NoSQL DynamoDB CosmosDB Cloud Datastore Messaging SQS Storage Account Queues Cloud Datastore Logging Cloudwatch Log Analytics Workspace StackDriver Logging
  • 6. Resources ● Jemo website: https://www.eclipse.org/jemo/ ● Jemo project: https://projects.eclipse.org/projects/technology.jemo ● Github repo: https://github.com/eclipse/jemo ● Docker hub: https://hub.docker.com/r/eclipse/jemo/tags ● Blogpost: https://medium.com/@ytheohar/cloud-provider-agnostic-development-with-eclipse-jemo-605b4d0b6ba7
  • 7. Demo - Set up a local jemo instance > git clone https://github.com/eclipse/jemo.git > cd jemo/core > mvn package -DskipTests > java -jar target/jemo-1.0.7.jar
  • 8. Demo - Create a Jemo app mvn archetype:generate -DarchetypeGroupId=org.eclipse.jemo -DarchetypeArtifactId=eclipse-jemo-maven-archetype -DarchetypeVersion=1.2 -DgroupId=com.example -DartifactId=jemo-app-demo -Dversion=1.0 -DpluginId=10 -DjemoEndpoint=http://localhost -Dusername=system.administrator@jemo.eclipse.org -Dpassword=3906e814-7604-4ba2-b233-888409541e9b
  • 9. Demo - Deploy a Jemo app > mvn deploy