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 "Events"
.
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.
They include:
- 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