Why I Love Cloud Application Platforms

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.

system-71228_640

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.

A few weeks ago, I was involved in a hackathon at work. The goal was to develop new widgets for our platform and see what wee could come up with in a day. You got to wire up a combination of HTML, CSS, and JavaScript and see what you could do. I’m mainly a platform developer — I primarily work in designing web servers as opposed to front ends. I can write JavaScript and HTML, but CSS is not easy for me and visual design takes longer than a day. It seemed to me that the only shot I had was to leverage my back end expertise.

Configuring and launching a new web server would have eaten a significantly larger portion of my day than I wanted to schedule. But, I was easily able to publish a server running a SignalR hub at the push of a button. I then used AngularJS to wire up my JavaScript to the front end and make AJAX requests to my new server.

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.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s