We’re thrilled to announce a preview launch of Sunshower.io. I’d like to take a little time to explain what we do!
Beautifully Simple Multicloud Management
The first thing we do is provide a simple, unified interface for managing your public clouds. This means that you provide some read-only access to your cloud, which we store securely in our vault, and then we go discover whatever infrastructure is in your cloud(s) and manage and organize it for you.
Let me step through a quick example:
Discover your Resources (aka “Systems”)
The first thing we need to do is to discover your resources. Upon logging into Sunshower.io, you’ll be presented with the System Discovery Wizard. A System (i.e. Weather System) is the set of all infrastructure associated with a set of cloud accounts. So, if you have:
- 1 Azure Scale Set with 4 active members that is your development cluster (azure-dev)
- 1 Azure Scale Set with 20 active members that is your production cluster (azure-prod)
- 1 AWS Autoscaling Group with 10 active members that is your AWS dev cluster (aws-dev)
- 1 AWS Autoscaling Group with 30 active members that is your AWS production cluster (aws-prod)
Then you will create a system with at least 2 credentials, one for AWS, the other for Azure.
You can add as many accounts from as many cloud providers as you want. Each of the cloud providers is implemented as a (relatively) simple plugin, and if you add a new plugin (e.g. Google Cloud), you’ll be able to add credentials for that cloud, too.
Once all your accounts have been added, we’ll go through and perform the actual discovery. Once that completes, you’ll be presented with a topological overview of your cloud infrastructure:
The group color is used in the topology view as the color between edges of nodes, and in the geography view to color connections between regions:
And yes, you can totally spin the globe!
Use Your Groups
Grouping is pretty fundamental to Sunshower.io:
- Access control is based on groups
- Management operations can be performed on entire groups (yes, you can spin down every node in a cluster by stopping its group)
- Deployments are based on groups
For instance, you can SSH into an individual machine or an entire group. It’s pretty typical to have a ton of identical machines, so executing the same series of commands produces identical output from each machine. We de-duplicate the output and provide you with the results. Just store your private key in our vault (the actual key is stored in the excellent HashiCorp Vault). But, hey, tailing logs across a bunch of machines has never been so easy!
Visual Deployments (aka “Strata”)
One feature that we’re really excited about is visual modeling of deployments. Basically, you start off with a series of commands (e.g. shell commands), and you compose them together:
From there, you can select a deployer format (e.g. Docker or Packer or even just the userdata section of an AMI, whatever you have plugins installed for) and viola! You have a deployment that you can share with coworkers, publish to everyone, or share with a specific group. For instance, you might create a Stratus that
- Installs Java
- Installs NodeJS
- Installs Gulp
And you can generate a Dockerfile for it, a Packer file, an Azure Image, or an AMI without changing a thing!
Visual Infrastructure Modeling for Systems
But let’s say you don’t have any existing infrastructure and you want to create some. Now, you can log into your various cloud providers’ consoles and spin up whatever you need, but what if you want to create some infrastructure and try it out across clouds? Enter our visual infrastructure modeling for Systems. You can quickly model your infrastructure and deploy it out to any supported cloud (below is the cluster structure for Sunshower.io’s deployment)
You can also export the model to a variety of provisioners like AWS CloudFormation, Azure Resource Manager, or Hashicorp Terraform. We’re currently figuring out what generating Kubernetes manifests looks like, but you’ll be able to do that soon too.
Finally, Anvil for Optimization
All of the data that we collect about your infrastructure we use to build a model of your tasks. If you think about purchased infrastructure as a shipping container, then it makes sense to purchase the smallest shipping container that can fit all of your packages. Anvil extends this analogy by allowing you to define new dimensions for your packages (think 5 or more), and we’ll figure out the smallest shipping container with those dimensions possible across any infrastructure for which there’s an infrastructure plugin. For instance, here’s an example of us spinning up a suboptimal configuration of resources and running Anvil on it:
It yields a much more compact (dense) configuration for your infrastructure. In fact, it typically yields an optimal configuration. You can even configure it to model packages based off of their greatest historical dimensions (like peak hours) so that you’ll never under-provision again, even while saving a substantial amount on your infrastructure.
Thanks for sticking around! I wanted to provide a list of Sunshower.io’s current features to give everyone a better idea as to how it’s used and what it can do for you. Many people will only need one or two of the features, and we’d like to get some feedback as to which might be the most valuable for your organization so that we can get them to you ASAP.