Shady Minds

Oleksiy Dyagilev on computer science and related ..

Distributed Configuration for SaaS application

Recently I was involved into discussion of SaaS application design. One of the questions was how to manage configuration in large scale SaaS. The rise of clouds, microservices and container virtualization influence approaches used in configuration management. In this article we will look what we can learn from these concepts and how we can apply these lessons in SaaS and other generic distributed systems. In the second part of the article, we will build a PoC of elastic tenant aware application leveraging Zookeeper with 200 lines in Scala.

Spring Data and type-safe API for GigaSpaces XAP

We have developed Spring Data API for GigaSpaces XAP with a number of fancy extensions. Check it out on github


  • make it easy to use in-memory datagrid for those who already have experience with Spring Data APIs such as Spring Data MongoDB, JPA, Redis, etc.
  • significantly reduce the amount of boilerplate code required to implement data access layer
  • reduce the amount of effort in switching from any Spring Data implementation to XAP
  • catch API errors at compile time (type-safe API using QueryDSL)

Keep up with Spark Streaming at in-memory speed using GigaSpaces XAP

Spark Streaming is a popular engine for stream processing and its ability to compute data in memory makes it very attractive. However Spark Streaming is not self-sufficient, it relies on external data source and storage to output computation results. Therefore, in many cases the overall performance is limited by slow external components that are not able to keep up with Spark’s throughput and/or introduce unacceptable latency.

In this article we describe how we use GigaSpaces XAP in-memory datagrid to address this challenge. Code sources are available on github