While MinIO has lots of attributes to make it attractive (performance, scalability, Kubernetes-native) one that has always distinguished us is our simplicity. In this post we will talk about the beauty of our command line interface and introduce the MinIO Console - a graphical interface that incorporates all the functionality of the CLI in a design that works for everyone - from IT to DevOps.
The MinIO Client, aka ‘mc’, provides a complete set of object storage functionality in a tool that runs just about everywhere. For years, developers have enjoyed being able to download and run mc for Windows, Linux, MacOS or in a Docker container to create and manage object storage.
The popularity of mc has paralleled that of MinIO in general. MinIO’s meteoric rise over the past five years has been nothing less than breathtaking no matter which metric you look at. Microservices architectures and container-related technologies, particularly Kubernetes, led to the wide adoption of DevOps practices. DevOps teams demanded an efficiently simple and gracefully scriptable tool to manage distributed objects and object storage at scale. A cloud-native alternative to familiar UNIX commands like ls, cat, cp mirror, divv, find and mv, mc provides advanced functionality for web-scale object storage deployments. Many cloud admins consider MinIO’s CLI to be the best tool for working with our object storage, preferring to use mc instead of other S3-compatible CLIs to script DevOps processes.
The CLI found its way into the DevOps toolkit (and hearts) because it can quickly execute storage-related tasks from the keyboard and from scripts. Everything in a developer’s world is scripted. If it can’t be scripted and automated then it doesn’t fit into the DevOps toolkit. In the case of MinIO, mc provided that capability, which, coupled with its cloud-native design means it can run multiple sessions and operations efficiently and with limited resource contention.
Developers commonly invoke mc from any modern programming language as a sub-process, tracking activity with JSON output. In the Kubernetes world, management is through a (custom resource definition) CRD.
Despite mc’s popularity - we saw an opportunity to use the same basic principles to reach a broader audience. Enter the MinIO Console.
MinIO Console: More Great Features, More GUI
The MinIO Console builds on our CLI to provide the same simplicity and power in a browser-based GUI that feels intuitive for enterprise IT admins. With just a few clicks, an IT admin can deploy multi-tenant, object storage as a service through Kubernetes without having to understand Helm charts or YAML. Further, the Console provides industry standard monitoring via Prometheus and the MinIO metrics endpoint.
It was not an easy feat to build a GUI as full featured and responsive as our much-loved CLI. We first built the MinIO Operator Custom Resource Definition APIs and then built MinIO Console to provide convenient browser-based access. Instead of writing YAML to configure Kubernetes object storage, IT admins get a streamlined point-and-click experience.
Built to support cloud-scale deployments with minimal operational overhead, MinIO Console enables administrators and users to provision multi-tenant object storage as a service, visually inspect the health of the system, perform key audit tasks and simplify integration (via webhooks and API) with other components.
The MinIO Console is all about visibility. Visibility into every component and its performance, and into every log down to the individual operation.
The MinIO Console opens to a Prometheus-driven dashboard, enabling admins and support staff to quickly assess status. The Console includes every instance from baremetal to Linux, VMware, and Docker/Kubernetes. The browser-based interface allows you to select time windows to visualize current and past performance metrics about pools, servers, buckets, objects, requests, errors, network traffic, and storage used.
Console is more than just a dashboard. IT admins can dig deeply into their instances - configuring and managing buckets, users and groups, and their policies and settings. New users and buckets can be added manually or with a few clicks through OpenID and ActiveDirectory/LDAP. Bucket policies can be created and modified using simple radio buttons and drop down menus.
IT admins and auditors can view objects and buckets to configure policies for versioning, legal hold and other aspects of retention policy. Through the Console, you can also configure replication settings for hybrid cloud object storage - setting the where, when and how of your active-active and active-passive replication strategies. You can also perform object and bucket lifecycle management tasks with a few clicks.
Admins can regulate access and set operational privileges for users and groups within the MinIO Console. This is a critical feature because, when combined with MinIO’s Kubernetes Operator, it enables a self-service object-storage platform.
Rounding out a rich feature set are deep audit capabilities. MinIO logs every single operation across your entire hybrid cloud object storage infrastructure. The MinIO Console gives auditors the ability to drill into any log to get to the truth about every object.
Here’s the beautiful part: the combination of MinIO, the MinIO Operator and the MinIO Console make it possible to build a multi-tenant object-storage-as-a-service platform. Through these components, IT can quickly and easily assemble the hardware and software to expose an HTTPS endpoint to applications, data, developers and DevOps teams alike. Just like the public cloud - but with more control and less complexity.
Kubernetes is enabling self-service platforms across all levels of computing, and object storage is no exception. MinIO, already the leader in object storage on Kubernetes, is helping enterprises take the natural next step in the new multi-tenant self-service world. Through the Console we provide operational control and full audit capabilities for this environment to the IT admins to whom infrastructure management tasks naturally fall, while providing a streamlined interface for consumption.
Storage admins can set up policies for tenants in advance. Later, tenants (adhering to policy) can be created in a single click. The result is that IT builds policy for tenants, buckets, users and groups, and then provides a streamlined interface to developers and other internal customers. By putting policy in place first, IT can give internal customers the freedom to provision object storage as needed, within guardrails that ensure compliance with best practices and legal regulations.
MinIO Console Sets a New Standard for Object Storage Simplicity
While the cloud-native world can be complex to navigate, MinIO has always emphasized simplicity. The MinIO Console is a key addition to our storage suite. It gives IT admins point-and-click access to MinIO’s powerful and efficient management tools combined with actionable dashboards and, when used in conjunction with the MinIO Operator can enable multi-tenant object-storage-as-a-service. You can download MinIO Console and find detailed installation and configuration instructions on Github. You’re one docker pull and three minutes of configuration away from a browser-based interface that taps into the most powerful features of the MinIO storage suite.
We encourage you to get started and if you have any questions to join our Slack Channel, drop us a note at firstname.lastname@example.org or use the Ask an Expert button. We are here to help you - whichever interface option you select.