The Cloud Infrastructure Landscape
I'm taking a Cloud Infrastructure class on EdX and I have found it to be a really nice overview of the cloud space. It's missing anything related to Hadoop and data analytics, but it describes probably all the tools related to running applications in the cloud. Of course, since the class describes so many tools, it can't do so in depth, but you can pick whatever is interesting to you and learn more about it.
Here's a list of all the tools described in it, which list I might use as a future reference for myself. I'd say that knowing a bit about such a big amount of products definitely helps when you're trying to come up with a cloud infrastructure for a project.
So, big list, based on the course contents:
Virtualization
I use VirtualBox to run Linux on Mac OS X and highly recommend it. Mac OS X is not good if you're trying to learn Linux, too many differences.
Infrastructure as a Service (IaaS)
Amazon EC2
Azure Virtual Machines
Digital Ocean
Google Compute Engine
OpenStack
I've only tried EC2 out of these, but it's pretty simple and I like the fact that you can do so many things through the UI, it makes it easier to start with it.
Platform as a Sevice (PaaS)
Cloud Foundry
OpenShift
Heroku
Deis
AWS Elastic Beanstalk (my addition)
I've used Elastic Beanstalk and it's a good way to abstract configuration of load balancers, Apache instances and so on.
Containers
Docker is the leader here. I'm surprised that companies like Google or VMWare haven't come up with their own solution. Maybe soon.
Micro OSes for Containers
Atomic Host
CoreOS
VMWare Photon
RancherOS
Pretty neat concept of building a minimal OS that's targeted towards running containers.
Container Orchestration
Unikernels
Container as a Service (CaaS)
Docker Datacenter
Project Magnum on OpenStack
Software Defined Storage and Storage Management for Containers
Ceph
Gluster
StorPool (My addition)
Continuous Integration / Continuous Delivery
Jenkins
Drone
Travis CI
Shippable
These are very easy to try out if you have projects on GitHub. Here's one on which I slapped the Drone badge.
Tools for Configuration Management
Useful tools for running commands on multiple servers.
Build and Release Tools
Key-Value Pair Stores
Building Images
Pretty neat. Just describe your instance and build a VM / Amazon image / Docker container. I can see that being pretty useful when you're building AMIs for AWS. Better than building it manually and not being able to reproduce it on another platform.