SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
Otavio Santana
@otaviojava
Architecting
Cloud Computing
Solutions with Java
Otavio Santana
@otaviojava
DevRel Engineer
+ Java Champion
+ JCP-EC-EG-EGL
+ Apache Committer
+ Eclipse Committer
+ Eclipse Project Leader
+ Book and blog writer
Speaker
Cloud
Cloud Types
Cloud Native
“Cloud-native is an approach to building
and running applications that exploits
the advantages of the cloud computing
model.”
Cloud Native
“Cloud-native is a different way of thinking
and reasoning about software systems. It
embodies the following concepts: powered
by disposable infrastructure, composed of
bounded, scales globally, embraces
disposable architecture.”
Cloud Native
“In general use, ‘cloud-native’ is an
approach to building and running
applications that exploits the advantages
of the cloud-computing delivery model.
‘Cloud-native’ is about how applications
are created and deployed, not where.”
Cloud Native
“Independent DURS ultimately comes up
in every discussion on cloud-native
concepts; to independently Deploy,
Update, Replace and Scale.”
Cloud Native
“Cloud-native is more than a tool set. It is a
complete architecture, a philosophical
approach for building applications that
take full advantage of cloud computing.”
Cloud Native
“Cloud-native technologies empower
organizations to build and run scalable
applications in modern, dynamic
environments such as public, private,
and hybrid clouds. Containers, service
meshes, microservices, immutable
infrastructure, and declarative APIs
exemplify this approach.”
Cloud Native
Cloud-native is a term used to describe
container-based environments.
Cloud Native
A set of good practices to
optimize an application in
the cloud through:
● Containerization
● Orchestration
● Automation
Cloud Native
PORA
Package Once, Run Anytime
WORA
Write Once, Run Anywhere
Containers vs.
Java
The Best Practices
● Codebase
● Dependencies
● Config
● Backing services
● Build, release, run
● Process
● Port binding
● Concurrency
● Disposability
● Dev/prod parity
● Logs
● Admin processes
The 12 Factors App
Old but Gold
“Certainly, we always read great things
about the microservices architectures
implemented by companies like Netflix or
Amazon. So let me ask a question: how
many companies in the world can be
Netflix and Amazon?”
Microservices
Conway's law
Java Cloud Native
● Optimizations on GC
● Improvements Containers
● Better Integration
● Release 6 months
Java
● Generations
● Eclipse Foundation
● Agile
● Cloud Native
Jakarta EE
● Microservices
● Eclipse Foundation
● Agile
● Fast Delivery
Eclipse
MicroProfile
● Jakarta EE8
● Security
● Fault Tolerance
● Much more...
Eclipse
Foundation
Demo Time
Platform.sh
We live in a cloud economy
Use cloud ready
SaaS services
Complexity
Cost
Risk
High
Med - High
Low
Migrate existing
workloads into
cloud
Build new apps
cloud ready
Degrees of risk around
enterprise cloud consumption...
^
^
‘The cloud’ is complex
They need to focus on turning business ideas into
code, and and let somebody else do the rest.
Their energies shouldn’t be consumed
managing various clouds
Challenge
Today’s reality
All companies are now software companies,
expecting to deliver great customer experiences.
Platform.sh was built
on the idea that your
application comes first
It’s what your customers care about.
It’s what drives you and your team.
We handle the rest.
We’re a polyglot, multicloud PaaS, with
continuous deployment built in.
At Platform.sh we believe your code
should just run. Monoliths?
Microservices? Stateful? Stateless?
Develop and deliver them all with
consistent tools.
Much more than
hosting
Infrastructure as
code
Add MySQL, PostgreSQL, MongoDB, Kafka,
Elasticsearch, Solr, Redis, RabbitMQ, or
InfluxDB to your project with a few lines of
code. Infrastructure changes are versioned
and auditable.
Service updates and security?
That’s on us. No more effort wasted on
patching your fleet.
Application
name: app
type: "java:11"
disk: 1024
hooks:
build: mvn clean package
relationships:
database: "db:postgresql"
web:
commands:
start: java -jar $JAVA_OPTS $CREDENTIAL file.jar
Services
database1:
type: mysql:10.1
disk: 2048
database2:
type: postgresql:9.6
disk: 1024
Route
"https://{default}/":
type: upstream
upstream: "app:http"
"https://www.{default}/":
type: redirect
to: "https://{default}/"
Config Reader
@Configuration
public class DataSourceConfig {
@Bean(name = "dataSource")
public DataSource getDataSource() {
Config config = new Config();
MySQL database = config.getCredential("database", MySQL::new);
return database.get();
}
}
Config Reader
@Configuration
class DataSourceConfig {
@Bean(name = ["dataSource"])
fun getDataSource(): DataSource {
val config = Config()
val database = config.getCredential("database") { MySQL(it) }
return database.get()
}
}
Config Reader
Config config = new Config();
final MongoDB mongo = config.getCredential("mongodb", MongoDB::new);
final MongoClient mongoClient = mongo.get();
Config config = new Config();
Configuration configuration = new Configuration();
configuration.addAnnotatedClass(Address.class);
Hibernate credential = config.getCredential("database", Hibernate::new);
SessionFactory sessionFactory = credential.getMariaDB(configuration);
Platform.sh was built
on the idea that your
application comes first
It’s what your customers care about.
It’s what drives you and your team.
We handle the rest.
Platform.sh provides
an end-to-end PaaS
to build, run, and maintain
polyglot fleets of digital
experience applications
Developers can then focus on what matters
to the organization: shipping great web apps
and sites
Container Orchestration
Infrastructure
Continuous Deployment
Data Services
App Runtimes
Routing + Edge Security
Continuous Integration
Application Code
Application Data
Provisioning APIs, Integrations, Template Libraries
Web Console
…
Source Operations™
Develop
Git-native: instantly clone your code
and infrastructure for every branch
Services snap-in with a line of
code—from MySQL to Kafka to
Elasticsearch
Build in virtually any runtime or
framework
Build
CI/CD built in: run tests, compile
dependencies
Extensible with webhooks to
integrate with any workflow
Declarative infrastructure, versioned
like your code
Package
Fully managed databases, queues,
networking, storage
Migrate between service versions
with a single line of configuration
Services patched and secured by
Platform.sh
Provision
One-click deployment of new
applications in an instant
Custom template libraries
API control over RBAC, app
provisioning, deployment
Deploy
Apps and services are automatically
containerized and deployed to our
grid
Supports stateful and stateless apps,
worker processes
Integrates with your current DevOps
processes
Run
Production cloud hosting included
Multicloud support: AWS, Microsoft
Azure, Orange, Google, and regional
partners
Run without modifications between
regions and clouds
Manage
Update your fleet with a single
command
Support everything from
microservices to enterprise CMS to
static sites
Maintain governance over process,
code, and infrastructure across
distributed teams
Secure
All changes to code and
infrastructure fully auditable
SOC 2-certified
Strict data localization available
Integrated with Includes the best of Replaces Faster and far less costly than
Works like We partner with Capabilities you won’t find with 24x7 data security and privacy
Platform.sh is end-to-end
1000s
e-commerce, life sciences, government, education,
media & entertainment, and high-tech customers
$47m
invested by top-tier international partners
Platform.sh at
a glance
Java
Q&A Thank you! Your contact:
Otavio Santana
DevRel Engineer, Platform.sh
@otaviojava

Weitere ähnliche Inhalte

Was ist angesagt?

Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBASlides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Severalnines
 
Data center 2.0: The journey to the cloud from the datacenter perspertive by ...
Data center 2.0: The journey to the cloud from the datacenter perspertive by ...Data center 2.0: The journey to the cloud from the datacenter perspertive by ...
Data center 2.0: The journey to the cloud from the datacenter perspertive by ...
HKISPA
 
Alternatives for Systems Integration in the NoSQL Era - NoSQL Roadshow 2013
Alternatives for Systems Integration in the NoSQL Era - NoSQL Roadshow 2013Alternatives for Systems Integration in the NoSQL Era - NoSQL Roadshow 2013
Alternatives for Systems Integration in the NoSQL Era - NoSQL Roadshow 2013
Kai Wähner
 

Was ist angesagt? (20)

Application Evolution Strategy
Application Evolution StrategyApplication Evolution Strategy
Application Evolution Strategy
 
Decomposing applications for deployability and scalability(SpringSource webinar)
Decomposing applications for deployability and scalability(SpringSource webinar)Decomposing applications for deployability and scalability(SpringSource webinar)
Decomposing applications for deployability and scalability(SpringSource webinar)
 
Evolving to Cloud-Native - Nate Schutta (1/2)
Evolving to Cloud-Native - Nate Schutta (1/2)Evolving to Cloud-Native - Nate Schutta (1/2)
Evolving to Cloud-Native - Nate Schutta (1/2)
 
Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)Evolving to Cloud-Native - Nate Schutta (2/2)
Evolving to Cloud-Native - Nate Schutta (2/2)
 
Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...
Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...
Systems Integration in the NoSQL Era with Apache Camel (Neo4j, CouchDB, AWS S...
 
Ohio LinuxFest: Crash Course in Open Source Cloud Computing
Ohio LinuxFest:  Crash Course in Open Source Cloud ComputingOhio LinuxFest:  Crash Course in Open Source Cloud Computing
Ohio LinuxFest: Crash Course in Open Source Cloud Computing
 
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
 
Navigating the Cloud Foundry Ecosystem of Ecosystems: An ISV Perspective
Navigating the Cloud Foundry Ecosystem of Ecosystems: An ISV PerspectiveNavigating the Cloud Foundry Ecosystem of Ecosystems: An ISV Perspective
Navigating the Cloud Foundry Ecosystem of Ecosystems: An ISV Perspective
 
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBASlides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
Slides: Polyglot Persistence for the MongoDB, MySQL & PostgreSQL DBA
 
Introducing the Open Container Project
Introducing the Open Container ProjectIntroducing the Open Container Project
Introducing the Open Container Project
 
Cloud development and career path
Cloud development and career pathCloud development and career path
Cloud development and career path
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
Linuxcon 2011 Crash Course in Open Source Cloud Computing
Linuxcon 2011   Crash Course in Open Source Cloud ComputingLinuxcon 2011   Crash Course in Open Source Cloud Computing
Linuxcon 2011 Crash Course in Open Source Cloud Computing
 
Microservice architecture
Microservice architectureMicroservice architecture
Microservice architecture
 
Data center 2.0: The journey to the cloud from the datacenter perspertive by ...
Data center 2.0: The journey to the cloud from the datacenter perspertive by ...Data center 2.0: The journey to the cloud from the datacenter perspertive by ...
Data center 2.0: The journey to the cloud from the datacenter perspertive by ...
 
Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...Microservices: Decomposing Applications for Deployability and Scalability (ja...
Microservices: Decomposing Applications for Deployability and Scalability (ja...
 
Move your desktop to the cloud for $1 day
Move your desktop to the cloud for $1 day Move your desktop to the cloud for $1 day
Move your desktop to the cloud for $1 day
 
Alternatives for Systems Integration in the NoSQL Era - NoSQL Roadshow 2013
Alternatives for Systems Integration in the NoSQL Era - NoSQL Roadshow 2013Alternatives for Systems Integration in the NoSQL Era - NoSQL Roadshow 2013
Alternatives for Systems Integration in the NoSQL Era - NoSQL Roadshow 2013
 
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on AzureVoxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
Voxxed Days Thesaloniki 2016 - A journey to Open Source Technologies on Azure
 
Cloud services
Cloud servicesCloud services
Cloud services
 

Ähnlich wie Architecting Cloud Computing Solutions with Java [1.1]

Greg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner ConferenceGreg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
ScanSource, Inc.
 
Deployment of private cloud infrastructure copy
Deployment of private cloud infrastructure   copyDeployment of private cloud infrastructure   copy
Deployment of private cloud infrastructure copy
prabhat kumar
 

Ähnlich wie Architecting Cloud Computing Solutions with Java [1.1] (20)

Jfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the CloudJfokus Workshop: Code in the Cloud for the Cloud
Jfokus Workshop: Code in the Cloud for the Cloud
 
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
[Srijan Wednesday Webinars] How to Build a Cloud Native Platform for Enterpri...
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment Toolkit
 
Using cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformationUsing cloud native development to achieve digital transformation
Using cloud native development to achieve digital transformation
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
Introducing the Open Container Project
Introducing the Open Container ProjectIntroducing the Open Container Project
Introducing the Open Container Project
 
Developing Hybrid Cloud Applications
Developing Hybrid Cloud ApplicationsDeveloping Hybrid Cloud Applications
Developing Hybrid Cloud Applications
 
An open platform for hybrid cloud
An open platform for hybrid cloudAn open platform for hybrid cloud
An open platform for hybrid cloud
 
Nimbus Concept
Nimbus ConceptNimbus Concept
Nimbus Concept
 
The biggest constraint to devops in the cloud has a solution
The biggest constraint to devops in the cloud has a solutionThe biggest constraint to devops in the cloud has a solution
The biggest constraint to devops in the cloud has a solution
 
Devops lifecycle with Kabanero Appsody, Codewind, Tekton
Devops lifecycle with Kabanero Appsody, Codewind, TektonDevops lifecycle with Kabanero Appsody, Codewind, Tekton
Devops lifecycle with Kabanero Appsody, Codewind, Tekton
 
Cloud Computing Introduction
Cloud Computing IntroductionCloud Computing Introduction
Cloud Computing Introduction
 
Cloud technologies
Cloud technologiesCloud technologies
Cloud technologies
 
Tech Talk - Cloud Transformation in 2017
Tech Talk - Cloud Transformation in 2017Tech Talk - Cloud Transformation in 2017
Tech Talk - Cloud Transformation in 2017
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
 
Fast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWSFast, Secure Deployments with Docker on AWS
Fast, Secure Deployments with Docker on AWS
 
Wowrack cloud uc
Wowrack cloud ucWowrack cloud uc
Wowrack cloud uc
 
Greg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner ConferenceGreg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
Greg Dixon - 2011 ScanSource POS & Barcoding Partner Conference
 
Deployment of private cloud infrastructure.
Deployment of private cloud infrastructure.Deployment of private cloud infrastructure.
Deployment of private cloud infrastructure.
 
Deployment of private cloud infrastructure copy
Deployment of private cloud infrastructure   copyDeployment of private cloud infrastructure   copy
Deployment of private cloud infrastructure copy
 

Mehr von Otávio Santana

Mehr von Otávio Santana (20)

NoSQL design pitfalls with Java
NoSQL design pitfalls with JavaNoSQL design pitfalls with Java
NoSQL design pitfalls with Java
 
Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.
Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.
Modern Cloud-Native Jakarta EE Frameworks: tips, challenges, and trends.
 
Build, run, and scale your Java applications end to end
Build, run, and scale your Java applications end to endBuild, run, and scale your Java applications end to end
Build, run, and scale your Java applications end to end
 
Jakarta NoSQL: Meet the first Jakarta EE specification in the Cloud
Jakarta NoSQL: Meet the first Jakarta EE specification in the CloudJakarta NoSQL: Meet the first Jakarta EE specification in the Cloud
Jakarta NoSQL: Meet the first Jakarta EE specification in the Cloud
 
ORMs: Heroes or Villains Inside the Architecture?
ORMs: Heroes or Villains Inside the Architecture?ORMs: Heroes or Villains Inside the Architecture?
ORMs: Heroes or Villains Inside the Architecture?
 
Jakarta EE Meets NoSQL at the Cloud Age
Jakarta EE Meets NoSQL at the Cloud AgeJakarta EE Meets NoSQL at the Cloud Age
Jakarta EE Meets NoSQL at the Cloud Age
 
Boost your APIs with GraphQL 1.0
Boost your APIs with GraphQL 1.0Boost your APIs with GraphQL 1.0
Boost your APIs with GraphQL 1.0
 
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
 
Let’s Make Graph Databases Fun Again with Java [DEV6043]
Let’s Make Graph Databases Fun Again with Java [DEV6043]Let’s Make Graph Databases Fun Again with Java [DEV6043]
Let’s Make Graph Databases Fun Again with Java [DEV6043]
 
Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]
Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]
Eclipse JNoSQL: One API to Many NoSQL Databases - BYOL [HOL5998]
 
The new generation of data persistence with graph
The new generation of data persistence with graphThe new generation of data persistence with graph
The new generation of data persistence with graph
 
Eclipse JNoSQL updates from JCP September 11
Eclipse JNoSQL updates from JCP September 11Eclipse JNoSQL updates from JCP September 11
Eclipse JNoSQL updates from JCP September 11
 
Stateless Microservice Security via JWT and MicroProfile - Guatemala
Stateless Microservice Security via JWT and MicroProfile - GuatemalaStateless Microservice Security via JWT and MicroProfile - Guatemala
Stateless Microservice Security via JWT and MicroProfile - Guatemala
 
Stateless Microservice Security via JWT and MicroProfile - Mexico
Stateless Microservice Security via JWT and MicroProfile - MexicoStateless Microservice Security via JWT and MicroProfile - Mexico
Stateless Microservice Security via JWT and MicroProfile - Mexico
 
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Database
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL DatabaseEclipse JNoSQL: The Definitive Solution for Java and NoSQL Database
Eclipse JNoSQL: The Definitive Solution for Java and NoSQL Database
 
Polyglot persistence
Polyglot persistencePolyglot persistence
Polyglot persistence
 
Management 3.0 and open source
Management 3.0 and open sourceManagement 3.0 and open source
Management 3.0 and open source
 
Building a Recommendation Engine with Java EE
Building a Recommendation Engine with Java EEBuilding a Recommendation Engine with Java EE
Building a Recommendation Engine with Java EE
 
Cassandra NoSQL, NoLimits!
Cassandra NoSQL, NoLimits!Cassandra NoSQL, NoLimits!
Cassandra NoSQL, NoLimits!
 
Disasters of the century NoSQL
Disasters of the century NoSQLDisasters of the century NoSQL
Disasters of the century NoSQL
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
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
vu2urc
 

Kürzlich hochgeladen (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Architecting Cloud Computing Solutions with Java [1.1]

  • 2. Otavio Santana @otaviojava DevRel Engineer + Java Champion + JCP-EC-EG-EGL + Apache Committer + Eclipse Committer + Eclipse Project Leader + Book and blog writer Speaker
  • 6. “Cloud-native is an approach to building and running applications that exploits the advantages of the cloud computing model.” Cloud Native
  • 7. “Cloud-native is a different way of thinking and reasoning about software systems. It embodies the following concepts: powered by disposable infrastructure, composed of bounded, scales globally, embraces disposable architecture.” Cloud Native
  • 8. “In general use, ‘cloud-native’ is an approach to building and running applications that exploits the advantages of the cloud-computing delivery model. ‘Cloud-native’ is about how applications are created and deployed, not where.” Cloud Native
  • 9. “Independent DURS ultimately comes up in every discussion on cloud-native concepts; to independently Deploy, Update, Replace and Scale.” Cloud Native
  • 10. “Cloud-native is more than a tool set. It is a complete architecture, a philosophical approach for building applications that take full advantage of cloud computing.” Cloud Native
  • 11. “Cloud-native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.” Cloud Native
  • 12. Cloud-native is a term used to describe container-based environments. Cloud Native
  • 13. A set of good practices to optimize an application in the cloud through: ● Containerization ● Orchestration ● Automation Cloud Native
  • 14. PORA Package Once, Run Anytime WORA Write Once, Run Anywhere Containers vs. Java
  • 16. ● Codebase ● Dependencies ● Config ● Backing services ● Build, release, run ● Process ● Port binding ● Concurrency ● Disposability ● Dev/prod parity ● Logs ● Admin processes The 12 Factors App
  • 18. “Certainly, we always read great things about the microservices architectures implemented by companies like Netflix or Amazon. So let me ask a question: how many companies in the world can be Netflix and Amazon?” Microservices Conway's law
  • 20. ● Optimizations on GC ● Improvements Containers ● Better Integration ● Release 6 months Java
  • 21. ● Generations ● Eclipse Foundation ● Agile ● Cloud Native Jakarta EE
  • 22. ● Microservices ● Eclipse Foundation ● Agile ● Fast Delivery Eclipse MicroProfile
  • 23. ● Jakarta EE8 ● Security ● Fault Tolerance ● Much more... Eclipse Foundation
  • 26. We live in a cloud economy Use cloud ready SaaS services Complexity Cost Risk High Med - High Low Migrate existing workloads into cloud Build new apps cloud ready Degrees of risk around enterprise cloud consumption... ^ ^
  • 27. ‘The cloud’ is complex They need to focus on turning business ideas into code, and and let somebody else do the rest. Their energies shouldn’t be consumed managing various clouds Challenge Today’s reality All companies are now software companies, expecting to deliver great customer experiences.
  • 28. Platform.sh was built on the idea that your application comes first It’s what your customers care about. It’s what drives you and your team. We handle the rest.
  • 29. We’re a polyglot, multicloud PaaS, with continuous deployment built in. At Platform.sh we believe your code should just run. Monoliths? Microservices? Stateful? Stateless? Develop and deliver them all with consistent tools. Much more than hosting
  • 30. Infrastructure as code Add MySQL, PostgreSQL, MongoDB, Kafka, Elasticsearch, Solr, Redis, RabbitMQ, or InfluxDB to your project with a few lines of code. Infrastructure changes are versioned and auditable. Service updates and security? That’s on us. No more effort wasted on patching your fleet.
  • 31. Application name: app type: "java:11" disk: 1024 hooks: build: mvn clean package relationships: database: "db:postgresql" web: commands: start: java -jar $JAVA_OPTS $CREDENTIAL file.jar
  • 34. Config Reader @Configuration public class DataSourceConfig { @Bean(name = "dataSource") public DataSource getDataSource() { Config config = new Config(); MySQL database = config.getCredential("database", MySQL::new); return database.get(); } }
  • 35. Config Reader @Configuration class DataSourceConfig { @Bean(name = ["dataSource"]) fun getDataSource(): DataSource { val config = Config() val database = config.getCredential("database") { MySQL(it) } return database.get() } }
  • 36. Config Reader Config config = new Config(); final MongoDB mongo = config.getCredential("mongodb", MongoDB::new); final MongoClient mongoClient = mongo.get(); Config config = new Config(); Configuration configuration = new Configuration(); configuration.addAnnotatedClass(Address.class); Hibernate credential = config.getCredential("database", Hibernate::new); SessionFactory sessionFactory = credential.getMariaDB(configuration);
  • 37. Platform.sh was built on the idea that your application comes first It’s what your customers care about. It’s what drives you and your team. We handle the rest.
  • 38. Platform.sh provides an end-to-end PaaS to build, run, and maintain polyglot fleets of digital experience applications Developers can then focus on what matters to the organization: shipping great web apps and sites Container Orchestration Infrastructure Continuous Deployment Data Services App Runtimes Routing + Edge Security Continuous Integration Application Code Application Data Provisioning APIs, Integrations, Template Libraries Web Console … Source Operations™
  • 39. Develop Git-native: instantly clone your code and infrastructure for every branch Services snap-in with a line of code—from MySQL to Kafka to Elasticsearch Build in virtually any runtime or framework Build CI/CD built in: run tests, compile dependencies Extensible with webhooks to integrate with any workflow Declarative infrastructure, versioned like your code Package Fully managed databases, queues, networking, storage Migrate between service versions with a single line of configuration Services patched and secured by Platform.sh Provision One-click deployment of new applications in an instant Custom template libraries API control over RBAC, app provisioning, deployment Deploy Apps and services are automatically containerized and deployed to our grid Supports stateful and stateless apps, worker processes Integrates with your current DevOps processes Run Production cloud hosting included Multicloud support: AWS, Microsoft Azure, Orange, Google, and regional partners Run without modifications between regions and clouds Manage Update your fleet with a single command Support everything from microservices to enterprise CMS to static sites Maintain governance over process, code, and infrastructure across distributed teams Secure All changes to code and infrastructure fully auditable SOC 2-certified Strict data localization available Integrated with Includes the best of Replaces Faster and far less costly than Works like We partner with Capabilities you won’t find with 24x7 data security and privacy Platform.sh is end-to-end
  • 40. 1000s e-commerce, life sciences, government, education, media & entertainment, and high-tech customers $47m invested by top-tier international partners Platform.sh at a glance
  • 41. Java
  • 42. Q&A Thank you! Your contact: Otavio Santana DevRel Engineer, Platform.sh @otaviojava