@CloudExpo Authors: William Schmarzo, Stefana Muller, Elizabeth White, Karthick Viswanathan, Pat Romanski

Related Topics: @CloudExpo, Java IoT, Wearables

@CloudExpo: Article

Amazon Vets Social Mobile Cloud Apps

AWS Betas SDKs for Android and iOS

Amazon Web Services has announced the beta availability of new mobile software development kits for the Android and iOS platforms.   It was previously possible to write apps for those devices that could work with the Amazon cloud, but it wasn't easy.  As the announcement on the AWS blog points out:

"Previously, developers either wrote their own libraries to handle the HTTP connection, request retries, and error handling, or built additional infrastructure to proxy the API requests through a server fleet."

Now, though, developers can call AWS web service application programming interfaces directly from mobile apps running on Android smartphones, tablets, and the new Chrome netbooks, or alternately on Apple's iPhone, iPad, and iPod Touch devices.

As you might expect, the Android kit is written in Java and the iOS one in Objective-C, which are similar, but incompatible programming languages.  This means that developers will have to write different versions of their applications for each platform.

With the ascendancy of Android, cross-platform development tools have become something of a growth industry and there might be one out there now or soon that could mitigate this problem, but the prospects are not very bright.

Between Apple's draconian monolinguistic App Store acceptance policies, the expanding array of differences between the two platforms' UI features, and the performance toll that seems to come with most cross-platform technologies, going native seems like the inevitable best approach.  As one experienced developer puts it:

"I would never recommend a cross-platform tool.  Most of these tools support each platform far worse than any native technology.  If you want to develop for multiple mobile platforms, I say, bite the bullet and learn the different technologies."

Good advice.  And, developers addressing both platforms can take considerable comfort in knowing that the two SDKs at least both support the same set of Amazon services, enabling them to offer app versions for the two platforms with a completely common feature set.

The AWS mobile SDKs enable apps to access services for storage (S3), database (SimpleDB), and messaging (SQS and SNS), which together make a very wide variety of new cloud apps possible, as well as enabling mobile devices to now access existing business and consumer applications based on those services in the Amazon cloud.

Using the Simple Storage Service (S3), apps can securely store and retrieve data objects of all sizes and types, including documents, photos, and audio and video media files.  S3 provides built-in data redundancy, support for both REST and SOAP programming interfaces, and support both HTTP and BitTorrent download protocols.  And, with Amazon's CloudFront caching and distribution services, content can be efficiently and quickly distributed via a global network of edge locations.  This combination of storage-related capabilities can be used to build mobile apps for document sharing, media streaming and downloading, device backup, and more.

SimpleDB is Amazon's easy to use non-relational database that applications access using simple web service requests.  It does not require pre-defined data schemas, it permits on-the-fly data model changes, it indexes all data automatically, and it is designed for easy integration with other Amazon web services.  SimpleDB is especially well-suited to support mobile apps that require a mix of structured and unstructured data and scalable simultaneous user access, like games and social networks.

Even more compelling than the above, though, are the mobile SDKs' messaging features in the form of support for Amazon's Simple Queue Service (SQS) and Simple Notification Service (SNS).  Together, these services can be used to create sophisticated applications that incorporate asynchronous message passing and publish-and-subscribe communications and are especially well-suited to mobile devices.

SQS allows an application instance on one device to create a message and send it to a server in the Amazon cloud from where it can be passed to another device when it is available to receive the message.  This mechanism has been commonly used for years in applications like transaction processing to queue transaction data en route from an originating system until the destination system is available to receive it, making sure that the data is not lost or over-written before it can be recorded properly.

In applications involving mobile devices, which are not always on-line, this is an especially handy application capability.  When a message must travel from one mobile device to another, the Amazon messaging infrastructure automatically handles the holding, targeting and sending of the message so that it sure to be received.  This is done without the need for any extra messaging logic or code on either mobile device.

SNS is a service that enables cloud-based applications to publish messages pertaining to a given topic and have them sent by the Amazon infrastructure to devices on which an application or user has registered an interest in that topic, using their protocol or choice, e.g. HTTP, email, etc.  SNS uses a "push" mechanism, which obviates the need for people or apps to periodically check for new messages by polling a server.

Again, this is especially useful for mobile applications because it saves battery life by not forcing the mobile device user to connect to check for message and it enables a single message to be delivered to a number of mobile devices simultaneously without a sequential series of transmissions.  As with SQS, this is done without the need for additional application logic on the mobile devices.

Together, SQS and SNS can be used to create sophisticated mobile apps for workflow management, collaboration, remote monitoring, social networking and much more.

The release of these mobile SDKs for Android and iOS are an important event for Amazon Web Services on its path to public cloud domination.  Amazon has already built the infrastructure and an impressive array of services on it, and all of that is the fundamental foundation for any cloud.  But, applications which are mobile and social, for both consumers and business, are what will make cloud computing more than just virtualized client/server.  And, for the Amazon cloud, they are what will make it a great platform for the next innovation ecosystem.


More Stories By Tim Negris

Tim Negris is SVP, Marketing & Sales at Yottamine Analytics, a pioneering Big Data machine learning software company. He occasionally authors software industry news analysis and insights on Ulitzer.com, is a 25-year technology industry veteran with expertise in software development, database, networking, social media, cloud computing, mobile apps, analytics, and other enabling technologies.

He is recognized for ability to rapidly translate complex technical information and concepts into compelling, actionable knowledge. He is also widely credited with coining the term and co-developing the concept of the “Thin Client” computing model while working for Larry Ellison in the early days of Oracle.

Tim has also held a variety of executive and consulting roles in a numerous start-ups, and several established companies, including Sybase, Oracle, HP, Dell, and IBM. He is a frequent contributor to a number of publications and sites, focusing on technologies and their applications, and has written a number of advanced software applications for social media, video streaming, and music education.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

CloudEXPO Stories
"We do one of the best file systems in the world. We learned how to deal with Big Data many years ago and we implemented this knowledge into our software," explained Jakub Ratajczak, Business Development Manager at MooseFS, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Traditional IT, great for stable systems of record, is struggling to cope with newer, agile systems of engagement requirements coming straight from the business. In his session at 18th Cloud Expo, William Morrish, General Manager of Product Sales at Interoute, will outline ways of exploiting new architectures to enable both systems and building them to support your existing platforms, with an eye for the future. Technologies such as Docker and the hyper-convergence of computing, networking and storage creates a platform for consolidation, migration and enabling digital transformation.
Using new techniques of information modeling, indexing, and processing, new cloud-based systems can support cloud-based workloads previously not possible for high-throughput insurance, banking, and case-based applications. In his session at 18th Cloud Expo, John Newton, CTO, Founder and Chairman of Alfresco, described how to scale cloud-based content management repositories to store, manage, and retrieve billions of documents and related information with fast and linear scalability. He addressed the challenges of scaling document repositories to this level; architectural approaches for coordinating data; search and storage technologies, Solr, and Amazon storage and database technologies; the breadth of use cases that modern content systems need to support; how to support user applications that require subsecond response times.
An edge gateway is an essential piece of infrastructure for large scale cloud-based services. In his session at 17th Cloud Expo, Mikey Cohen, Manager, Edge Gateway at Netflix, detailed the purpose, benefits and use cases for an edge gateway to provide security, traffic management and cloud cross region resiliency. He discussed how a gateway can be used to enhance continuous deployment and help testing of new service versions and get service insights and more. Philosophical and architectural approaches to what belongs in a gateway vs what should be in services were also discussed. Real examples of how gateway services are used in front of nearly all of Netflix's consumer facing traffic showed how gateway infrastructure is used in real highly available, massive scale services.
By 2021, 500 million sensors are set to be deployed worldwide, nearly 40x as many as exist today. In order to scale fast and keep pace with industry growth, the team at Unacast turned to the public cloud to build the world's largest location data platform with optimal scalability, minimal DevOps, and maximum flexibility. Drawing from his experience with the Google Cloud Platform, VP of Engineering Andreas Heim will speak to the architecture of Unacast's platform and developer-focused processes.