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

Metasploit-Penetration-Testing-Software-Pen-Testing-Security
Vulnerability Scanners Cyber security vulnerabilities are a constant nuisance and it certainly doesn't help with the world in a current state of disarray and uncertainty. Vulnerabilities leave businesses and individuals subject to a wide range ...
Episode 16: Bigger is not always better: the benefits of working with smaller cloud providers
The benefits of working with smaller cloud providers A conversation with Ryan Pollock, VP Product Marketing and Developer Relationships for Vultr.com - Everyone knows who the big players are in the cloud business. But sometimes, ...
Rajesh Khanna
Implement Hyperautomation to Scale Automation Programs by 3X Most Digital Service Providers (DSPs) struggle to accelerate their path to Hyperautomation due to the complex processes with legacy systems and applications. Although Robotic Process Automation (RPA) plays a ...
Gilad David Maayan
What Is SSPM? SaaS Security Posture Management (SSPM) is a set of security tools that an organization’s security team can use to gain visibility and manage security for their Software as a Service (SaaS) applications ...
Yuliya Melnik
Heroku or AWS Cloud infrastructures are gradually starting to penetrate into an increasing number of areas and various businesses. And this is not surprising because such a ploy allows you to improve internal processes, protect ...

SECURITY TRAINING

  • Isc2

    ISC2

    (ISC)² provides IT training, certifications, and exams that run online, on your premises, or in classrooms. Self-study resources are available. You can also train groups of 10 or more of your employees. If you want a job in cybersecurity, this is the route to take.

  • App Academy

    App Academy

    Immersive software engineering programs. No experience required. Pay $0 until you're hired. Join an online info session to learn more

  • Cybrary

    Cybrary

    CYBRARY Open source Cyber Security learning. Free for everyone, forever. The world's largest cyber security community. Cybrary provides free IT training and paid IT certificates. Courses for beginners, intermediates, and advanced users are available.

  • Plural Site

    Pluralsite

    Pluralsight provides online courses on popular programming languages and developer tools. Other courses cover fields such as IT security best practices, server infrastructure, and virtualization.