You have questions? We have answers.
EmbedOps is a DevOps orchestration platform specifically designed to manage workflows for teams of embedded developers. It includes a web interface for monitoring performance of the development process, and a centrally-maintained developer environment that is always up-to-date.
When paired with a CI system, EmbedOps enables embedded teams to create and maintain consistent build and test environments. By integrating directly with your automated CI pipelines, EmbedOps allows any developer to locally run any step of the production CI pipeline exactly as it would be run on the CI server.
For embedded development teams, CI makes firmware development faster and easier while also mitigating risks. Automated builds and tests enable developers to make smaller incremental changes and commit them with greater confidence. Developers can swiftly get feedback on their code and the speed of development cycles increase. For some organizations, this provides a competitive advantage, while for others, CI enables teams to consistently meet deadlines.
You don't need to have a CI system already in place. In fact, if you're considering getting started with CI, pairing with EmbedOps will make it much easier to set up and launch.
Before Dojo Five was born, key team members did pioneering work on local CI solutions to organize and automate workflows across widely distributed teams. That led to utilizing Jenkins and experiencing first-hand Jenkins' pitfalls for teams, its shortcomings for embedded development, and the costs (both direct and indirect) to building and maintaining Jenkins' "free" solution. Fast forward to today, and we’re living and and breathing our mission to modernize embedded development. Selfishly, we produced EmbedOps as a versatile tool to make our workflows more reliable. Unselfishly, we now make EmbedOps available to help other teams meet deadlines, achieve quality goals, and confidently release new firmware.
EmbedOps is designed to be tool-agnostic. Therefore, while we most commonly integrate with GitLab, GitHub, and Bitbucket, we can readily configure EmbedOps to work with virtually any of the CI systems used by embedded development teams today.
While many DevOps teams today have embraced cloud-based CI, we recognize that immediate migration isn't practical for all embedded teams. If there are specific requirements to self-host elements of the CI system, we have experience configuring local runners to manage cloud-based pipelines and achieve the benefits of EmbedOps' orchestration functions.
While it is able to be integrated with a local CI system (see above), EmbedOps is exclusively cloud-based.
Deploying Jenkins for teams is hard - and maintaining that system becomes increasingly difficult and risky. Utilizing Jenkins requires vigilant administration, frequent updates to maintain security, and reliance on unknown - and unaccountable - third-parties to properly keep mission-critical plugins operating. In short, Jenkins is a tool that presents a number of challenges and difficulties for embedded teams. For teams of embedded developers, we recommend pairing EmbedOps with a full-featured, reasonably-priced, cloud-based CI system.
Teams that have automated their build process for use with Jenkins are poised to move to a cloud-based CI system. EmbedOps facilitates your move to cloud-based CI systems with standard development environments and pipeline templates.
Dojo Five’s system interfaces with customer environments via three controlled access points:
- A backend API, secured with TLS 1.3 over HTTPS
- A web interface, secured with Auth0 user authentication and authorization
- A docker registry, secured with a unique per-customer token
The system has been architected so that client source code / IP never is stored at-rest in Dojo Five’s servers. Metadata, such as build information, logs, telemetry is stored in the backend database in order to provide dashboard functionality. This data is segregated from other customers via our backend API and database structure.
Learn more in our EmbedOps Security Brief.
In order to provide continuous service, Dojo Five requires access to the customer's CI system. Each EmbedOps customer has a primary technical contact and a primary IT contact we work with to manage system status updates, planned outages, or issues with remote connectivity.
In addition to setting up and maintaining your environment, EmbedOps includes:
- Customizing containers for your specific needs.
- Customizing integrations to CI systems.
- Integration with testing frameworks.
- Training for your team to utilize the tools and features EmbedOps brings to your workflow.
- Dojo Five provides on-call support according to the terms of our SLA, negotiated with each contract, in order to support and maintain each EmbedOps implementation.
Individual users are invited to EmbedOps by email to their organization on https://app.embedops.io. Their EmbedOps account provides access to the web interface for monitoring performance of the development process and the centrally-maintained developer environments.
EmbedOps provides superior visibility into build metrics relevant to embedded developers. The reporting interface helps alleviate project risks by helping developers with memory planning and tracking usage over time. In addition to the visibility it provides, EmbedOps helps your teams reduce firmware development cycles, gaining feedback on code faster and enabling more frequent commits.
A typical set up from onboarding to time to first build is 2 weeks.
Dojo Five provides clients with a software license to use the EmbedOps environment on a monthly or yearly basis.
A typical implementation includes a one-time setup fee that includes
- CI system
- Compiler integration
- Unit testing framework
- Build automation
- Observability tools
There may be an additional charge for advanced features, such as hardware-in-the-loop (HIL) or severe customizations to the build environment.
EmbedOps is licensed on a monthly or yearly basis and includes all on-going updates to the web interface and developer environments.
We recommend and support Google Test and Ceedling, but can provide support for a number of other popular frameworks as well.
Read more about our approach to Unit Testing in Embedded Development.
Dojo Five is eager to help any embedded development team that seeks to modernize their CI processes. Contact us today to begin discovering how we can help you.
Dojo Five has plenty of CI expertise to share - and our aim is to help you achieve the benefits of CI without needing to dedicate your internal resources to developing and maintaining CI-specific knowledge.
No full-time administrators are needed. Each EmbedOps customer has a primary technical contact and a primary IT contact we work with to manage system status updates, planned outages, or issues with remote connectivity. Our goal is to take care of your build system so you can focus your effort on product development.
The EmbedOps CLI is a command-line interface that is built on Python and enables simple interactions with the build environment. The EmbedOps web interface provides visibility into build status and key performance metrics.
While EmbedOps is designed to meet the unique needs of firmware development teams, individual developers can still achieve the benefits of consistent build and test environments along with fast feedback on changes.
There are a plethora of tools that cater to web and mobile development teams. With EmbedOps, Dojo Five delivers powerful features and functionality specifically for embedded development teams.
EmbedOps provides a containerized system designed for all of your build dependencies including compilers, testing frameworks, and code quality tools. These containers enable you to construct or reproduce development environments quickly and reliably.
While Docker is a popular containerization tool widely used for development and application runtime environments, we recognize that relatively few organizations have in-house expertise. We deliver this expertise so you don't need to invest your team's time and resources. When implementing EmbedOps, Dojo Five provides pre-built containers through our Docker registry and we continue to add new containers, continually expanding our foundation of supported compilation, code quality, and testing environments.
We have experience moving IAR Embedded Workbench builds to cloud-based CI using IAR Build Tools for Arm (bxarm).