SlideShare a Scribd company logo
1 of 56
Download to read offline
@DebskiChris
#AtmosphereConf
Krzysztof Dębski
Allegro Group
Let’s build a solid base for a scale
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Agenda
The Allegro Situation
How to build a new World?
The way to improve
What’s in it for you?
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
The Allegro Situation
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Allegro
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Allegro
6 million LOC
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
400 people in IT
Allegro
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
A New Hope
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
A New Hope
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
A New Hope
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
A New Hope?
Service
Oriented
Ambiguity
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Domain Driven Design
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
(Micro)Services
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
(Micro)Services
Business needs
Offer
User
Transaction
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
(Micro)Services
Offer
User
Transaction
Independent
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
(Micro)Services
API
Offer
User
Transaction
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
(Micro)Services
Polyglot
Cassandra
MongoDB
Oracle
Offer
User
Transaction
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
(Micro)Services
Smart Endpoints
Cassandra
MongoDB
Oracle
Offer
User
Transaction
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
The first approach
Service
Auto deployable
Monitored
Auto scalable
Auto healable
Auto discoverable
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
How to build a new World?
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
The first project
Gradle
Spring
External Jetty server
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Let’s REST
JAX-RS / JSR Compliant
@Path("/users")
@Consumes(CONTENT_TYPE_JSON)
@Produces(CONTENT_TYPE_JSON)
public class UsersEndpoint {
// [...]
@GET
public UserCollectionResponse findAllUsers() {
//[...]
}
}
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Let’s expose our methods
Swagger
@Path("/users")
@Api(value = "/users")
@Consumes(CONTENT_TYPE_JSON)
@Produces(CONTENT_TYPE_JSON)
public class UsersEndpoint {
// [...]
@ApiOperation(value=“Get all users”,
response=UserCollectionResponse.class)
@GET
public UserCollectionResponse findAllUsers() {
//[...]
}
}
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Let’s expose our methods
Swagger
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
And make them discoverable
Offer
User
Discovery
ZooKeeper	
  
Register	
  
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
And make them discoverable
Offer
User
Discovery
ZooKeeper	
  
Get	
  User	
  
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
And make them discoverable
Offer
User
Discovery
ZooKeeper	
  
Get	
  User	
  
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
And make them discoverable
Offer
User
Discovery
ZooKeeper	
  
Get	
  User	
  
Get	
  offer	
  for	
  user	
  
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Multiple API versions
Header support
public class UserMediaType {
public static final String V1_JSON =
"application/vnd.allegro.user.v1+json”
public static final String V2_JSON =
"application/vnd.allegro.user.v2+json”
}
curl --dump-header - -H ”Accept: application/vnd.allegro.user.v2+json"
-X GET http://localhost:8080/users
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Multiple API versions
Content negotiation
@Path("/users")
@Consumes(AllegroUserMediaType.V1_JSON)
@Produces(AllegroUserMediaType.V1_JSON)
public class UsersEndpoint {
// [...]
@GET
@Produces(AllegroUserMediaType.V2_JSON)
public UserCollectionResponse findAllUsers() {
//[...]
}
}
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
How to configure it?
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
How to configure it?
Zookeper
Environment properties
Command-line options
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
And it became slow
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Lower startup time
External Jetty
Embedded Jetty
Embedded UnderTow
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Easier deployment
Cargo deployment
Built to zip package
On immutable images
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
Tests
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Do you test your tests?
Pitest
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Integration tests
Test without mocks
Run from IDE
public class UsersIntegrationTest {
private static Map<String, String> overrideConfiguration = Maps.newHashMap();
static { overrideConfiguration.put("property.name", "This was overwritten value"); }
@ClassRule
public static final RestServiceStarted DEPLOYED_SERVICE =
new RestServiceStarted(overrideConfiguration);
private WebTarget getUsersResourceWebTarget() {
return DEPLOYED_SERVICE.getWebTarget().path("users");
}
}
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
Monitoring
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Let’s see what happens
LogStash
Kibana
NxLog
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Let’s see what happens
Graphite
# Metrics
metrics.reporters.graphite.enabled=true
metrics.reporters.graphite.host=graphite.service
metrics.reporters.graphite.port=2003
metrics.reporters.graphite.prefix=stats.Prod.service
metrics.reporters.interval=30
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
Monolith Alert
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Monolith Alert
Multi module project support
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
The way to improve
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Authentication
OAuth2
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Patch Support
Standardized by IETF
https://tools.ietf.org/html/rfc6902
PATCH /user/1 HTTP/1.1
Host: user.service.local
Content-Length: 312
Content-Type: application/json-patch+json
[
{”op”: ”test”, ”path”: ”/firstname”, ”value”: ”Jane”},
{”op”: ”add”, ”path”: ”/maidenname”, ”value”: ”Smith”},
{”op”: ”replace”, ”path”: ”/lastname”, ”value”: ”Doe”},
{”op”: ”remove", ”path”: ”/meetings”},
{”op”: ”move”, ”from”: ”/balance”, ”path”: ”sharedbalance”},
{”op”: ”copy”, ”from”: ”/a”, ”path”: ”/b”}
]
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Simplify annotations
Swagger?
@Path("/users")
@Api(value = "/users")
@Consumes(CONTENT_TYPE_JSON)
@Produces(CONTENT_TYPE_JSON)
public class UsersEndpoint {
// [...]
@ApiOperation(value=“Get all users”,
response=UserCollectionResponse.class)
@GET
public UserCollectionResponse findAllUsers() {
//[...]
}
}
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Deployment
Docker support
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
What’s in it for you?
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Use the latest tools
GradleW issue in Continuous Integration
Environment and parent POM issues.
Don’t do DDOS yourself and your partners’
sites.
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Change is the only constant
HTTP Server
Service API provider
Dependency injection engine
Deployment tools
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Focus on right metrics
import org.junit.Test;
import static net.trajano...
public class MediaTypesTest {
@Test
public void mediaTypesShouldBeValidUtilityClasses()
throws Throwable {
assertUtilityClassWellDefined(UserMediaType.class);
}
}
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Tools also lie
Metrics tend to lie
– Default PHP metrics in SonarQube
– Tested file
•  4535 CLOC
•  Whole code written using imperative programming
How many violations are there?
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Tools also lie
How many violations are there?
4
At least according to Sonar
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Learn to REST
REST is not so obvious
/api/bi/XYZ123/1
/recommendations/1/items
/offer/100?output=ESI/JSON
#AtmosphereConf @DebskiChris
Allegro The New World Improvement WIIFY
Community
Involve all developers in building the
Bootstrap.
Or they will build their own tools.
Łukasz Drumiński Mateusz Gajewski
@wendigo
Allegro The New World Improvement WIIFY
#AtmosphereConf @DebskiChris
Q & A

More Related Content

Viewers also liked

The ferry inn stone inn oxney
The ferry inn stone inn oxneyThe ferry inn stone inn oxney
The ferry inn stone inn oxneyFrederick Otto
 
2014-2015 Annual Sustainability Highlights
2014-2015 Annual Sustainability Highlights2014-2015 Annual Sustainability Highlights
2014-2015 Annual Sustainability HighlightsUBC Sustainability
 
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...PT.Jeklindo Persada Consulting 085262245981
 
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PT.Jeklindo Persada Consulting 085262245981
 
Holistic approach towards risk management
Holistic approach towards risk managementHolistic approach towards risk management
Holistic approach towards risk managementPureValueAdvisors
 
FME WT 2014: (NL) Eendenrace
FME WT 2014: (NL) EendenraceFME WT 2014: (NL) Eendenrace
FME WT 2014: (NL) EendenraceGIM_nv
 
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...PT.Jeklindo Persada Consulting 085262245981
 
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PT.Jeklindo Persada Consulting 085262245981
 
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PT.Jeklindo Persada Consulting 085262245981
 
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PT.Jeklindo Persada Consulting 085262245981
 
HOW CHILDREN LEARN: BIRTH TO 6 MONTHS
HOW CHILDREN LEARN: BIRTH TO 6 MONTHSHOW CHILDREN LEARN: BIRTH TO 6 MONTHS
HOW CHILDREN LEARN: BIRTH TO 6 MONTHSLizbethNataly
 

Viewers also liked (20)

PENGURUSAN IJIN PERUSAHAAN ( PT.JEKLINDO PERSADA ) HUB: 085262245981
PENGURUSAN IJIN PERUSAHAAN ( PT.JEKLINDO PERSADA ) HUB: 085262245981PENGURUSAN IJIN PERUSAHAAN ( PT.JEKLINDO PERSADA ) HUB: 085262245981
PENGURUSAN IJIN PERUSAHAAN ( PT.JEKLINDO PERSADA ) HUB: 085262245981
 
PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
 
The ferry inn stone inn oxney
The ferry inn stone inn oxneyThe ferry inn stone inn oxney
The ferry inn stone inn oxney
 
PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
 
PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
PT.JEKLINDO PERSADA JASA PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
 
PT. JEKLINDO PERSADA (085262245981) PENGURUSAN IJIN DOKUMEN PERUSAHAAN
PT. JEKLINDO PERSADA (085262245981) PENGURUSAN IJIN DOKUMEN PERUSAHAANPT. JEKLINDO PERSADA (085262245981) PENGURUSAN IJIN DOKUMEN PERUSAHAAN
PT. JEKLINDO PERSADA (085262245981) PENGURUSAN IJIN DOKUMEN PERUSAHAAN
 
Linkedin Presentation ER
Linkedin Presentation ERLinkedin Presentation ER
Linkedin Presentation ER
 
PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
 
2014-2015 Annual Sustainability Highlights
2014-2015 Annual Sustainability Highlights2014-2015 Annual Sustainability Highlights
2014-2015 Annual Sustainability Highlights
 
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...
 
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
 
PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
PENGURUSAN IZIN DOKUMEN PERUSAHAAN ( 085262245981)
 
Holistic approach towards risk management
Holistic approach towards risk managementHolistic approach towards risk management
Holistic approach towards risk management
 
FME WT 2014: (NL) Eendenrace
FME WT 2014: (NL) EendenraceFME WT 2014: (NL) Eendenrace
FME WT 2014: (NL) Eendenrace
 
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...
BIRO JASA CONSULTING PT.JEKLINDO PERSADA (CEPAT, MURAH DAN TERJAMIN) O8526224...
 
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
 
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
 
Heroes of Ukraine
Heroes of UkraineHeroes of Ukraine
Heroes of Ukraine
 
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
PENGURUSAN IZIN DOKUMEN PERUSAHAAN PT. JEKLINDO CONSULTING - 085262245981 ( M...
 
HOW CHILDREN LEARN: BIRTH TO 6 MONTHS
HOW CHILDREN LEARN: BIRTH TO 6 MONTHSHOW CHILDREN LEARN: BIRTH TO 6 MONTHS
HOW CHILDREN LEARN: BIRTH TO 6 MONTHS
 

Similar to AtmosphereConf - Let's build a solid base for a scale

A REST Layer on Top of the World - IPC13 Munich
A REST Layer on Top of the World - IPC13 MunichA REST Layer on Top of the World - IPC13 Munich
A REST Layer on Top of the World - IPC13 MunichNicolas Pastorino
 
33degree Krzysztof Debski - Let's build a solid base for a scale
33degree Krzysztof Debski - Let's build a solid base for a scale33degree Krzysztof Debski - Let's build a solid base for a scale
33degree Krzysztof Debski - Let's build a solid base for a scaleKrzysztof Debski
 
Designing a beautiful REST json api
Designing a beautiful REST json apiDesigning a beautiful REST json api
Designing a beautiful REST json api0x07de
 
Containerizing a REST API and Deploying to Kubernetes
Containerizing a REST API and Deploying to KubernetesContainerizing a REST API and Deploying to Kubernetes
Containerizing a REST API and Deploying to KubernetesAshley Roach
 
Testing API platform with Behat BDD tests
Testing API platform with Behat BDD testsTesting API platform with Behat BDD tests
Testing API platform with Behat BDD testsStefan Adolf
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPressTaylor Lovett
 
Building Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScriptBuilding Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScript3scale
 
Server Side Swift
Server Side SwiftServer Side Swift
Server Side SwiftChad Moone
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPressTaylor Lovett
 
Introduction to REST and Hypermedia
Introduction to REST and HypermediaIntroduction to REST and Hypermedia
Introduction to REST and HypermediaNordic APIs
 
Deploying Next Gen Systems with Zero Downtime
Deploying Next Gen Systems with Zero DowntimeDeploying Next Gen Systems with Zero Downtime
Deploying Next Gen Systems with Zero DowntimeTwilio Inc
 
OpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBossOpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBossEric D. Schabell
 
The REST And Then Some
The REST And Then SomeThe REST And Then Some
The REST And Then SomeNordic APIs
 
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the CloudPHP and Platform Independance in the Cloud
PHP and Platform Independance in the CloudZendCon
 
Consul ou comment bien tirer sur l’élastique
 Consul ou comment bien tirer sur l’élastique Consul ou comment bien tirer sur l’élastique
Consul ou comment bien tirer sur l’élastiqueNicolas Ledez
 
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기Heejong Ahn
 
Anatomy of Open edX at DjangoCon 2018 (San Diego)
Anatomy of Open edX at DjangoCon 2018 (San Diego)Anatomy of Open edX at DjangoCon 2018 (San Diego)
Anatomy of Open edX at DjangoCon 2018 (San Diego)Nate Aune
 
Timelines at scale
Timelines at scaleTimelines at scale
Timelines at scaleViet Nt
 

Similar to AtmosphereConf - Let's build a solid base for a scale (20)

A REST Layer on Top of the World - IPC13 Munich
A REST Layer on Top of the World - IPC13 MunichA REST Layer on Top of the World - IPC13 Munich
A REST Layer on Top of the World - IPC13 Munich
 
33degree Krzysztof Debski - Let's build a solid base for a scale
33degree Krzysztof Debski - Let's build a solid base for a scale33degree Krzysztof Debski - Let's build a solid base for a scale
33degree Krzysztof Debski - Let's build a solid base for a scale
 
Designing a beautiful REST json api
Designing a beautiful REST json apiDesigning a beautiful REST json api
Designing a beautiful REST json api
 
Containerizing a REST API and Deploying to Kubernetes
Containerizing a REST API and Deploying to KubernetesContainerizing a REST API and Deploying to Kubernetes
Containerizing a REST API and Deploying to Kubernetes
 
Testing API platform with Behat BDD tests
Testing API platform with Behat BDD testsTesting API platform with Behat BDD tests
Testing API platform with Behat BDD tests
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPress
 
Building Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScriptBuilding Hypermedia APIs in JavaScript
Building Hypermedia APIs in JavaScript
 
Server Side Swift
Server Side SwiftServer Side Swift
Server Side Swift
 
JSON REST API for WordPress
JSON REST API for WordPressJSON REST API for WordPress
JSON REST API for WordPress
 
Introduction to REST and Hypermedia
Introduction to REST and HypermediaIntroduction to REST and Hypermedia
Introduction to REST and Hypermedia
 
An API Your Parents Would Be Proud Of
An API Your Parents Would Be Proud OfAn API Your Parents Would Be Proud Of
An API Your Parents Would Be Proud Of
 
Deploying Next Gen Systems with Zero Downtime
Deploying Next Gen Systems with Zero DowntimeDeploying Next Gen Systems with Zero Downtime
Deploying Next Gen Systems with Zero Downtime
 
OpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBossOpenShift State of the Union, brought to you by JBoss
OpenShift State of the Union, brought to you by JBoss
 
The REST And Then Some
The REST And Then SomeThe REST And Then Some
The REST And Then Some
 
PHP and Platform Independance in the Cloud
PHP and Platform Independance in the CloudPHP and Platform Independance in the Cloud
PHP and Platform Independance in the Cloud
 
Yahoo is open to developers
Yahoo is open to developersYahoo is open to developers
Yahoo is open to developers
 
Consul ou comment bien tirer sur l’élastique
 Consul ou comment bien tirer sur l’élastique Consul ou comment bien tirer sur l’élastique
Consul ou comment bien tirer sur l’élastique
 
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기
TypeScript와 Flow: 
자바스크립트 개발에 정적 타이핑 도입하기
 
Anatomy of Open edX at DjangoCon 2018 (San Diego)
Anatomy of Open edX at DjangoCon 2018 (San Diego)Anatomy of Open edX at DjangoCon 2018 (San Diego)
Anatomy of Open edX at DjangoCon 2018 (San Diego)
 
Timelines at scale
Timelines at scaleTimelines at scale
Timelines at scale
 

More from Krzysztof Debski

Architektura w szybko zmieniających się organizacjach
Architektura w szybko zmieniających się organizacjachArchitektura w szybko zmieniających się organizacjach
Architektura w szybko zmieniających się organizacjachKrzysztof Debski
 
Devopsdays.pl 2015 krzysztof_debski (2)
Devopsdays.pl 2015 krzysztof_debski (2)Devopsdays.pl 2015 krzysztof_debski (2)
Devopsdays.pl 2015 krzysztof_debski (2)Krzysztof Debski
 
Geecon.cz 2015 debski krzysztof
Geecon.cz 2015 debski krzysztofGeecon.cz 2015 debski krzysztof
Geecon.cz 2015 debski krzysztofKrzysztof Debski
 
Java zone 2015 How to make life with kafka easier.
Java zone 2015 How to make life with kafka easier.Java zone 2015 How to make life with kafka easier.
Java zone 2015 How to make life with kafka easier.Krzysztof Debski
 
Centralized or decentralized architecture?
Centralized or decentralized architecture?Centralized or decentralized architecture?
Centralized or decentralized architecture?Krzysztof Debski
 
PubSub++ - Atmosphere 2015
PubSub++ - Atmosphere 2015PubSub++ - Atmosphere 2015
PubSub++ - Atmosphere 2015Krzysztof Debski
 
Technical Product Owner or How to build technical backing for services
Technical Product Owner or How to build technical backing for servicesTechnical Product Owner or How to build technical backing for services
Technical Product Owner or How to build technical backing for servicesKrzysztof Debski
 

More from Krzysztof Debski (8)

Architektura w szybko zmieniających się organizacjach
Architektura w szybko zmieniających się organizacjachArchitektura w szybko zmieniających się organizacjach
Architektura w szybko zmieniających się organizacjach
 
Devopsdays.pl 2015 krzysztof_debski (2)
Devopsdays.pl 2015 krzysztof_debski (2)Devopsdays.pl 2015 krzysztof_debski (2)
Devopsdays.pl 2015 krzysztof_debski (2)
 
Geecon.cz 2015 debski krzysztof
Geecon.cz 2015 debski krzysztofGeecon.cz 2015 debski krzysztof
Geecon.cz 2015 debski krzysztof
 
Java zone 2015 How to make life with kafka easier.
Java zone 2015 How to make life with kafka easier.Java zone 2015 How to make life with kafka easier.
Java zone 2015 How to make life with kafka easier.
 
Centralized or decentralized architecture?
Centralized or decentralized architecture?Centralized or decentralized architecture?
Centralized or decentralized architecture?
 
Open your project
Open your project Open your project
Open your project
 
PubSub++ - Atmosphere 2015
PubSub++ - Atmosphere 2015PubSub++ - Atmosphere 2015
PubSub++ - Atmosphere 2015
 
Technical Product Owner or How to build technical backing for services
Technical Product Owner or How to build technical backing for servicesTechnical Product Owner or How to build technical backing for services
Technical Product Owner or How to build technical backing for services
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
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
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Recently uploaded (20)

The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
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
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
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
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

AtmosphereConf - Let's build a solid base for a scale