Cloud Computing for Web Developers
What Exactly IS Cloud Computing?Cloud computing, as defined by Wikipedia, is "Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid." It essentially means that applications are actually accomplished through the use of many computers that exist online, rather than on your local computer or web server. The SETI project, which looks for extra-terrestrial life, was one of the first projects to come to public light which utilized cloud computing--using end-user's computers to analyze data that SETI compiled--via the internet. Now that same concept is being used for web applications.
Cloud computing should be thought of simply as a new client-server mechanism, one that will open up resources from multiple internet-connected devices, with lower barriers for entry. Suddenly web developers have access to hosted applications and data, along with cloud-based development services, enabling them to create web applications that have access to data and services like never before.
Google App EngineIn terms of web development, both Google and Amazon have been on top of the game. Google's App Engine enables developers to build--and host--web apps on Google own servers, which allow for faster development and deployment processes, an easier administration process, without the need to keep up with hardware upgrades, patches or backups. The TV commercial where a web development team's client does so well in the first few minutes that their server is overwhelmed, is no longer a concern using cloud computing. Google App Engine scales along with your app, whether your app is being served to 10 users, or a million users. Getting started with App Engine is free for developers--just sign up, upload your app, and begin using it. Obviously Google offers a commercial package, but even as a free cloud service, they provide you with 500 MB of storage and 5 million pageviews a month, at no cost.
Amazon Web ServicesAmazon Web Services (AWS) provides many cloud services for developers, including Amazon CloudFront for content delivery, Amazon Fulfillment Service for ecommerce, Amazon CloudWatch for monitoring, Amazon Simple Storage Service (S3) for storage, and Amazon Virtual Private Cloud (VPC) for networking. Like Google, getting started with AWS is free--just sign up and start developing. Once you sign up for AWS, you will be able to obtain an Access Identifier, which is used to make web service requests from AWS.
CodeitaNow we move on to a new cloud-based development platform called Codeita. Codeita allows developers to do everything from a cloud perspective, from design, to coding to publishing, using the same web technologies that power the web today. These technologies are referred to as LAMP, which is an acronym that stands for Linux, Apache, MySQL and PHP. Codeita includes the following features:
- Auto-highlighting code editor
- In-browser page content editing
- Advanced svg image editor
- Project specific, task management
- Flexible cloud storage
- In-browser FTP publishing
Here's what Codeita looks like when you are logged in, and editing an HTML file:
Not only can you upload files from your local computer, you can create them on the spot using the online editor. You can also create and use MySQL databases on the fly, as well as open your project up to additional developers who also use Codeita. While it's still in its beta stages, the Codeita cloud service is looking very promising, and you are likely to see many other cloud-based web development platforms in the near future.
Cloud computing is here to stay, and as developers come to rely on cloud services, companies such as Microsoft and Apple will push the reality of cloud computing even further. Microsoft's Azure and Apple's iPad, which utilizes cloud-based application services heavily, are likely to drive developer demand for such services, and developers are going to be inclined to use these services, which provide enhanced performance, scalability and additional security that their own web hosts just can't provide.