I love the idea of cloud application platforms. Wikipedia defines a platform as a service as the following:
“The consumer creates an application or service using tools and/or libraries from the provider. The consumer also controls software deployment and configuration settings. The provider provides the networks, servers, storage, and other services that are required to host the consumer’s application.”
This is great for me. I can be pretty lazy and network and server management is usually more responsibility than I want and more control than I need. It makes perfect sense to give this work to someone else.
I also find that when I’m deploying applications this way, I significantly speed up development time. Rather than having to set up, configure, and license a server, I can simply run a command to publish my server and the code is published in the cloud automatically.
Those are the kinds of benefits that I really appreciate as a back end developer.
Visual Studio 2013 is currently my usual IDE since I work in C# and ASP.NET at work, and the work Microsoft has done to tie Azure into the IDE has really paid off for me. If I want to publish a project to Azure, I can just right click the solution and publish to the cloud. A minute later — if that — I can access my project online.
With Heroku the work flow is even easier. In order to deploy to Heroku all you need to do is push a git repository to them. They will take the code and automatically deploy it into the cloud. Like Azure, a minute later you can access your code online. Heroku doesn’t natively support .NET, but it’s very easy to get a Ruby or node.js server running.
I believe I was the only one in this hackathon to create a separate server to provide additional cross-user functionality. There were some remarkable projects that people created, but I felt like a had a real advantage in this competition.
It’s not all roses when it comes to cloud application platforms. It’s been my experience that your deployment starts out fairly cheap, but as your application grows the costs can ramp up significantly and more quickly than you expected.
This means that often your best bet for these services is MVPs (minimum viable products), prototypes, and early stage web and mobile apps. As your product grows, you can often see significant savings by managing your own servers and networks.
Personally, I love these servers and I’m going to continue to leverage them in the beginning stage of every project I’m involved with. If you decide to do the same, I think you’ll see that you’re able to get your projects deployed faster and let you take some of the cognitive load off your plate.