Making a PaaS at Microsoft

Now that you're excited about the opportunities that Platforms-as-a-Service can create, it's a question of where to start.

business cloud services flowchart
Credit: Thinkstock

There are many public cloud services out there, new systems enter the industry every day, and vendors that update their systems routinely. It would be easy to be daunted by the choices available to us as developers.

One great place to begin is with the elder statesman of the computer world. Microsoft has had a big presence in the world of PaaS for years with its Azure Web Apps (previously Websites) and Azure Cloud Services.

Azure Web Apps and Cloud Services are a PaaS built on top of tools and utilities that you likely already know. Their focus, as with most Azure products, is to make the on-ramp process for developers and IT professionals easier by integrating with the awesome tools that they're known for. More recently, they've also begun to work closely with popular open source products to make the transition process even easier for those of us who come from outside of the Microsoft ecosystem.

Described as simply as possible, Azure Web Apps are scalable Windows Server virtual machines running in Microsoft's data centers and hosting your custom code. In true PaaS fashion, those servers are turnkey and fully managed. All you do is deploy an app, and Microsoft handles the rest. Web apps servers are fully patched with the latest security patches and hosted on a platform compliant with major security standards, such as SOC2, ISO, HIPAA, and PCI. Apps are backed up, migrated as necessary to new hosts or even new data centers, and scaled across regions globally all via automated process.

There are a lot of ways to start working with Azure Web Apps. If you need a leg up, then its pre-built gallery of templates offers hundreds of configurations. These templates jump start your development for frameworks like SQL Server, Salesforce.com, and Wordpress, among others.

Of course customization is the name of the game for Web development. Azure lets us use the popular Microsoft Visual Studio for all of our development. The Azure SDK creates project templates for us to use in Visual Studio so that we can start working on a web app-capable application right away. The Azure Server explorer lets you remotely connect to running cloud services and debug them both locally in your development environment, as well as remotely over the Internet.

Azure supports a wide variety of code bases as well. With Windows, IIS, and Visual Studio, you can write your code in .Net and access a wide library of Azure features through the Azure API. Azure Web Apps also supports Java, Node.js, PHP, or Python, so almost all of us can find a language we're comfortable working with.

Once you're ready to launch your code in the cloud, you can use a variety of popular mechanisms. Microsoft Web Deploy (msdeploy) is built into the Azure SDK and integrates with Visual Studio for wizard-based deployment. You can also use the popular source control tools Git or Mercurial for continuous deployment. Other options include PowerShell, Secure FTP, or even Dropbox.

Azure Cloud services are very similar to Web apps, offering all of the features we just discussed, but with a few interesting steps taken toward IaaS that the power developer may find very useful. When deploying cloud services, we can choose from a few different operating systems, including Windows Server 2008 or 2012. Cloud services also offer the ability to define different clusters of servers, known as roles, which can be configured either for Web API hosting or for backend processing. Combined with the ability to access the servers via remote desktop, cloud services are ideal for migrating legacy applications from on-premise servers to the cloud without resorting to full-blown IaaS services.

At the end of the day, you'll find yourself presented with many great options when it comes to implementing a PaaS solution in the Cloud. Microsoft's Azure service is a great place to start not only due to the way it leverages familiar tools and utilities, but also because of its feature-rich environment and enterprise-class service. Developing and deploying your app as a Web app or cloud service is fast and easy and will get you up and running (floating?) on the cloud in no time!

This article is published as part of the IDG Contributor Network. Want to Join?

From CIO: 8 Free Online Courses to Grow Your Tech Skills
Notice to our Readers
We're now using social media to take your comments and feedback. Learn more about this here.