In the early days of cloud (and RightScale), most workloads being deployed to the cloud were single greenfield applications from tech startups or application teams within larger organizations. Over the past eight years, cloud usage has exploded. As lines of business and teams across enterprises are running applications in public and private clouds to achieve faster time to market, central IT is playing a key role in more efficiently managing these cloud resources. As part of this aggregation and consolidation, central IT must often manage existing cloud-based workloads without disrupting running applications. RightScale addressed this need by creating a new and improved agent for managing existing cloud servers: RightLink 10.
Time for a Reboot
Our former approach of supporting the management of cloud instances as if they were always ephemeral rather than often persistent was no longer optimal. To meet the changing needs of enterprise IT, we needed to reboot our approach to managing these servers.
The RightScale RightLink™ agent is a critical piece of the puzzle that complements the cloud APIs, allowing us to integrate the management “of the server” and that of what’s running “in the server.” The RightLink agent runs on each server, connects to the RightScale platform, and facilitates two-way communication — the agent can report status or local state changes to the RightScale platform, and the RightScale platform can provide data to the agent as well as send it commands.
Our reboot involved rethinking and rewriting a new lightweight agent, resulting in RightLink 10. Since 2007 the capabilities of the clouds have changed significantly, and the tools being used for configuration management have also evolved. In addition, most RightScale customers have workloads that are already running in the cloud and they need a way to manage them without relaunching or rearchitecting. We asked ourselves how someone not using RightScale would solve the problem of managing servers in the cloud. Based on common practices, we then identified a minimal set of features to enhance that experience — the most important of which was that our customers didn’t have to change the way they did things in order to get the benefits of the RightLink agent.
The table below maps our RightLink 10 feature development goals against the changes in the cloud landscape during the last seven years and captures the challenges that will inform future enhancements.
A Better Solution for Managing Cloud Servers
Here are some details on how we delivered on the goals for RightLink 10 as described above:
- Install easily and quickly anywhere: We wrote the new RightLink 10 agent in Go, which is a compiled language that produces a (nearly) fully statically linked binary. Installing the binary is as simple as downloading the file and setting the executable bit. The language supports Linux, MacOS, FreeBSD and Windows on i386, x86, and ARM processors. We are supporting Linux and Windows on x86 and have successfully played with MacOS and ARM processors. In our experience this aspect has been really successful to the point where we routinely use automatic installation of the agent at boot time instead of trying to bake it into every image.
- Allow customization of distro-supplied images: Relying on official (and unofficial) images provided by Linux distros and cloud vendors has long been an issue: Some images take good care of cloud peculiarities, such as mounting all available disks, while others don’t. The latest images of the major distros all have cloud-init properly installed, but older ones are spotty. CoreOS and FreeBSD have their own flavors of cloud-init, which are not fully compatible. Overall we’re finding that we can easily overcome the obstacles, but the out-of-the-box experience on untested images is unpredictable. The biggest hiccup may be that most images are minimal, and just installing the basic packages to do anything meaningful and apply all current security patches can take minutes. For production launches, you should ideally build custom images and update them frequently to keep the list of boot-time security patches under control. Although this represents a non-negligible amount of work, it mirrors what most enterprises are already doing for on-premises systems.
- Support Bring Your Own Configuration Management: By removing our built-in Chef support that RightLink 6 and previous versions provided, we considerably simplified RightLink 10. This change aligns with our move to enable our customers to use the configuration management tool of their choice (we currently have customers using Chef, Puppet, Ansible, Salt, Docker, and others). We chose to keep RightScripts, our built-in scripts (typically written in Bash, Ruby, or Perl) that can be executed on Linux or using Powershell on Windows. RightScripts serve as a simple universal mechanism to execute changes that can be run on a server during the boot, operational, and shutdown phases on a server in response to a user action or automation event. RightScripts also provide a bootstrap mechanism for installing anything else missing on the image.
Getting Started with RightLink 10
RightLink 10 is now generally available (we will continue to support RightLink 6 as well). You can easily install the RightLink 10 agent on any instance running in any RightScale-supported cloud — including AWS, Azure, Google, OpenStack, vSphere, and more — and running any modern Linux distribution or (soon) Windows version.
To install RightLink 10, you simply run a script that downloads and launches the agent. Once installed, RightLink 10 can be used to enable management of your cloud instances through the RightScale platform including monitoring, alerts, notifications, running operational scripts, and the RightScale managed login capability. In addition, RightScale audit entries will track who did what, when.
If you are not currently using RightScale Cloud Management and would like to try it, sign up for a free trial.