We use cookies and other similar technologies (Cookies) to enhance your experience and to provide you with relevant content and ads. By using our website, you are agreeing to the use of Cookies. You can change your settings at any time. Cookie Policy.
Start a Discussion
Cloud Computing
user-pic

What Will Be The Future of Application Development in Cloud Computing?

Vote 0 Votes
The question of application development was asked in terms of the iPhone type apps right here, but what about the future of application development in terms of the Cloud?  This question comes up because tomorrow is ebizQ's much anticipated Cloud QCamp, where we'll approach cloud computing from a number of angles, which you can read all about and sign up for right here.  So they question is: what will be the future of application development in cloud computing?

10 Replies

| Add a Reply
  • The future is much more focus on business logic and much less need to spend time working on the underlying technology infrastructure. More focus on user experience and process design, less database tuning and infrastructure patching. More rapid development timescales and better alignment with business needs.

    Sign up for tomorrow's webinar at noon ET on how the cloud changes application development to hear more.

  • If I understand the question correctly, there are already two sides to this that are playing out: firstly, app dev *in* the cloud; and secondly, app dev *for* the cloud.

    In the first area, we can already see vendors like HP, IBM etc offering hosted development related services that can provide "bursty" resources for testing, staging etc - even for projects where the ultimate delivery of software will be on-premise. Cloud-based resources are used to save time and expense over in-house dedicated test/staging servers for example.

    In the second area we're also seeing a significant amount of activity - everyone from salesforce.com to Microsoft, Google now has developer platform propositions allowing developers to build apps for deployment in the cloud. Right now this is still definitely early adopter territory, and people are still figuring out which platform (higher-level/more constrained vs lower-level/more "open") might work best for which scenarios.

  • I run a large R&D group so this is a subject near-and-dear to my heart.

    The cloud will change application development profoundly. The arguments for the cloud address a number of the cost and flexibility issues I run into every day. I could not do the job I do, with the resources I have available, without using technologies like virtualization that are fundamental to cloud computing. I anticipate that these advantages will grow as cloud technology matures.

    If you take a stroll through a typical application development cycle, the opportunities become clear. All app dev starts with documents: architectures, functional specs, sequence diagrams. Documentation (online and hard copy) builds off these. These documents are the hard assets of development, the points of synchronization. As our teams continue to become more physically dispersed, crossing national boundaries and time zones, these become even more critical. Applications like Google apps will play an essential role here. By being essentially free, they fit into the emerging conception of what we expect out of cloud development tools and infrastructure.

    Web 2.0 taught us the importance of social communication. This is also an important and often overlooked component of development. Cloud has a lot to offer here. Cloud can host instant messaging (I see developers in adjacent cubes using this every day to communicate). Cloud host are a perfect medium for status reporting and/or blogging about interests or tangents that may trigger important insights among the team. Even Twitter has a role to play here by providing the most up-to-date picture of issues people face or solutions they have come up with.

    You cannot do modern software development without a good repository. We use Subversion, but this could easily be hosted in the cloud where I don’t have to worry about backup any more. Builds, which can consume an inordinate amount of resources, should take place in an elastic environment. Image management is a huge issue, and having lots of cheap storage is extremely valuable.

    The cloud can also offer inexpensive access to other infrastructure that might otherwise be very expensive to acquire. Databases, app servers, message-oriented middleware (MOM), identity and access management systems—these are expensive and difficult to set up, and a pre-configured cloud installation can solve significant logistical, management, and acquisition challenges.

    Test is low-hanging fruit for cloud, and there are a number of companies specializing in this already. Put Bugzilla in the cloud. Put the test case database in the cloud where everyone can get it and you can be assured it will be backed up. Modern QA needs lots of virtualized images all the time, so this is a no-brainer. I use to pour money into test system hardware; I should never have to do this again.

    With continued pressure on resources, automating test is critical. I want automated regression to run on every new image. Performance and load testing traditionally is very expensive if you have to create your own lab (try creating many 10s of thousands of complex XML transactions per second for weeks). Endurance testing—setting up a reasonable load for long term (3-6 months)—is another important area (too often overlooked by QA teams) where cloud could help.

    One interesting new area for development is going straight from development to distribution. Cloud can potentially dis-intermediate between these processes. The earlier eBizQ question around the iPhone app store touched on this potential change to the economics and agility of software distribution.

    Finally, remember that development, QA, and documentation is only a small part of the full application development life cycle. Our support organization has access to virtualized images of every release my company has ever done to diagnose customer issues. The cloud is a perfect host for these.

    And don’t even get me started on cloud IDEs…

  • I’m very much in agreement with Phil. My specific angel is that these new accents are not necessarily driven by Cloud Technology – rather they are enablers of the Cloud and catalized/amplified by it. The ubiquitous availability of Cloud based resources contrasts with the cumbersome, specialized and slow paced traditional coding and development. Fast prototyping, short development cycles, abstraction of technical considerations and service reuse are much more “natural? or fitting with the Cloud. In addition, integration capabilities which are an integral part of Cloud enabled application platforms facilitate the reuse of existing IT assets in newly developed composite applications, built as Rich Internet Applications.

    The Cloud also facilitates the implementation of Situational Applications, which is yet another flavor – to be distinguished from Enterprise Applications.

    The bottom line – we’re looking at a rather bright future from an application consumer perspective, and a bit more challenging from an application producer’s one (re the widening gap between saas demand and supply).

  • Today's rapidly evolving cloud computing environment dramatically reduces the cost of application development, which in turn can accelerate the application developmment process by lowering the economic barriers. It can also increase the quality of the development process by breaking it into smaller portions (i.e., hyper-agile) and permitting greater collaboration among developers.

  • Having recently seen a number of presentations about Cloud, it has struck me that like SOA, we are seeing the same boxes being placed in a similar pattern and there seems to be an assumption that they will simply communicate with each other. Is it any wonder that people are turned off some of these new advances in technology when the powerpoints make it look so easy. The Cloud offers some fantastic benefits in terms of making resources available easily and 'on demand', however, if the applications that are implemented within the cloud are using proprietary technologies to talk to each other, they will become locked to the one Cloud. One of the dreams of Cloud Computing is an ability to pick the best Cloud based on your most important criteria be that cost, availability etc. Then why should you not be able to roam from Cloud to Cloud as the criteria change ? We believe that the usage of standards based interfaces to communicate between applications in the Cloud gives the best of both worlds as discussed here.. This covers a number of points made by previous contributors to this list to address how the Cloud can be used as a very effective development environment and enabling the deoployment of Cloud developed or even legacy services within a Cloud where appropriate.

  • To answer the question "what is the future of application development in the cloud" it is useful to consider that the cloud is real, it makes total economic sense and is here to stay.

    Consider the following analogy. In the USA in 1910 - 95% of electricity that was consumed in business, was generated on premises (that's why so many factories were located near water to drive hydro electric power generation.) By 1930, 95% of electricity that was consumed in business was generated by the electric grid (the cloud of electricity) - why? Simply put - It was much cheaper.

    So once we accept this inevitable trend towards the cloud, the next question is which tools are going to take a leadership position in terms of offering the cheapest way (because of productivity) for building modern ajax based web apps

    Remember that the decision makers driving all of this are the folks who have to buy IT services AND they are going to demand the cloud AND they are going to demand the use of development tools (for user satisfaction and productivity reasons) that allow for the creation of web based apps that perform like desktop apps in terms of speed, RIA and fine granular control -- (ie AJAX apps)


    Regards
    Richard Rabins
    richard@alphasoftware.com

    (full disclosure - this summer we will release Alpha Five v10 which focuses on building ajax apps for the cloud without having to code)


  • The questions begets the question, "what's so different regarding application development in Cloud Computing?" The Cloud is merely a tool that has emerged to simplify certain problem domains we're already working on, but that has certain hurdles. One of these hurdles is scale, the other is accessibility. The public Cloud provides developers with the tools they need to develop solutions that require these attributes without significant up front investment.

  • Future application development in Cloud Computing is very likely to happen using a 4GL interface. With this, applications would have a shorter life cycle - like Facebook widgets, changing every 3-6 months. 4GL would entail lesser custom coding and more configuration.

    PaaS, a key component of Cloud Computing, needs to be able to abstract the application development activity and unleash the power of 4GL for new application development.

  • My take on this is that it's all about being able to assemble applications rather than program them - so in answer to JP's point the difference is the availability of "almost" ready to use services. Another aspect is the depolyment of those applications.

    Consider Apple and the iPhone. The success of the App Store for the iPhone is nothing short of phenomenal. Apple recently reported more than 1 billion downloads in less than a year’s operation – there are over 35,000 applications ready and waiting for iPhone users to access. Is this the way forward for applications?

    Look also at the Salesforce.com approach. Their strategy was to target the needs of specific audiences. In the early days of salesforce.com many salespeople of large organizations were using it on their laptops without their IT departments being aware of it. Once they had captured these key users, they addressed the needs of developers and small companies to build add-ons and generate additional revenue through the AppExchange. Salesforce.com subscribers grew from 30,000 in 2000 to just under 1 million in 2007.

    So it's all connected with services - business services - being able to assemble applications from readily available services makes this a very different ball game.

    Dr. Richard syskes describes it as follows:

    "we need to consider the four game changing developments: consumerisation, commoditization, virtualization and globalization .

    Consumerisation of the capabilities of IT has been lead by the likes of Amazon and Google. From the start they have created service infrastructures (data processing, data storage, network integration) designed around the principle of ‘one to many’ and able to handle very high transactional loads reliably, securely and at very low unit cost.

    In so doing they have extended commoditization of the capabilities of IT from its original home in telecoms – and given a lead to companies such as salesforce.com who, capturing the key aspects of CRM in powerful software, delivers an on-demand CRM service ‘offer’ over the Net that is self-configurable and highly competitive cost wise.

    Virtualization, the emergence of ‘new generation’ technical architectures (SOA, ‘Over IP’, Web 2.0 etc) whose chief aspect is to enable delivery of ‘loosely coupled IT’ in the place of the tightly coupled architectures that have dominated the scene hitherto fore.

    Globalization has taken on new meaning this decade, with the impact of the BRICs economies, their spawning of new globally competitive players and an increasingly global ‘market for talent’ - but perhaps even more importantly with the rapid development of the Web (enabled further by the broadband revolution) as a global services-delivery highway."


    So if you accept for a moment that writing applications from scratch to specific environments makes little sense who will ever write a windows application from scratch again?

    What an outrageous thing to say! How could anyone possibly think that? – it would almost spell the end of Microsoft as we know it!!!

Add a Reply

Recently Commented On

Monthly Archives

Blogs

ADVERTISEMENT