(Update) We’ve released new training material on Docker, including the Cloud Academy’s Docker in Depth Learning Path. This learning path is designed to teach you all about Docker starting from the individual container and progressing to the continuous deployment of an application in AWS. The Learning Path comprises of video Courses, Hands-on Labs, and Quizzes to test your skills. Visit the Cloud Academy’s Training Library for all our latest content on Docker.
There is a software that is hitting it really big nowadays, and it is Docker. For the very few who still don’t know what Docker is, it is a software layer that works on top of the well-known and famous LXC to automate the deployment of applications inside insulated software containers. Being self-contained and self-sufficient, the container stacks together all the dependencies needed to run the application without hiccups. Interestingly, each container starts from an image that can be customized and distributed.
It comes as no surprise that Docker is so hot nowadays, and thanks to the feature we just talked about, several *aaS platforms spawned to help users hosting and deploying Docker images and containers in a full- or partially-managed environment and at a very low cost. Of course, you can still use Docker on any machine supporting the software, but if you are just interested in deploying your app as quickly as possible, dropping all the administration burden, these services can come in handy. So, let’s see which are the best Docker Hosting Services around.
dotCloud has been the incubator of Docker, which started as an internal project by Solomon Hykes. Indeed, dotCloud is probably the oldest docker hosting service around. It’s an advanced PaaS service to deploy and manage a web app with scaling features and some management of the underlying infrastructure. dotCloud has a dedicated CLI written in Python and available via pip. Once installed, you can write a simple text file describing your architecture according to your needs, like a WSGI-enabled server, a MongoDB database, etc. Once complete, you just push the configuration file on your application (that is the most basic element of the dotCloud stack), and the resources you asked for getting provisioned and made available to you. Other commands of the dotCloud CLI allows you to control the application, to set up scaling rules, to monitor it, and enable a series of ancillary services like automated backups, SMTP servers, Build Hooks, and much more.
The set of features that dotCloud can expose is quite rich, and its CLI, despite being a little tough for newcomers, can be extremely faster and more powerful than any GUI once you learn to master it. The cost of a standard dotCloud applications can vary a lot, depending on the configuration you choose and the services you need. Fortunately, a nice calculator is available to get an idea of how much expensive your configuration is.
Similarly to dotCloud, Tutum has a neat CLI interface as well. You can use it to control both the deployed applications and the ones you are working on locally. The interesting feature about Tutum is that it ships a full-featured web GUI to control any aspect of the application, something that those who are less confident with CLIs will definitely appreciate. Not a surprise for a company whose tagline is “We hate headaches“! Another nice pro of Tutum over dotCloud is the possibility of having a free trial period to test the service before doing things seriously. Also, Tutum provides the so called “Jumpstarts“, that is a set of common open-source applications optimized and containerized to run in Tutum in a few seconds. And if you have a huge set of Docker images you want to keep safe, you can push them in your private Docker images’ registry, which Tutum makes available to any users. As a cherry on top, Tutum also provides a quite big set of APIs.
All this good comes at the price of 4 dollars per month for the most basic provisioning up to the 64$ for the so-called XL solution. All in all, Tutum gives extra features but lacks some of the detailed configuration and scaling options that dotCloud provides. If you are scared of CLI, or costs are a concern, Tutum might be the best choice for you.
The killer features of StackDock, the Copper’s brand for Docker hosting services, is the availability of SSD drives at a quite cheap price. Actually, StackDock’s website is extremely essential and there are no links to documentation or a complete set of the features, so it’s not easy to understand what are the pros and cons of this platform. Nevertheless, the price of 5 dollars a month for 1 core CPU with 1 GB of RAM and 20 GB of SSD is extremely interesting, and probably worth a try. The interesting thing about Docker is that Docker images have no vendor lock-ins, and can be imported and exported easily, so it’s not difficult at all to migrate an existing application among different providers.
In any case, StackDock can be really fast thanks to its SSD-based infrastructure, and despite it hasn’t a dedicated CLI tool, its control panel is enough to deploy and manage your stuff. If you need a basic, no-frippery, quick and cheap service to deploy your Docker application, this might be your choice.
Last but not least, another service you should take in due consideration is Quay.io. Recently acquired by CoreOS, Quay.io provides secure hosting for Docker private repositories, hence providing a service quite different from the ones we have seen above. As you can imagine, it is a service targeted at companies who have special needs privacy- and security-wise, but quite interestingly they provide free public repositories too. The service provided by Quay.io is really good and rich of features. The web GUI is very complete and versatile. You can control any aspect of your repositories from there, and the GUI even provides the history and branches of each of them, even with the possibility of comparing and making diff among repositories.
Many features are clearly targeted at companies and complex organizations, like tools for fine-grained control of resources and a rich set of logs. Interestingly enough, Quay.io is the only service of the 4 we have seen providing a guided and interactive tutorial to get you started.
New on Cloud Academy: AWS Solution Architect Lab Challenge, Azure Hands-on Labs, Foundation Certificate in Cyber Security, and Much More
Now that Thanksgiving is over and the craziness of Black Friday has died down, it's now time for the busiest season of the year. Whether you're a last-minute shopper or you already have your shopping done, the holidays bring so much more excitement than any other time of year. Since our...
Understanding Enterprise Cloud Migration
What is enterprise cloud migration? Cloud migration is about moving your data, applications, and even infrastructure from your on-premises computers or infrastructure to a virtual pool of on-demand, shared resources that offer compute, storage, and network services at scale. Why d...
6 Reasons Why You Should Get an AWS Certification This Year
In the past decade, the rise of cloud computing has been undeniable. Businesses of all sizes are moving their infrastructure and applications to the cloud. This is partly because the cloud allows businesses and their employees to access important information from just about anywhere. ...
AWS Regions and Availability Zones: The Simplest Explanation You Will Ever Find Around
The basics of AWS Regions and Availability Zones We’re going to treat this article as a sort of AWS 101 — it’ll be a quick primer on AWS Regions and Availability Zones that will be useful for understanding the basics of how AWS infrastructure is organized. We’ll define each section,...
Application Load Balancer vs. Classic Load Balancer
What is an Elastic Load Balancer? This post covers basics of what an Elastic Load Balancer is, and two of its examples: Application Load Balancers and Classic Load Balancers. For additional information — including a comparison that explains Network Load Balancers — check out our post o...
Advantages and Disadvantages of Microservices Architecture
What are microservices? Let's start our discussion by setting a foundation of what microservices are. Microservices are a way of breaking large software projects into loosely coupled modules, which communicate with each other through simple Application Programming Interfaces (APIs). ...
Kubernetes Services: AWS vs. Azure vs. Google Cloud
Kubernetes is a popular open-source container orchestration platform that allows us to deploy and manage multi-container applications at scale. Businesses are rapidly adopting this revolutionary technology to modernize their applications. Cloud service providers — such as Amazon Web Ser...
AWS Internet of Things (IoT): The 3 Services You Need to Know
The Internet of Things (IoT) embeds technology into any physical thing to enable never-before-seen levels of connectivity. IoT is revolutionizing industries and creating many new market opportunities. Cloud services play an important role in enabling deployment of IoT solutions that min...
Which Certifications Should I Get?
As we mentioned in an earlier post, the old AWS slogan, “Cloud is the new normal” is indeed a reality today. Really, cloud has been the new normal for a while now and getting credentials has become an increasingly effective way to quickly showcase your abilities to recruiters and compan...
How to Go Serverless Like a Pro
So, no servers? Yeah, I checked and there are definitely no servers. Well...the cloud service providers do need servers to host and run the code, but we don’t have to worry about it. Which operating system to use, how and when to run the instances, the scalability, and all the arch...
AWS Security: Bastion Hosts, NAT instances and VPC Peering
Effective security requires close control over your data and resources. Bastion hosts, NAT instances, and VPC peering can help you secure your AWS infrastructure. Welcome to part four of my AWS Security overview. In part three, we looked at network security at the subnet level. This ti...
Top 13 Amazon Virtual Private Cloud (VPC) Best Practices
Amazon Virtual Private Cloud (VPC) brings a host of advantages to the table, including static private IP addresses, Elastic Network Interfaces, secure bastion host setup, DHCP options, Advanced Network Access Control, predictable internal IP ranges, VPN connectivity, movement of interna...