There are two major types of music cloud services. The first is similar to a radio station. You create a profile with the service and build up a music library based on your preferences. The service then streams music over the Internet to you. If you have a slow or unreliable connection to the Internet you may not be able to use these services all the time. Some, like Pandora Radio, allow you to create stations based on a specific artist or song. You aren't guaranteed to hear that artist or song every time you use the service. Instead, you'll hear music that Pandora Radio matches against your preferences. As you listen, you approve or turn down songs that play on your stations and Pandora Radio adjusts the playlist to suit your tastes. With this model of music cloud service, you'll still encounter new music. There are many services that work like Pandora Radio, using various algorithms to match your preferences to music the services have licensed from music studios.
Another approach to the radio station model gives you a little more control over what's in your library. Services like Spotify allow you to search for specific songs and add them to playlists. Whenever you connect to your account, you can listen to your playlists, change the play order of songs and add or delete music from your library. You might not discover as much new music this way, but you'll be able to control your listening experience. Because this model also depends on music licenses, your choices won't be unlimited. If a studio hasn't licensed particular music to the service, you won't find it in the database.
The other major type of cloud service gives you the most freedom but may also require a lot of work. These services store your music remotely. You may have to upload your own music to the service, which can take a lot of time if you have a large library or a slow Internet connection. The service acts like an external hard drive. You can access the music through a special interface -- services like Amazon Cloud Player and Google Music have computer and smartphone apps that do the trick.
Amazon and Apple both have services that give you a few more options when you want to add music to your library. They allow you to buy music through their respective stores and they automatically add your purchases to your online library -- you don't have to upload the music yourself. Both services also give you incentives to buy through their respective stores by padding out your storage space if you buy directly through them.
With the cloud storage music services, there's usually a limit to the number of songs you can save to your account. With Google Music, that limit is 20,000 songs. Amazon Cloud Drive gives you 5 gigabytes of storage for free (enough space for around 1,000 songs) but you can opt to buy more storage space. According to Amazon, upgrading to 20 gigabytes of data storage allows you to store an unlimited number of songs in the cloud. Apple's iCloud doesn't count any purchases through iTunes against your 5 gigabytes of free storage space, so if you only purchase music through Apple you'll never run up against the limit. Likewise, Amazon doesn't count MP3 downloads toward Cloud Drive storage space.
Most variations of this second type of music cloud have their own apps or Web sites that allow you to stream music to your device over the Internet. Alternatively, you may be able to download the actual file to a physical device. That way, you can listen to your music on a device like an MP3 player even if you're going to be in an area with limited Internet connectivity.
Every cloud service has two major components: a front end and a back end. The front end is what the user sees when accessing music. It's Amazon's Cloud Player or Google's Music app. Apps rely on a robust programming language such as Java to give them the functionality to interpret a user's commands and return the right result. Or the front end is the Web page, app or desktop program for Pandora Radio, Last.fm or Spotify. Many of these rely on JavaScript. That's a scripting language that lets developers build interactive, rich Web page experiences. JavaScript is necessary because hypertext markup language (HTML) isn't equipped to deliver robust experiences on its own. The front end could even be a fully fledged computer application such as Apple's iTunes or the Spotify desktop program. In any case, the front end is what we as users see and interact with when we want to listen to music.
Behind the scenes is the back end of the operation. Here's where the heavy lifting happens and where the cloud exists. While no two cloud music services are identical, they share some similarities. Each one uses hundreds or thousands of servers. Some servers execute commands -- matching user requests to the right file is an example. Other servers act as storage. Depending on the nature of the service, there may be multiple servers with space set aside for each user. Services like Google Music store your files on several machines to provide redundancy. That way, should one machine fail your data will remain safe on the other machines. A master server keeps track of where everything is and acts as a general traffic director.