TL; DR: Cloud66, a DevOps-as-a-Service provider, allows amazingly simple infrastructure deployment, scaling, and repeatability on services such as Digital Ocean, AWS, Bare Metal, Rackspace, Google Cloud, Linode, and others.
From startup developers to enterprise DevOps folks, launching, managing, and maintaining a growing infrastructure has become increasingly complicated. Cloud 66 has developed a layer above commoditized hardware (like cloud providers) that allows users to rapidly launch products in a repeatable and safe environment.
With a lot of confusion still surrounding cloud hosting, Cloud 66 is helping to connect cloud users and cloud providers in ways virtually impossible up until now.
I had the pleasure of test driving Cloud 66’s free trial over the weekend, and then I had a great interview with Khash Sajadi, CEO of Cloud 66.
In short, what the Cloud 66 team has built and accomplished is truly incredible.
The Need For an Easy Cloud Deployment Platform
Having to worry about infrastructure and deployment needs every time you’re working on a new project can be a pain. This was the original goal of Cloud 66 — to help facilitate making the process easier, so you can focus on the important stuff.
“The idea behind the company was that, as a software developer, I was very frustrated with the fact that I had to do several things all the time, every time I started a new project or a new job, including things like user provisioning, permissions for users, job scheduling, and all sorts of things around that,” Sajadi said.
He wanted to leverage a bunch of APIs, so when he went to start a new project, those APIs would handle the repetitive work.
Cloud 66 started with seven APIs and went to market. With this type of deployment platform, the team quickly realized that they needed to be involved at the beginning of a project, so they came up with some use cases.
They started an AppStore for SysOps to showcase some amazing tasks Cloud 66 could handle. Some of these first apps simplified common tasks, such as backups and user management.
They now have turned focus towards the enterprise market by offering components that allow already existing infrastructures to benefit from the ease-of-management with Cloud 66. For instance, if you want the MySQL component added to your existing project and want to handle the web server management on your own, this is a possibility.
Why Start With Ruby On Rails Code Analyzing?
One original app that gained a lot of traction was Ruby on Rails. The app was hot at the time, so they dropped everything and started to focus on this as a core product.
They initially set a goal of around 80 to 90 percent successful deployments within the first three tries, and Ruby on Rails was able to achieve this goal for them.
After a lot of work, they launched their service in March 2013 under the Cloud 66 name.
Easily Maintain Your Hardware Infrastructure
At Cloud 66, they are big fans of immutable infrastructures. They want the ability to build an infrastructure independent of states, but they also want to have the ability to tear it down and redeploy from scratch without any downtime.
They never want to assume the state of anything. This is a big advantage of Cloud 66 over other deployment options like Puppet or Chef. With those, you’d have to script for each different state you might encounter.
Even if you’re not making an app, you can utilize Cloud 66’s hardware management to easily deploy and maintain your infrastructure. Be sure to check out the Cloud 66 tour for a full breakdown of the service.
Having clients spread across a multitude of cloud providers, Cloud 66 even has quicker insights into problems than the cloud providers themselves.
Cloud 66 has decoupled a lot of things from cloud providers to ensure this type of non-assuming state management. If you click the “Add a Load Balancer” button, they handle things for you:
- While using Amazon, they deploy an Amazon ELB (Elastic Load Balancer).
- On Linode, they deploy a NodeBalancer, which is Linode’s version of a load balancer.
- On RackSpace, they deploy a RackSpace load balancer to your stack.
- On Digital Ocean, which doesn’t yet have load balancers, they fire up a server with HAProxy.
As far as customers are concerned, they shouldn’t have to worry about these differences. They just know they need a load balancer, and Cloud 66 is going to make it work for them.
Technology That Powers Cloud 66
“Our attitude is, we want to keep the stack with as few moving parts as possible, so it’s manageable and we can actually understand it more than just bringing anything in,” Sajadi said.
On the internal side, they use Sinatra and Ruby on Rails for the public Web. They also leverage MySQL, Cassandra, and InfluxDB as part of their database strategy and RabbitMQ for most of their asynchronous application messaging.
Their infrastructure is built around the same cloud services to which they deploy (primarily Amazon, RackSpace, Digital Ocean, and Linode). They mostly develop on Mac and have begun migrating to Docker containers, for which they now also support deploying.
Coding That Cloud 66 Utilizes
Cloud 66 has a lot of code for using cloud provider’s APIs to spin up servers, getting access to these servers, and setting up SSH key management. During the development stage, a lot of focus was put on security to ensure all customer data was safe.
Cloud 66 also coded in support for pulling from the Git protocol, so if you have your own Git repo, you can use that. They also leverage things such as a database.yml file to figure our dependencies during their code analyzing stage. At the end of the analyzing, you end up with a recipe of the steps needed to deploy everything.
Make it Magic, But Don’t Hide Details
I was impressed with how smooth the cloud deployment process went. I hopped on GitHub, found a good Ruby on Rails application, and then plugged that URL into Cloud 66’s dashboard.
It started analyzing the code to figure out what dependencies were needed, such as a Redis database and any Ruby modules. It then connected to my Digital Ocean account, spun up a new server, and began provisioning requirements for my app.
There should be a balance in making things seem magical in this black box type environment, and Cloud 66 wants developers to still know what’s going on — presenting itself as a convenient option for cloud deployments.
Cloud 66 sees themselves as Junior Ops just hired for a company, so they want you to know they know their stuff and are constantly aware of what’s happening. As you trust the process more, you just let the magic take over.
Plans For Further Code Analyzing
Currently, the only language Cloud 66 is able to scan is Ruby on Rails. They also support Docker deployment, which covers most other languages out there.
I asked Khash about Cloud 66’s plans for incorporating scanning for other languages. He said they do have plans for this, and it’s broken down into three steps.
- Due to a high success rate of deployments within the first three tries, they started with Ruby on Rails. As a first step, it was good for introducing customers to the deployment process. For Docker, it was also more viable, as that platform is relatively newer and doesn’t have a lot of strict standards yet. Again, the success rate of deployments is high among the first few tries.
- Managed components are part of the second step. A lot of SysOps might want the MySQL component to add to existing infrastructure. For customers who already have some infrastructure in the Cloud they manage, this second step allows them to conveniently spin up extra infrastructure to be managed by Cloud 66.
- The third step goes back to Docker. This allows Cloud 66 to analyze an application and run it through a build grid to spit out a Docker file. This created image would be optimized toward the application that was scanned.
Who is Cloud 66?
Khash started Cloud 66 in August 2012 and ran it on his own until about six months later, when his Co-Founder and CTO, Luvic van Gool, came on board. Today they have a team of nine dedicated individuals who are pushing the limits of cloud deployment.
The original name was Cloud Blocks, based on the concept of building blocks for the Cloud. However, the name Cloud 66 was chosen by the team after a Post-It notes brainstorming session, and the rest is history.
Cloud 66 Company Culture; Be a Perfectly Good Rhino
Being a big fan of funny T-shirts myself, I spoke to Khash about a press picture I came across, featuring him wearing a tee with a rhino running on a treadmill while looking up hopefully at a poster of a unicorn.
When first applying for an incubator in front of nine judges, Khash overshot the last slide in his presentation, and it showed his desktop on the huge screen in front of everyone.
He had this funny rhino image as his desktop wallpaper, and then on the actual judgement day, he wore his rhino T-shirt in order to hopefully help the judges remember him and Cloud 66.
Khash went on to talk about startups like Uber or other billion-dollar ventures you might read about in the press, assimilating them to unicorns — sometimes shooting for unrealistic goals.
“I sometimes find myself falling into that trap of shooting for that kind of standard or that way of playing the game, as opposed to just building a business that is sustainable, profitable, and actually helps real people,” he said.
It sounded like Cloud 66 was very focused on what they do best, and the entire team was dedicated to those ideals.
“For us, it’s basically about adding value. We are very much about building something useful, building something that helps developers. We are very product-focused as opposed to marketing- or sales-focused. That’s basically our culture. It’s a very engineering-based kind of culture and organization,” he said.
Khash also joked about Cloud 66 probably not having as much fun as some other startups that might have dart boards or bean bags. He said the team is a lot more focused on doing something that makes a difference.
Cloud 66’s Big Plans for 2015
One of Cloud 66’s big goals for the year was to launch a new website. Funny enough, their new site went live the same day as our interview, so that was cool to get to see they’re already making great strides in 2015.
Another one of Cloud 66’s big goals for 2015 is making the use of Docker easier. There is a lot of talking going on about what containers — what they are and what they can be used to do. Cloud 66 has spoken with a lot of clients who vaguely think the concept is neat, but they haven’t invested the time to really understand the advantages.
When Cloud 66 asked clients if they’ve experienced certain problems, they say, “yes.” When they tell them containers could help fix that problem, the clients are a bit more interested.
When you bring new technology like containers into the mix, you start to open up other problems. How are you going to bring it into your workflow? How are you going to train your developers to work with this?
Cloud 66 would like to simplify the process of working with containers. Developers shouldn’t have to know everything about them, when they could still leverage their power.
Another goal for 2015 is a bigger push into the enterprise market, which means more managed components. This would be for companies that aren’t focused on infrastructure for a particular application but would still like infrastructure management components that are easy to manage.
I’m really glad I heard about Cloud 66. They provide an amazing service that any developer could come to love. With even more planned, it will be exciting to see what other features they add.
I really appreciate Khash taking time out of his busy day to answer my questions. I could tell he’s really passionate about helping people solve cloud deployment woes.
If you’re considering jumping on the Cloud, but don’t know what route to take — Cloud 66, baby!