Cloud or Cloud Computing are terms that have been spread out widely on the IT world these last years, but they can be quite confusing for most people and even for enlightened IT engineer giving a clear definition is not that easy. Simply put, cloud computing delivers services over Internet, with a pay-as-you-use pricing model. Flexible applications can be built on top of this kind of services, i.e. applications that can evolve according for example to its number of users or to the amount of processed data it targets. The cloud is a cost-effective approach to technology because it doesn’t require making usage predictions and capital investments, or over-purchase hardware or software to start delivering an initial modest service that can scale up quite easily afterward.
Cloud application development relies on different notions that can be piled up as several layers interacting with each other. The first aspect upon which all the stack is built is the IaaS layer –Infrastructure as a Service – including all the machines, storage solutions and network configurations making a computing environment. The top layer that all users can see on their local laptop when they connect to a cloud platform is the SaaS layer – Software as a Service – as this layer is made up of all the applications providing the actual thematic services to the end users whether it be for instance displaying a nice map fusing global earth observation data with local sensor data to highlight some correlations or computing high added value indices giving farmer organization information about expected yield by parcel. These applications are not directly deployed on the infrastructure layer. To make things easier for the thematic application providers, an intermediate layer is added, the PaaS – Platform as a Service – providing standardized interfaces and data connectors for the applications to access the cloud resources (computing resources, stored data, external services…). It also provides standardized methods to deploy the applications and standardized procedures to manage them once they are online.
EUXDAT falls fully within this approach as it covers all these aspects. IaaS and PaaS layer are provided by Atos, an international IT company whereas the SaaS layer is taken care of by many consortium partners closer to the agriculture domain.
The main asset that the EUXDAT platform provides to his end user application providers is a simple and efficient way to access a huge amount of data. The platform hosts a data catalogue storing metadata describing thousands of georeferenced products from open-data (Sentinel, Copernicus land monitoring service…) and business sources (meteorological data for instance) providing infinite meaningful information. Application developers on the platform can extract these products and develop rich use-cases by cross-analyzing their own data with this earth observation data.
On the technical aspect, the platform is built on the containerization concept with the Docker technology. By encapsulating each component of the platform and each application on the platform into an independent and self-sufficient container, the platform ensures total freedom for the application developers (they can use whatever language, framework or library they are accustomed to) and an easy portability on the cloud. Kubernetes, a container orchestration technology, is used to manage container life cycle so that the underlying infrastructure become totally transparent.