MAIA is a software tool designed to support DevOps practices and to enhance flow, feedback, and control, by cooperating with other existing tools. The concept also creates end-to-end traceability of all activities in the DevOps process.
MAIA makes the invisible knowledge work more visible.
Adopting DevOps development practices requires a new mindset, a culture change and the use of tools – open source tools, commercial, and homegrown tools.
The set of tools to be used are getting more diverse and complex, resulting in an increased heterogeneity with islands of scattered data. The desired end-to-end view of the activities and status in the DevOps flow may become an impossible dream.
One idea behind MAIA Software is to collect small pieces of information from an existing tools network and through aggregation and an internal common data model get the ability to present valuable feedback to the different DevOps stakeholders.
DevOps for IoT & Embedded
Many organizations have been working on its transformation to DevOps for years now and have, especially in the cloud space, reached a high level of maturity. For IoT & embedded it’s another story. Despite the increasing demands for speed and quality, DevOps is still in its early stages.
Developing software for IoT is challenging. For example, to manage the diversity and pace of the different development pipelines and, at the same time, having full control over changes, quality, and security of a multi-platform delivery is a difficult task. Device platform diversity and hardware variants and versions add to further complexity.
MAIA Software is technology agnostic and handles versioning of everything you build, with full traceability on all activities.
Some of the technologies used by MAIA Software.
- Based on a Rails platform.
- WebSockets for real-time data.
- Event messaging through Apache Kafka and Google Protocol Buffers.
MAIA is a web-technology platform with a loose coupling to other systems and services, making it easier to adapt to existing workflows and tools. MAIA has multiple ways of communicating:
- HTTP/WebSockets: regular web browser communication, and the ability to provide real-time data.
- HTTP: requests and updates to other services.
- REST API: a published API is used for remote interaction with the MAIA server.
- Events: streaming of publish-/subscribe messages to update MAIA about new activities and results.