Cloud Native systems development
We develop high-scale, Cloud Native Enterprise systems, using modern technologies.
Kubernetes Serverless Framework
This is a self-contained, API-driven system for the execution of independent snippets of code (
"Capsules") activated by a set of pre-determined
"Triggers", upon the occurrence of
The architecture is event-based, and microservices do not directly communicate via synchronous APIs, but rather publish
Events to the stream, as well as consuming them.
This is deployed on a Kubernetes cluster, that will manage all compute, storage and network resources .
A Permission mechanism will enable tight control of security access such that only authorized Actors will be able to install Capsules; define Triggers; and generate Events.
Open Policy Agent Integration
This Java library enables transparent integration with JSON Web Tokens (JWT) authentication and authorization via an Open Policy Agent server; it also provides a blueprint to inject OPA authorization in a Spring Security Reactive (WebFlux) application.
This library aims at simplifying the ability for an application/service to:
- clearly separate authentication from authorization;
- easily adopt JWTs (API Tokens) as a means of authentication;
- simplify integration with OPA for authorization.
Ultimately, by keeping the authorization logic (embedded in Rego policies) separate from the business logic (carried out by the application's
REST Controllers) this library makes it easier to achieve separation of concerns.
C++ Distributed Systems Libraries
This is a collection of C++ advanced building blocks to implement distributed systems; they are mostly meant to learn about advanced algorithms, or modern C++ (up to C++17, currently) features.
- A Merkle Tree implementation (similar to what is used in the Blockchain);
- Consistent Hashing, as used in Cassandra, and other popular distributed, highly scalable data stores;
- A thread-safe, partitioned Key Value Store, using Consistent Hash;
- An implementation of the Gossip Protocol.
To complement and support the above, we have also developed a C++ REST API framework and a command-line Argument Parser