JFrog Mission Control, we have lift-off!

It’s not every day we get to announce a brand new product, so we’re really excited with our first release of JFrog Mission Control. Why did we build Mission Control? Because it’s in the spirit of our long tradition of listening to our community. With more and more enterprises setting up more and more clusters of Artifactory in every corner of the world, we understood the difficulties that DevOps managers face every day having to administer many Artifactory instances at a time.

So what is Mission Control in a nutshell?

Aptly named, Mission Control is a command and control center. It gives you full control over all your Artifactory instances activated with an Enterprise license, and real-time visibility into how your organization develops, distributes and consumes software packages around the world. Effectively, Mission Control is the only application that stops your organization from getting bogged down with “configuritis” as you scale up to thousands of engineers in multiple teams around the world. Our vision for Mission Control is that it should fill a critical need that DevOps and developers have for a single integrated view of their core systems.

A centralized dashboard for viewing and monitoring Enterprise instances

MCHome

You understand the importance of your mission critical binary assets and need your repositories to serve hundreds (if not thousands) of developers. So you invested resources to get Enterprise licenses and set up Artifactory in a High Availability configuration. But now you need to keep your eye on those instances and make sure they all continue to run smoothly. Maybe you are used to logging into the Master of each Artifactory cluster in a separate window, and then arranging all the windows on a big screen. Or maybe you have each one displayed on a separate screen. Well now, Mission Control shows you general system health of all your Artifactory Enterprise instances in one convenient dashboard. At a glance, you can see which are online or (horror!) which are down. With a single click, you drill down into any offline instances and investigate what happened.

Let’s get into some Role play

You can all imagine the drudgery of repeating the same action over and over again because you need to match up the configuration of all the different Artifactory installations in your data centers around the world. You need to create a similar set of Artifactory instances with a similar set of LDAP settings and LDAP groups. Then create a similar set of users, with a similar set of permissions for a similar set of repositories and on and on…you get the picture. So, of course, you don’t do it manually, you have scripts that use Artifactory REST APIs to do all that. But those scripts are not trivial, you may not have a good indication of whether they worked or not, and they also don’t travel very well between all the different sites your company has. This is where Mission Control “Roles” come into play.

You can think of a role as an action you want to repeat several times. Roles are written in a Groovy-based DSL, so they are easy to use and flexible.You can use roles to create a single repository or a complex setup of multipush configuration. For example, you might have a role that creates a local repository called “docker-local” to which developers should upload local Docker images. Here’s the simple role that does that:

localRepository("docker-local") {
  packageType "docker"
  description "My local Docker registry"
}

The simple efficiency of reusability

Another great thing about roles is that they are reusable. Remember all those actions you either had to repeat with multiple clicks on different Artifactory instances, or those complex scripts that use the REST API? Well, with Mission Control, you just select a set of roles, select which instances to apply them to, and Mission Control does the rest.

MCApplyRolesBlog

Rock ‘n’ Role

Roles are at the heart of Mission Control for three reasons:

Automation: They let you automate configuration tasks preventing the need for repetitive and error-prone manual configuration or complex configuration scripts.

Reliability: They improve the reliability of your configuration tasks since you can reuse roles at any time on multiple Artifactory instances running on any runtime environment.

Standardization: Using roles, you can enforce standards and consistency when configuring things such as repository names, include/exclude patterns caching policies and more.

 

It’s all about managing and relationships

So roles are used to manage your Artifactory instances and their repositories. But that’s not enough to get from your dashboard for centralized control. To get an idea of the how software packages flow within your organization, it’s important to see the relationships between different repositories. And guess what; Mission Control does just that. You can select an Artifactory instance and see its proxying relationships with other repositories, and both push and pull replication relationships.

MCConnectionsForBlog

 

Does zero fit into your budget?

Yes, that’s right. Mission Control is included for free with an Enterprise license, so there’s nothing to stop you from downloading it right now.

This is just the beginning, Version 1.0,  and we’d love to get your feedback. Tell us what works, what doesn’t, what’s great and what’s missing. Naturally we have big plans for the future of Mission Control, so you can keep your eyes peeled for a REST API, backup capabilities, best practice in creating DSL roles, and more in the upcoming releases. Installation is a breeze, and using Mission Control is pretty straight forward, so go ahead and start making your life easier. You deserve it.