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 (Raffi Krikorian - VP of Engineering at Twitter)
Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)
Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)Chris Bolman
 

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 (Raffi Krikorian - VP of Engineering at Twitter)
Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)
Timelines at Scale (Raffi Krikorian - VP of Engineering at Twitter)
 

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

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 

Recently uploaded (20)

Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 

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