Otter Roadmap

As a relatively new product, Otter has a long and exciting road ahead. Although the software works great for our users today, we've got a lot of plans to make it even better.

We decide on what changes to make to Otter based on a number of factors, the largest of which is user features requests. If there's anything you think Otter should do — or should do better — please contact us and let us know.

Version 1

The central theme of v1 is disruption. Otter v1 will make your Windows servers a first-class DevOps citizen, and bring visibility of server configuration to everyone in your IT organization, not just those fluent in proprietary, Ruby-based DSLs.

One thing we'll also be working on is content: i.e., extensions and rafts that will provide more operations and integrations with the tools you use. Because Otter has an extensibility/plug-in model, these can be developed side-by-side to the releases of Otter.

Server Packages

  • Server Packages allow Otter users additional insight into servers beyond the scope of simple configuration states. As an example, to view a list of Chocolatey packages or PowerShell DSC modules that are installed on a server, a user would traditionally have to log in to the server or remotely run a command. With the new Server Packages feature, Otter collects these key details and reports them on an easy-to-read screen for any permitted users to view without ever needing to log in to the server itself. Combined with associated Ensure operations, visibility into servers and controlled remediation has never been this easy.
  • This is currently in [draft specification], and is scheduled for Otter 1.6.

Expanding Romp

  • Romp, the standalone command-line tool bundled in Otter, uses the execution engine to execute OtterScript-based configuration and orchestration plans. Currently, it's primarily used to allow for local developing and testing of plans and extensions, but we'd like to expand its use to allow for:
    • Self-contained configuration packages that can be used by installers, desktops, etc
    • Pull-based server configuration disconnected from the central Otter server
    • Test-driven Development strategies for OtterScript
  • This is currently in [draft specification], and is scheduled for Otter 1.6.

Docker Extension

  • Several users are already using Otter to deploy container-based applications, but we'd like to provide a first-class extension that will make this easier. At the heart of the extension will be the 'Ensure-Container' operation, which will ensure that a specific container (perhaps from a ProGet private registry) is a running state on a particular server, and is configured with mounts, networks, and environment variables as expected.

Improved Active Directory / LDAP

  • Organizations with complex, mutli-domain active directory structures often have challenges using our current active directory implementation. We are working on completely rewriting it, along with allowing a fallback option in case loading the extension fails.
  • This is currently available or BuildMaster has a beta extension, please contact us for testing it. Given the complexity and variance in each organization, your assistance in testing is always appreciated (even if you're not using BuildMaster).

Server Pools

  • A server pool would allow a user to define a list of servers, request a single, unused server from that pool, and then release a server back into that pool. This will be implemented as a pair of operations (Acquire-Server and Release-Server).
  • These operations will ship in a maintenance release of Otter.

Templates

  • We will add a new type of asset to BuildMaster called a "template". This will essentially be a text file with user-defined variable macros (i.e. $MyVarName and ${Some-Func}(arg)); an operation can then write that template file to a disk, replacing the variables within the file. These templates can then be used for email messages, configuration files, or any sort of file you would otherwise have to write out.

Containers

  • Although we don't believe that containers are the future for all software across all organizations, they will continue to play in important role in many organizations' application architectures. We are committed to providing tools that enable simple yet powerful workflows for working with containers
  • Otter will configure the container hosts and the surrounding infrastructure

Cloud / PaaS

  • Applications "built for the cloud" (i.e. using a PaaS or "serverless" approach) will be another alternative for organizations.
  • Otter will define, monitor, and deploy the application and cloud infrastructure components

PowerShell and DSC

  • PowerShell is the standard for automating configuration on Windows servers, and while we've certainly embraced it's used throughout BuildMaster, Otter, and ProGet, there's still some room to improve, especially when it comes to PowerShell DSC.
  • We would love to see Otter users be able to use ProGet to host DSC resources, and easily create DSC-based plans from the visual editor.

We don't exactly have a schedule for these, but if you're interested in seeing them sooner, let us know.

  • New Service Messenger
  • New Inedo Agent
  • Manual Intervention

Already Released

  • Otter 1.0 - initial, production-ready release
  • Otter 1.1 - Linux/SSH agents, Git-based Rafts
  • Otter 1.2 - infrastructure export, import, and sync
  • Otter 1.3 - Inedo Den, a community and extension portal
  • Otter 1.4 - Agentless Windows servers, variables improvements, OtterScript features, new APIs
  • Otter 1.5 - List and Map Indexers and New extensions

Version 2

Although Otter v2 is a ways off (2018?), but our vision for the release is to get the core Otter software (i.e. not just agents) installed on Linux machines. We currently have ProGet v4 working quite well as a Docker image, so we'll see how that distribution mechanism plays out before starting on v2.