Overview
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.
- Provide a universal JavaScript library for standardized data exchanges.
- 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.
Background
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.
Roadmap
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.0.0] Implement in JavaScript with Docker, leveraging the containerd runtime.
- [2.1.0] Integrate with OpenTelemetry for observability infrastructure as code.
- Refactor JavaScript containers to leverage a shared library for duplicate 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
- GraphQL
- more...
- Add support for Kafka transactions.
- Add support for Kafka connections with SSL.