airline, similar to Ryan Air / Wizzair / EasyJet ✓ clever strategy of using airports, so that they don’t have a direct competition on 90% of their routes ✓ use their own reservation system (no GDS) ✓ selling models: website, call-centre Customer 3
end-user to purchase a full travel experience based on the destination, not just cheap plane tickets ▸ flexibility ▸ scalability ▸ be in front of the competition by withstanding the Black Friday + Cyber Monday test ▸ move at the speed of a greenfield project even if the business is up and running 5
full setup of servers that run each application component and deliver the end-to-end functionality ✓ frontend (Drupal, Javascript SPAs) ✓ backend (Symfony services) ✓ cache What is a silo 14
contracts before doing actual coding ▸ helps eliminate certain problems by having them discussed in advance ▸ allows developers to work independently and run all the stack on their machine ▸ each component is independently tested Fixture-based development 25
code 204 ▸ success code ▸ Content-Length: 0 ▸ the backend acknowledges the request and will carry on ▸ the client can continue processing The 204 trick 31
public function closeConnection(Request $request) { $response = new StreamedResponse(); $response->setStatusCode(204); $response->headers->add(array('Connection' => 'close')); $c = function () { /* do nothing */ }; $response->setCallback($c); // needs to be a valid PHP callable $response->prepare($request); // ensure compliancy with HTTP specification $response->send(); return $response; } 35
does not impact application performance ▸ logs are searchable ▸ logs tell the story of a user’s journey ▸ greatly help debugging Event logging system 36