Amadeus is a leading actor in the Travel Industry. Our e-Commerce division, responsible for providing cross-channels (B2B, B2C, Travel or Airline agents) front-ends, has been developing community applications, self-hosted in a SaaS model, for now more than 10 years; they are multi-tenant, as to share the same infrastructure for all our customers.
We therefore built a highly sophisticated model of physical and logical farms, partitioning the traffic and optimizing resources. We operate 700+ JEE nodes, split in 30+ logical clusters, deployed on less than 10 physical server pools. Today, this infrastructure is delivering a billion dynamic pages per month, for more than 5 million bookings, with a 10 times factor growth expected in the coming years.
Even though thousands of parameters are available to tailor our products to any one particular needs, the recent evolution of the IT Industry towards PAAS ecosystems modified customer expectations: they are now looking for the capability to extend our applications, interact with their own IT, influence our business logic or even graphical interface.
To support this vision, we started developing an extensibility framework, based on scripting technologies. Though being language agnostic, we quickly decided to invest on the Groovy language and rely on JSR 223 to embed it into our applications.
However, transforming a multi-tenant & community SAAS ecosystem into a flexible PAAS environment implies to take up multiple challenges, especially around sandboxing – access & resource control – or productivity and production constraints, such as hot-reloading or instantaneous fallback mechanism.
This presentation will therefore focus on how Groovy and its extensibility mechanisms allow us to progress on these topics, what are the limitations faced due to its dynamicity nature, and how we’re thrilled by the new features coming in next releases.
Nenad Bogojevic is a software architect in Sales and E-commerce Platform division of Amadeus IT Group. For the last 12 or so years, Nenad has been working on a high volume web based travel reservation platform using Java technologies. As a key actor he has been influencing the technical direction of the company's e-commerce platform. Currently, he provides technical guidance for mission critical travel agency application platform with paramount scalability and extensibility requirements. Nenad loves experimenting and whenever time permits, he mashes up a prototype or two to test or prove new technologies. At home, when he needs a dose of geekiness, he constructs robots with his daughters.More About Nenad »