PackagingCon

Package Management for DevOps
2021-11-10 , Room 4

Multi-cloud and microservices are making us redefine the meaning of a "package." Modern applications span languages, operating systems, networks, and machines. To deploy a whole service, you need binaries, configuration files, environment variables, host metadata, and services must be connected and secured at runtime. For a developer, it becomes a best practice to save the entire runtime of a service as deployment configuration in version control. Deployment configurations, combined with powerful workload orchestrators, make it easy to guarantee reproducible runtime, but managing these configurations with version control and open-source dependencies starts to resemble package management. For system operators, ensuring that the computing clusters have relevant software packages installed for successful deployments can also be a challenge, as the application package landscape changes rapidly and manual provisioning slows development.

To make it easier for developers and operators to embrace DevOps, we built a package manager for deployments running on Nomad, a distributed workload orchestrator. This talk will cover a range of topics related to package management and DevOps workflows, including the best practices we learned while building a package manager to guide users on their journey to multi-cloud.


This talk will cover a range of topics related to package management and DevOps workflows including:
- versioning for the cloud
- monorepo versus multisource
- building a package ecosystem
- metaprogramming and dependency injection
- DevOps best practices

Nomad is a distributed workload orchestrator built at HashiCorp. Nomad is a unique orchestrator because it is workload-agnostic, which means it can run many different types of runtime artifacts on your clusters. It can run any workload that is supported as a Nomad task driver, including Java JARs, QEMU virtual machines, Firecracker microvms, or any raw executable binary. It is also system-aware with Nomad device plugins, allowing you to run your workloads on machines with available devices such as GPUs.

Jasmine is a software engineer at HashiCorp. She is an operating systems enthusiast and an avid fan of kitty café themed games.