Cloud Programming Described

Source

(c) 2013 kevin languedoc (klanguedoc)

The Internet (World Wide Web) has been a non stop revolution on all our lives since its inception during the 1990s. In the last decade we have all seen an explosion of information through web logs (blogs) and social networking (Facebook, MySpace, Google+, Twitter to name but a few). We have also seen to proliferation of web business applications like Google Apps, Google Maps, GMail, Salesforce.com, Taleo and Amazon’s Web Services. These new business applications and public web services are part cloud computing because they exist on computers located on some distant data center and are accessible only through a browser.

The Cloud

Why is it called the Cloud
Someone once asked, “How do I get the Cloud” and “What is the Cloud”. The Cloud is basically software delivered as a service and delivered or offered through the Internet. Back in the day geeks like me used a cloud symbol to represent a public network, specifically the Internet. This term and symbol was adopted to represent a specialized use of the Internet. This specialization offers services to users, usually for a fee.

Cloud Computing services or applications comes in many forms, some are better known than others like GMail, or Hotmail and DropBox, while others are somewhat less own to the general public but are widely used like Amazon’s Web Services or EC2 (Elastic Computing 2). Every aspect of IT today can be offered as a Cloud computing service as the following depicts.

Cloud Platform
Description
SaaS
This is software as a service
PaaS
PaaS means platform as a service like Heroku or Force
NaaS
Network as a service
IaaS
Infrastructure as a service
STaaS
Storage as a service
SECaaS
Security as a service
DaaS
Desktop or Data as a service
DBaaS
Database as a service. This can be SQL Server Azure, Amazon EC2, Database.com or Feebase
TEaaS
Test as a service
APIaaS
API as a service. Check our the programmable web, mashable or APIfy web sites. These are APIs that are offered as a service.
BaaS
Backend as a service
IDEaaS
IDE as a service. This allows a developer to create apps completely in the cloud
IPaaS
Integrated Platform as a service.

Do you use Cloud based applications

See results without voting

Cloud Programming

Programming in the cloud is still in its infancy but is growing rapidly. Cloud programming comes in two popular forms: developing apps completely in the cloud or using a desktop application like Eclipse to develop the app and then upload this code to the cloud.

Salesforce.com has been a pioneer in offering developers the tools and platform to develop apps that can be integrated in their popular CRM software. Their app development platform is called Force.com and you can use the Eclipse IDE with the Salesforce.com plugin to develop apps that will then be uploaded to the Salesforce.com servers. Salesforce also offers develop an online IDE for developing VisualForce and Apex code. This IDE is accessible directly through Force.com. You can create a free developer account to develop apps, however you will need a license to make them accessible to the community.

Salesforce also offers the Heroku application development platform. Using this service, you can create apps using python, Clojure, Java, node.js, Ruby and Scala. You rent space on their servers for application hosting.

Another huge player in this market is Google of course. Google offers developers the Google Cloud Platform where developers can use Microsoft .Net (C# or VB.net), Java, Python, Dart, Go, Javascript, Objective-C, Ruby and PHP. In addition to these great languages, you can use online storage, Big Data, the Google App Engine, the Google Compute Engine and Cloud SQL. With Google, there is no upfront cost, you pay as you go and grow.

Microsoft has also jump into the market with their Azure platform. You can use the SQL Server or develop and upload apps to Microsoft data centers using a wide variety of programming languages and technologies like python, php. node.js, javascript, media, mobile and .net.

There are also a slew of other offerings for cloud (web) based application development. But to support this Cloud based development and to be fully Cloud based, you also need to be able to develop applications using a Cloud based IDE like Cloud9.

Cloud based coding.
Cloud based coding. | Source

Cloud IDEs

Cloud9 is a full Cloud based IDE. You can develop apps using Ruby or Python and C and compile with gcc. Of course you can develop others types of Cloud based apps using HTML5 and Javascript of course.

Of course the perennial favourite of Open Source programming, Eclipse, also has a Cloud based offering called Orion. With Orion, you have the option of either developing on the public host or you can download and install Orion on a corporate web server. Orion supports HTML, CSS, Javascript development as well as Java. Orion is also integrated with GitHub and supports social development.

eXo is another platform that offers an Cloud IDE. This full feature development platform also developers to deploy their apps to the Google App Engine (Google Apps) or Heroku. The developer has seemly access to most of of the top top PaaS vendors like Amazon, AppFrog, Google, Cloud Bees, Cloud Foundry and OpenShift. Like the others, eXo supports web based programming languages and technologies and integrates with GitHub. Another interesting feature is eXo’s ability to VM (Virtual Machines) and integrate with Spring or build with Maven.


For .Net professionals you can use CodeRun that supports C#, PHP, HTML5/CSS/Javascript, Silverlight and WPF, the latter two are XAML based technologies. There are several others on the market and many more to come as this market matures and we evolve past mobile computing. For instance you can also use SourceKit which is fully integrated in Google Chrome, or the Codeanywhere IDE which web development (HTML, CSS, Javascript or HCJ) including PHP and MySQL. With Codeanywhere you can even develop apps from mobile devices. Kodingen is a cloud IDE with support for RoR and Python, Perl and of course Javascript. Although less powerful than the others like Cloud9 or Orion or even CodeRun, ShiftEdit and Akshell provide lightweight javascript editing. Erbix is another lightweight IDE for Javascript. It comes with support for RingoJS and CommonJS libraries. For Python enthusiast, you can check out the Python Fiddle.

Conclusion

Application development in Cloud will and is the next quantum leap in this evolution that started with with centralized development so long ago. Cloud will surpass Mobile as everything will get blended together. Meaning you will access your apps in Cloud from any device.

More by this Author


Comments

No comments yet.

    Sign in or sign up and post using a HubPages Network account.

    0 of 8192 characters used
    Post Comment

    No HTML is allowed in comments, but URLs will be hyperlinked. Comments are not for promoting your articles or other sites.


    Click to Rate This Article
    working