Hiveio is a reactive, cloud-native framework meant to foster and support lightweight, atomic microservices from a project's inception onward. It consists of a small library of classes that provide the basic building blocks to interface with a small collection of containers, from straightforward RESTful services to specialized CQRS/ES services. The core tenets of this project are:
- Provide a framework of standard patterns to foster the creation and evolution of a cloud application.
- Define a clear separation between domain logic and infrastructure.
- Minimize opinions in the framework to support a variety of needs.
- Integrate with other cloud-native initiatives.
Hiveio provides flexibility and simplicity to promote rapid development with a focus on domain logic. Each part has clearly defined responsibilities and interfaces with respect to their counterparts.
This project is the culmination of my past experiences to improve upon existing technologies and techniques for enterprise architecture. The thought first came to me when I was exposed to distributed architecture in a production environment. The timing of this exposure was perfectly aligned with the release of Docker. While migrating my knowledge from VMs to containers, I started to deep dive into other technologies and techniques to bring the idea to life. Over the course of this journey, I've been able to implement a fully functional solution in this space. Once the concept was proven in v1, I immediately started planning for the version you see today. We are proud to present to you Hiveio.
Below is a high level roadmap for the project that is roughly in priority order (but may be subject to change):
- [2.0.0] Implement Model JSON serialization solution backed by the JSON Schema specification.
- [2.1.0] Integrate with OpenTelemetry for observability infrastructure as code.
- Expand support for recent drafts of the JSON Schema specification.
- Implement in Python for better cross-pollenation with PySpark and other related solutions.
- Create more standardized containers for different architectural needs:
- other data serialization solutions, Protobuf and Thrift
- Add support for Kafka transactions.
- Add support for Kafka connections with SSL.