Build, run, and scale
your Java
applications end to
end
Otavio Santana
@otaviojava
Otavio
Santana
About me
Java Champion
JCP-EC-EG-EGL
Apache Committer
Eclipse Committer
Eclipse Project Leader
Book and Blog writer
Software
Skynet is coming
» Software is everywhere
» Machine to machine
» New business
» New approach
Agile
» MVP
» More interactions
» Person over process
» DDD
Microservices
» Deliver quickly
» Smaller, more agile
» Discrete Services
» Scale Independently
DevOps
» Not a JOB
» Development practices
» More integration
» Delivery Fast
Cloud
» Elasticity
» Multi-region
» No hardware
» Fast Delivery
Jakarta EE
» Generations
» Eclipse Foundation
» Agile
» Cloud Native
Eclipse MicroProfile
» Microservices
» Eclipse Foundation
» Agile
» Delivery Fast
Eclipse MicroProfile
» Jakarta EE 8
» Security
» Fault Tolerance
» Much more...
NoSQL
NoSQL
» Database
» Doesn't use structure
» Not Transaction
» Base
» Five different types
Key Value
» AmazonDynamo
» AmazonS3
» Redis
» Hazelcast
Apollo
Ares
Aphrodite
Sun
War
Love Beauty
Column Family
» HBase
» Cassandra
» Clouddata
» DynamoDB
Apollo
Aphrodite
Ares
Kratos
Duty
Duty
Duty
Dead Gods
Love, happy
Sun
War
13
Color
weapon
Sword
Row-key Columns
Document
» ApacheCouchDB
» MongoDB
» Couchbase
{
"name":"Diana",
"duty":[
"Hunt",
"Moon",
"Nature"
],
"siblings":{
"Apollo":"brother"
}
}
Graph
» Neo4J
» InfoGrid
» Sones
» HyperGraphDB
Apollo Ares
Kratos
was killed by was killed by
killed killed
Jakarta
NoSQL DIANA
ARTEMIS
JNoSQL
DAO
Mapping
Communication
Column Documents Key Graph
Data Tier
Communication Issue
ODocument document = new ODocument(“collection”);
document.field(name, value);
JsonObject jsonObject = JsonObject.create();
jsonObject.put(name, value);
BaseDocument baseDocument = new BaseDocument();
baseDocument.addAttribute(name, value);
Document document = new Document();
document.append(name, value);
Communication
DocumentEntity entity = DocumentEntity.of("collection");
entity.add(name, value);
Communication
DocumentEntity entity = ...;
manager.insert(entity);
manager.update(entity);
List<DocumentEntity> entities = select().from("god")
.where("power").eq("hunt").execute(manager);
delete().from("god").where("power").eq("hunt").execute(manager);
Diversity
List<ColumnEntity> entities = managerCassandra
.cql("select * from greece.good where id=10;");
managerCassandra.insert(entity, ConsistencyLevel.ALL);
Mapping
Providers
Demo Time
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.
Deploy
anytime
(even Fridays)
git merge packages your fully
tested build, and our continuous
deployment process sends those
containers to production.
Because every change is being
tested on a byte-for-byte clone of
your production application,
deployments become non-events.
Deploy
anywhere
Build and run on AWS, Azure, Google
Cloud, Orange, and more—with the
same code and configuration.
Got fleets of sites? Provision and
manage them centrally with the
Platform.sh CLI and API. Run your
apps in regions around the world.
Get feedback faster
Deliver results sooner
90%
Reduction in
DevOps
40%
Uplift in developer
productivity
15x
Faster user
acceptance testing
20x
More deployments
Enterprise SLAs and
support you can count on
99.99%*
Up to uptime
guarantee
57+
Endpoints in our
global CDN
24x
7
Expert support with
guaranteed response
times
3
Teams focused on your business:
Onboarding, Customer Success,
Technical Account Management
A cloud application platform that delivers
—from end to end
Develop Build Package Deploy Run Manage Scale
Git-native
3GL: Python,
Node, Golang,
Ruby, PHP, Java
Serverless
without
re-architecture
Faster dev
onboarding
Continuous
Integration
as-a-service
Extensible, but
simple
Infrastructure is
composable,
versioned
MySQL,
Postgres,
MongoDB, Redis,
RabbitMQ,
Elastic, Solr, etc.
Services are
managed,
secured by
platform.sh
Instant clone
deployment for
every branch
Eliminates
staging
bottlenecks
Ensures
dev/stage/prod
consistency with
zero effort
Cloud-agnostic:
AWS, Azure,
Google Cloud
and Orange
partnerships
Up to 99.99%
uptime SLA
Automatic
containerization
Partner API:
provisioning,
billing, support
Coming soon:
advanced teams
& permissions,
fleet mgmt
Large apps
(commerce,
events)
1,000’s of
applications
Large teams
(100’s of devs,
stakeholders)
Works with: Replaces: Replaces: Replaces: Partners
with:
Replaces: Replaces:
What
1,000s
of E-commerce, Life Sciences,
Government, Education, Media and
Entertainment, and High Tech customers
$47MM
invested by top-tier international
partners
Platform.sh at a glance
Johnson & Johnson
launches its brands into
new markets worldwide
with confidence and
consistency.
WITH PLATFORM.SH
Arsenal doesn’t worry
about innovating for
their fans - even on
game day.
WITH PLATFORM.SH
Unity serves its
community of innovators
with the performance
they expect.
WITH PLATFORM.SH
Languages
Services
Java
Thank you
Build, run, and
scale your Java
applications
end to end
Otavio Santana
@otaviojava
@platformsh

Build, run, and scale your Java applications end to end

  • 1.
    Build, run, andscale your Java applications end to end Otavio Santana @otaviojava
  • 2.
    Otavio Santana About me Java Champion JCP-EC-EG-EGL ApacheCommitter Eclipse Committer Eclipse Project Leader Book and Blog writer
  • 3.
  • 4.
    Skynet is coming »Software is everywhere » Machine to machine » New business » New approach
  • 5.
    Agile » MVP » Moreinteractions » Person over process » DDD
  • 6.
    Microservices » Deliver quickly »Smaller, more agile » Discrete Services » Scale Independently
  • 7.
    DevOps » Not aJOB » Development practices » More integration » Delivery Fast
  • 8.
    Cloud » Elasticity » Multi-region »No hardware » Fast Delivery
  • 9.
    Jakarta EE » Generations »Eclipse Foundation » Agile » Cloud Native
  • 10.
    Eclipse MicroProfile » Microservices »Eclipse Foundation » Agile » Delivery Fast
  • 11.
    Eclipse MicroProfile » JakartaEE 8 » Security » Fault Tolerance » Much more...
  • 12.
  • 13.
    NoSQL » Database » Doesn'tuse structure » Not Transaction » Base » Five different types
  • 14.
    Key Value » AmazonDynamo »AmazonS3 » Redis » Hazelcast Apollo Ares Aphrodite Sun War Love Beauty
  • 15.
    Column Family » HBase »Cassandra » Clouddata » DynamoDB Apollo Aphrodite Ares Kratos Duty Duty Duty Dead Gods Love, happy Sun War 13 Color weapon Sword Row-key Columns
  • 16.
    Document » ApacheCouchDB » MongoDB »Couchbase { "name":"Diana", "duty":[ "Hunt", "Moon", "Nature" ], "siblings":{ "Apollo":"brother" } }
  • 17.
    Graph » Neo4J » InfoGrid »Sones » HyperGraphDB Apollo Ares Kratos was killed by was killed by killed killed
  • 18.
  • 19.
    Communication Issue ODocument document= new ODocument(“collection”); document.field(name, value); JsonObject jsonObject = JsonObject.create(); jsonObject.put(name, value); BaseDocument baseDocument = new BaseDocument(); baseDocument.addAttribute(name, value); Document document = new Document(); document.append(name, value);
  • 20.
    Communication DocumentEntity entity =DocumentEntity.of("collection"); entity.add(name, value);
  • 21.
    Communication DocumentEntity entity =...; manager.insert(entity); manager.update(entity); List<DocumentEntity> entities = select().from("god") .where("power").eq("hunt").execute(manager); delete().from("god").where("power").eq("hunt").execute(manager);
  • 22.
    Diversity List<ColumnEntity> entities =managerCassandra .cql("select * from greece.good where id=10;"); managerCassandra.insert(entity, ConsistencyLevel.ALL);
  • 23.
  • 24.
  • 25.
  • 26.
    Platform.sh was built onthe 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.
  • 27.
    Deploy anytime (even Fridays) git mergepackages your fully tested build, and our continuous deployment process sends those containers to production. Because every change is being tested on a byte-for-byte clone of your production application, deployments become non-events.
  • 28.
    Deploy anywhere Build and runon AWS, Azure, Google Cloud, Orange, and more—with the same code and configuration. Got fleets of sites? Provision and manage them centrally with the Platform.sh CLI and API. Run your apps in regions around the world.
  • 29.
    Get feedback faster Deliverresults sooner 90% Reduction in DevOps 40% Uplift in developer productivity 15x Faster user acceptance testing 20x More deployments
  • 30.
    Enterprise SLAs and supportyou can count on 99.99%* Up to uptime guarantee 57+ Endpoints in our global CDN 24x 7 Expert support with guaranteed response times 3 Teams focused on your business: Onboarding, Customer Success, Technical Account Management
  • 31.
    A cloud applicationplatform that delivers —from end to end Develop Build Package Deploy Run Manage Scale Git-native 3GL: Python, Node, Golang, Ruby, PHP, Java Serverless without re-architecture Faster dev onboarding Continuous Integration as-a-service Extensible, but simple Infrastructure is composable, versioned MySQL, Postgres, MongoDB, Redis, RabbitMQ, Elastic, Solr, etc. Services are managed, secured by platform.sh Instant clone deployment for every branch Eliminates staging bottlenecks Ensures dev/stage/prod consistency with zero effort Cloud-agnostic: AWS, Azure, Google Cloud and Orange partnerships Up to 99.99% uptime SLA Automatic containerization Partner API: provisioning, billing, support Coming soon: advanced teams & permissions, fleet mgmt Large apps (commerce, events) 1,000’s of applications Large teams (100’s of devs, stakeholders) Works with: Replaces: Replaces: Replaces: Partners with: Replaces: Replaces:
  • 32.
    What 1,000s of E-commerce, LifeSciences, Government, Education, Media and Entertainment, and High Tech customers $47MM invested by top-tier international partners Platform.sh at a glance
  • 33.
    Johnson & Johnson launchesits brands into new markets worldwide with confidence and consistency. WITH PLATFORM.SH
  • 34.
    Arsenal doesn’t worry aboutinnovating for their fans - even on game day. WITH PLATFORM.SH
  • 35.
    Unity serves its communityof innovators with the performance they expect. WITH PLATFORM.SH
  • 36.
  • 37.
  • 38.
  • 39.
    Thank you Build, run,and scale your Java applications end to end Otavio Santana @otaviojava @platformsh