Why “Cloud” Development Will Change The World

Development Will Change The World

Back 18-24 months ago,  the three primary application stores for mobile devices passed the One Million total available application milestone. Today, we have moved well beyond that total and there is no stopping the growth.

What however is happening is that applications are built and thrown out for consumption without some of the standards that would benefit the users of the applications. The four pillars of cloud application development.

  1. Scalability
  2. Elastic
  3. Storage Agnostic
  4. Device Agnostic

Pillar one is scalable applications. Now when you think about scalable from a traditional cloud computing perspective you look for the ability to add processing power to your solution as you need it. Scaling up or down depending upon the traffic your application or applications drive. For the mobile device scalability takes on a new meaning. What can the device do? Applications built to take advantage of the small footprint of a smart phone are not simply recreations of existing applications. They extend the exceptional functionality of the smart device (portability) while accepting and developing around its limitations (bandwidth, screen size, video processing power).

Pillar two is elasticity which takes on another meaning for cloud applications. The first part of traditional elasticity is on the fly rapid growth of processing power. For cloud applications that are delivered to a variety of platforms, this elasticity becomes more of a shared processing answer to a problem (where do we get the processing power needed for a solution). Where scalability looks for the limitations of the device being used in this solution elasticity knows the device you are using and offloads the processing for the solution to the right location. There are two distinct flavors of cloud application elasticity.

  • Device knowledge and on-loading/offloading of required processing
  • Device knowledge and focused solution delivery

The first is quite simple; the application is aware of the platform you have accessed it from and is elastic in the sense that it knows where the primary processing can take place. Almost a performance rating of the connectivity and device you are using prior to delivering information to you.

Device knowledge and focused solution delivery takes that a step forward. When your interacting with another user and wish to send them information, the solution is aware of the device the recipient is using. The elasticity here is in responding to the “sender” of information noting the type of device the “recipient” is using. In the case of smart phones, allowing the sender to select a portion of the document for the recipient to review. In the case of a smart phone recipient, the solution can then only forward the required information rather than the entire document.

Pillar three is the concept of being storage agnostic. This is not a hardware discussion where we don’t care who made the disk, the rpm of the disk or even the physical frame the disk is in. Rather it is allowing for the application of the concepts of cloud storage to be applied. Applications that don’t require constant data but are able to allow for offline use are critical. These “storage agnostic” applications now begin the pattern of use case application. If I have an application that has critical information and I have noted that I am traveling in an area with poor cellular service, prompt me to download the information before I enter the bad cellular area. Or prompt me that I don’t have the space or bandwidth to download the information and be prepared to not have that information available.

Pillar four is the concept of being truly device agnostic. Many years ago, Java (write once use many times) was introduced as the unified platform regardless of hardware. It failed to work more often than it did, but the concept of write once use many is the basis of Pillar four.

  • Devices have different capabilities be aware of the users device
  • Device Operating Systems have different capabilities be aware not only of the OS, but also the version of the OS being leveraged. The first concept is known by everyone. Depending upon your personal device preference you are intimate with the strong point and weak point of the various devices that are available. Within applications, the developer needs to be aware of what happens on each device as they go forward. Additionally users may have a number of different devices. Rule one of Pillar four is to be aware of the user’s devices, and which device is connected right now.

Within the various devices now also be aware of the Operating System and the version of the operating system on the device. Being aware of the limitations and capabilities of each OS type within a device family and beyond that aware of which specific device that user is using to connect to the solution rounds out this requirement.

By Scott Andersen

Sebastian Grady

Digital Transformation – Updated Metrics for the Cloud Era

Cloud Era Metrics Undertaking digital transformation means also transforming how IT success is defined, including metrics that address business in the cloud.  With up to 90% of budgets spent keeping the lights on, cost is ...
Sangeeta Chhabra

What Accountants Should Know About The Cloud

Cloud Accounting Cloud technology has been at the top of the charts of new-age technologies for a long time now. Almost every industry in the world has started realizing its capabilities and integrating cloud strategies ...
Money Big Data

How Bitcoin Brought The Lightning Network To El Salvador

The Lightning Network El Slavador made waves last month after becoming the first country to adopt bitcoin as legal tender. El Salvador’s Congress voted by a “supermajority” in favor of the Bitcoin Law which states, ...
Anita Raj

A Winning Data Strategy Series Part 2: Data, an Asset, or a Liability?

Data, an Asset, or a Liability? This is the second piece of a 5-part series on plugging the obvious but overlooked gaps in achieving digital success through a refined data strategy. You can read the ...
Shells.com – Your Personal Cloud Computer

Shells.com – Your Personal Cloud Computer

Personal Cloud Computer Shells, a robust virtual desktop infrastructure, ensures better performance by enabling its users to incorporate a layer of virtualization between the control server and any device that they choose. This way, it ...
Ronald van Loon

Operationalizing AI at Scale with ModelOps

Scaling with ModelOps Putting artificial intelligence (AI) into production can be a frustrating experience for organizations, one often destined for failure. In fact, only 53% of AI projects actually move past POC and into production ...