Pluralsight blog Where devs, IT admins & creative pros go for news, tips, videos and more.
Pluralsight + Digital-Tutors - 3,000 tech & creative courses - starting at $29/month Get it now →
January 29, 2013

App Development in the Cloud: 3 Things You Need to Know

By Cloud Computing

Are you a budding web developer or programmer looking for a career in the cloud? Here are the things you need to know when developing cloud-based apps, programs and systems. It’s about building apps using the cloud framework.

One of the most exciting services that the cloud model offers right now is the ability to build, create and maintain applications using its framework. But before you jump onto the bandwagon, here are some things you need to know:

1. What is happening?

As the benefits of cloud computing become more and more evident, there is a move to bring application development to the cloud. Strictly speaking, this means that software applications are created in the cloud. But because of some issues, this concept has not really taken off. Right now, we’re seeing developers coding and testing on their own private machines, and then deploying the final application on the cloud.

2. What are the benefits of developing apps in the cloud?

Remember the old way of doing things when it comes to application development. A team would first need to study the feasibility of the project, find out if they have both the manpower and the technology to carry it out, and if not, define what needs to be acquired and at what cost. It involved a cumbersome and extensive process that took a lot of time.

Cloud computing took care of that. It provided a way where infrastructures are easily made available on to anybody interested, and on a very cheap, pay as you go model. What once took months to prepare, can now be started in weeks or maybe even less. This is the primary advantage of developing in the cloud: speed

You do not have to worry about the infrastructure, the storage, the horsepower and even some of the services related to the maintenance and upkeep of this infrastructure and some resources you need to build and deploy the applications. Development teams can focus on creating the application itself, rather than these extraneous issues.

3. What are the things to look out for?

With the speed, flexibility, agility and cost savings one gets from developing applications in the cloud, why then are people hesitating?

Reliability

Reliability is a big issue for cloud app developers. If your service provider goes down, so will your applications. The sad truth is that even if you sign up with the biggest or leading provider, it is not a guarantee that your applications will be accessible 100% of the time. For instance, several high profile websites such as Netflix, Pinterest and Fast Company were down because of a hacking attack on Amazon’s data centers.

As with any IT project and investments you have, be sure to have a disaster/backup plan. You should be able to deploy your applications to the cloud with a clear view of what to do just in case an outage occurs. Most companies have a disaster recovery plan for their on-site systems, so why not adopt that same plan for your cloud applications as well?

Security

It is understandable that companies would be a little bit uncomfortable if not downright antsy about putting their data and applications in the cloud, especially the public cloud.

As an IT or business professional, you would need to simply draw the line as to which application you could put in the cloud. Remember that not all apps are ideally created or put in the cloud.

Learning curves

Then there are those little differences that come into the mix. For instance, the configurations you use locally may be a little difficult to replicate in the cloud, so if it’s your first time developing apps using a cloud infrastructure, be prepared for some surprises and learn some new things, such as SQL, XML and command line tools.

You can see cloud development as a disruptive technology or you could embrace it and learn how to harness its powers to your advantage.

Silly deployment and licensing restrictions

When it comes to app development in the cloud, be sure to read what you are signing. Some providers are very strict with what you agree to do, and what NOT to do on their platforms.

Difficulty integrating cloud-based apps with onsite apps

If you have existing applications that you need to work with your new cloud-based apps, you may run into some challenges when integrating them.  This is because, you are more likely to have no access to your provider’s own applications, infrastructure and other platforms. You could get around this by using your provider’s APIs.

Lock-in

On the other hand, there is the issue of lock-ins. If you create an app in the cloud using APIs and other infrastructure patterns, you may be writing code that works only on that specific platform. You can work around this by choosing a cloud technology that is adopted broadly or a service provider that allows you to be independent.

Re-inventing the wheel

Granted that developing for the cloud might take a little getting used to because of the differences from traditional app development, but do take it to heart. A lot of middleware and tools are already available out there for you to use. This could help solve some problems when it comes to cloud architecture as well as save you a lot of development time.

Some tools worth looking at:

  • Code2Cloud: a “turnkey” suite of collaboration tools
  • CloudSwitch: cloud migration tool
  • CollabNet: a suite of tools for application development in the cloud
  • Rightscale: cloud provisioning tool
  • Coderun: integrated development environment

4. Platforms

There are a lot of service providers that allow you to easily develop applications in the cloud. The top providers include:

  • Google App Engine
  • Amazon EC2
  • Salesforce.com Platform
  • Windows Azure
  • Rackspace

App development in the cloud may be fraught with challenges that you need to be aware of in order to plan effectively. It may need a little getting used to, especially for first timers because of the differences between cloud and traditional app development. But the benefits are clear. More than cost savings, agility and speed, cloud app development is the future. If you want to have a career as a developer, you should learn how to create applications in the cloud.

Develop solutions for your business by customizing Microsoft SharePoint 2010 applications.

About the Author

Michael Gabriel Sumastre is a skilled technical blogger and writer with more than seven years of professional experience in Web content creation, SEO and research paper writing. He has written more than a thousand articles related to tech and gadgets, cloud computing, IT management, SEO, SEM and software solutions. He ghostwrites books / e-books and has a Bachelor of Science degree in computer science. Michael is also an expert in webmastering and loves to ride his sportsbike. He maintains his portfolio and personal blog at TheFinestWriter.com

Author's Website: http://www.thefinestwriter.com


Discussion