Brief Overview of Cloud Development and My Decent Experience with It
Cloud computing is referred to multiple hardware machines combining their computing power and resources in order to deliver them on demand to multiple applications. All of this is performed in the internet and aims to save costs and resources to the user.
Cloud services could be paid or cost-free with restricted resources, depending on the concrete cloud platform. Most popular clouds are Amazon AWS, Microsoft Azure, Google App Engine, PHPFog, AppHarbor , Rackspace, Heroku, etc.
In the cloud each deployed application consumes a share of mutual resources and use it as much as they need. In order to run a web application you need CPU power, RAM, data storage, hosting, networking and many others. Now, thanks to the cloud, you can have it all in low cost. You could combine back-end systems with cloud storage, cloud-based database, front-end logic and deploy them in a complete application. You can rely on professional cloud data centers as they are safely maintained and you can be sure that your data will not be lost as it is stored in many data centers all over the world.
In order to develop and design an application in the cloud you need to pick a bunch of development technologies and deploy the application in a cloud of your choice.
Cloud computing has three general models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). IaaS provides virtual machines which run in the cloud as the users install the Operating System and software they need. PaaS delivers a total development platform, combining back-end services, data storage, middle-tier on the cloud and could APIs. SaaS avails hosting and renting applications on demand. For example: WordPress.com, Adobe Creative Cloud, Salesforce.com.
AppHarbor is a fully hosted Platform as a Service, which runs on Amazon EC2. Why should you choose AppHarbor over other PaaS clouds? If you use .NET technologies for your application, then AppHarbor is definitely your cloud. It has automatic load balancing and it is very easy to deploy applications. If you are not used to committing applications with Bitbucket, CodePlex or GitHub, you are going to find detailed and simple description on deploying applications.
AppHarbour provides automatic build, wide range of add-ons and reliable support.
Recently I had an exam in Telerik Academy. The task was to develop an application which basically allows unauthenticated users to view and vote polls. The application consists of three parts: a web page where users could see all polls listed, voting page and administrative system, in which an administrator could easily perform CRUD operations on polls' questions, answers and votes. List polls and voting pages had to be implemented in both ASP.NET Webforms and ASP.NET MVC. The administration pages had to be designed and implemented in ASP.NET MVC.
In order to make the check of my exam work easier, I decided to deploy my applications to AppHarbor and provide the examiners with the links. I had not exploited applications on the cloud before and was very surprised to see how easy and effortless it is. As I mentioned before, there is a tutorial on the subject. For the database of Just Polls I have used SQL Server for AppHarbor.
Generally, the deployed application is not finished and I have not had time to think of more sensible questions yet. However, overall my Just Polls System is correctly functioning and running on AppHarbor.