In basically every modern software organization, building software is not just a matter of writing code – it’s a matter of testing it to ensure it works properly, a matter of creating artifacts out of it that can be used by the end customers, and a matter of deploying them to a customer-accessible location for these customers to be able to actually use it.
As the number of possible languages, runtimes, and deployment options exploded in recent years, it became difficult to manage all the different components that exist in our system. You are required to use different tools to orchestrate, deploy and later on maintain each type of application – a serverless Node function on AWS Lambda, a non-containerized Java application, and a bare-metal server running a Django app are all very different from one another in their topology and the tooling available around them.
Controlling all your system components at scale might prove to be a difficult task to handle, especially due to the unique nature of each of the moving parts – it often requires specialized knowledge of each of the underlying platforms that not all DevOps or service-owning Developers possess. When the inevitable incident comes up, it can take a long while to untangle what exactly happened in the system.
Nomad by Hashicorp is a new kind of workflow orchestrator, one that cares little about the underlying platform of the applications it orchestrates. Unlike other popular orchestrators – Kubernetes chief among them – a Nomad Task does not have to be containerized.
In fact, Nomad Tasks are completely agnostic to the underlying platform by relying on the concept of Task Drivers – core pieces of Nomad that can execute any type of application, provided them in any type of packaging – Docker containers, JVM-based JAR applications, Serverless functions, simple bash scripts and much more.
Lightrun is proud to announce that developers can now debug live, running Nomad-based applications using a native HashiCorp Nomad Lightrun Task Driver. The driver will automatically add Lightrun to a running HashiCorp Nomad task, allowing your developers to add new real-time logs, metrics, and traces to production applications, where none were before – all without redeploying, restarting, or even stopping the running tasks.
Lightrun Actions (Logs, Snapshots, and Metrics) can be added from the IDE or the CLI to any Nomad Task, and then consumed right inside the same context – without ever switching contexts or going through the entire CI/CD pipeline just to get extra visibility into your running applications.
In addition, Lightrun is integrated into the developer workflow and offers integrations with leading APMs, log analysis platforms, and other observability vendors, including Elastic, New Relic, and Datadog – all in order to allow the seamless integration of your Nomad Task logs and the new Lightrun logs that were added in real time.
Lightrun Actions are read-only and protected by the proprietary Lightrun Sandbox, allowing for a safe and performant way to instrument logs, snapshots, and metrics into production. All invocations are checked to ensure no side effects happen, and a rate-limiting mechanism is in place to ensure the logs remain performant over time – even when the machine is under a lot of stress.
While Nomad removes the need to “containerize all the things” with a sane, easy to use and powerful platform for orchestrating any type of application, Lightrun replaces the iterative, non-agile process required to understand how these applications work with a developer-native, fast, and intuitive debugging workflow.
If you want to learn more, you should check out the Lightrun Driver docs or tune in to one of our R&D team leads, Itai, who just gave a talk about the new Nomad Lightrun Driver in a recent HashiTalks session.