Version 12

    What is it?

    R&D lab at FI Masaryk's University is a dedicated room and an education program that aims for helping student to start with open-source development. The lab runs multiple parallel projects and each project has assigned a tutor. A tutor will be available at selected time/windows in dedicated room and will define the tasks for students to work on and provide technical and personal leadership for them in case they need it. It is expected that the students might receive a stipend depending on the quality and results of their work.

     

    How to get involved?

    The start is easy

    • Choose the project you are interested in
    • Contact the tutor responsible for running project
    • Jump to work

     

    Topics/Projects

    Resilience testing with Chaos Monkey (Jiří Pechanec - jpechane@redhat.com)

    Simian Army is a cloud testing tool developed and used in Netflix. Current iteration is extensible but only integration with Amazon Web Services exists.  Kubernetes by Google is emerging as a de-facto standard for management of Linux containers.

    The objective of this project is to

    • provide integration point between Simian Army and Kubernetes
    • design generic model for other Monkeys to be usable with non-Amazon clouds
    • write new Monkeys to test Kubernetes and OpensShift 3 specific resources

     

    PerfCake - A Lightweight Performance Testing Framework (Martin Večeřa - mvecera@redhat.com)

    PerfCake is a lightweight performance testing tool and a load generator with the aim to be minimalistic, easy to use, provide stable results, have minimum influence on the measured system, be platform independent, use component design, allow high throughput.

    Just give it a try and soon you'll be lovin' it!


    SilverWare - Enterprise ready, minimalistic, easy to use Microservices implementation (Martin Večeřa - mvecera@redhat.com)

    SilverWare is a minimalistic, yet powerful, and easy-to-use implemetation of the Microservices paradigm and practices.

    SilwerWare builds on top of existing technologies and frameworks you are familiar with: REST, CDI (Weld), Camel, Vert.x, NoSQL, ActiveMQ, Amazon SQS, Hystrix. You can immediately deploy any of your existing services written in those frameworks with SilverWare. Or you can start developing new services in a language of your taste including Java, Jython, jRuby, Scala, Ceylon, Kolin, Clojure...

    SilverWare is modularized, highy configurable and container-free. Your deployments only carry the minimum code to run independently.

    Start creating the Internet of Things today!

     

    Infinispan OData Server (Tomáš Sýkora - tsykora@redhat.com)

     

    Infinispan is an extremely scalable, highly available key/value data store and data grid platform. It is 100% open source, and written in Java. The purpose of Infinispan is to expose a data structure that is distributed, highly concurrent and designed ground-up to make the most of modern multi-processor and multi-core architectures. It is often used as a distributed cache, but also as a NoSQL key/value store or object database.

     

    There already exists a proof of concept for Infinispan OData server and JSON documents querying (for more information see tsykora's blog post).

     

    Unfortunately, that solution uses odata4j libraries that became outdated as time goes by and community seems to be inactive. We decided to migrate our solution to Apache Olingo where community is very active and the project is still evolving recently.

     

    The objectives of this project are to

     

    * Design new Infinispan OData server

    * Implement solution using Apache Olingo framework

    * Provide support for OData queries

    * Provide support for querying JSON documents

    * Extend querying possibilities (far beyond the proof of concept project)

    * Implementation has to be "fast enough" (it's a cache, don't forget about that)

     

    You can expect to get in touch mainly with: Java, Middleware, Servers, Document querying, Performance testing, Profiling servers and Agile development

     

    Infinispan Management Web Console + UI for network messages tracking (Tomáš Sýkora - tsykora@redhat.com)

     

    Infinispan is a caching and data grid solution -- it means that there can be thousands of servers connected into one cluster. Infinispan Management Console provides overview and capabilities that helps administrators and users with monitoring servers, with operations, with configuration and much more.

     

    The fresh project needs active community to be involved in development and provides UI full of features helping with management of clustered deployments.

     

    You can expect to get in touch mainly with: AngularJS + JavaScript + Other web technologies for front end! + agile development.

     

    Sub-project: UI for network messages tracking

     

    Infinispan uses JGroups protocol for internal communication between servers. It is very hard to spot bugs and other network related problems in huge text logs (Terabytes of plain text). Therefore, our intention is to provide new tool that can be used by users and developers! for spotting issues and regressions immediately while operating and testing with Infinispan cluster.

     

    The objectives of this project are to:

     

    * Provide graphical representation of network communication between Infinispan nodes

      -- But not only Infinispan nodes -- we can go for other "targets" in the future

    * Provide mechanism how to spot regression and issues more easily

    * Provide historical records of network communication in a graphical way

    * Design convenient UI

    * Deal with performance issues effectively (monitoring of a big cluster can be very resource demanding)

    * Prepare Infinispan and/or JGroups for monitoring from our Web Console

     

    circle1.png circle_sender.pngreceiver_circle.png

    See how it could possibly look like in the future. We can very easily see that Server 15 (S 15 -- red color) is the main sender. It sends a lots of data to other nodes. Pipes are going from S15 to other servers. On the other hand Server 16 (S 16 -- turquoise color) is the main receiver, it is mainly receiving data from other servers in the cluster.