The commoditization of technology has reached its pinnacle with the advent of the recent paradigm of Cloud Computing. Infosys Cloud Computing blog is a platform to exchange thoughts, ideas and opinions with Infosys experts on Cloud Computing

« October 2009 | Main | December 2009 »

November 30, 2009

Dallas – Information as a Service

     We are witnessing information explosion over the internet, tons of information is getting accumulated in. However, we still struggle to get the “Accurate and Authentic Data”. Have you ever needed the zip code of a city, route to reach a place, dining menu of restaurants, weather forecast and history, crime rates in a specific area of city? This list just goes on. How do we get this data? Search this information on our favorite search engines and rest in peace when we find it!! But, do we really know whether the data which we got is really accurate?! It could be stale, misleading or just plain inaccurate!! Why can’t you get information as easily as you can get a size 40 Creamy white Louis Philippe shirt or maybe a striking green 8 GB IPOD shuffle; because INFORMATION is not commodity yet!! 

Continue reading "Dallas – Information as a Service" »

November 20, 2009

MYOC - Telephony with Twilio to Vote

MYOC (Make Your Opinion Count) – an online poll application hosted on Microsoft Azure, uses Twilio to make it easier for people to participate in the online polls. Twilio is telephony in the cloud which exposes RESTful APIs to build scalable voice applications. It supports both inbound and outbound telephony calls. Pricing is developer friendly with pay-as-you-go model.

MYOC uses Twilio in two ways –
1. Poll creator can place a call  for participant to caste his/her vote
2. A participant can dial-in for a particular poll to caste his/her vote

Let’s see what all it takes to use twilio in MYOC to call a participant and accept his/her vote or to handle an incoming call to cast a vote.

Continue reading "MYOC - Telephony with Twilio to Vote" »

Infosys on-boarding ISV's on the cloud - 2

In this blog, I will continue the discussion on a possible migration scenario of migrating existing ISV application to Azure. If you haven’t read my previous blog on this topic, then you can go here...

Continue reading "Infosys on-boarding ISV's on the cloud - 2" »

Points to notice while migrating data from traditional database to Azure SQL

Generally when it comes to migrating heavy data from one SQL server to another, among others following approaches are widely used:

1.       Using SSIS package

2.       And using BCP.

One needs to keep in mind a few points for the fruitful migration without any anomaly.

For one of our project we used SSIS package for migrating data but hit upon a few glitches in the course of our task.

Find more info here

November 19, 2009

Get Agile, Get on Azure

Software engineering methodologies are evolving to address the complexity and probable dynamism of the business requirements. One of the methodologies –Agile - helps teams respond to the unpredictability of building software through incremental, iterative work cadences, also known as sprints. In an agile paradigm, every aspect of development — requirements, design, etc.  is continually revisited throughout the lifecycle creating high visibility of the progress to all the stakeholders in the application development process. Traditional methodology involves creating the requirements for the complete application and then the development team almost goes into hibernation to develop the application and more often than not ends up giving unpleasant surprises to business. Nobody inclusive of the SMEs sometimes is able to visualize the final application state; moreover the demands are changing and creating chaos in the development process.  AGILE comes to rescue as all the stakeholders are involved in the application development process beginning with the first iteration. Instead of building what developer understands or rather interprets and showing end product collectively, we prefer to show application in pieces take feedback and improve in an iterative manner. It becomes a continuous improvement process.  AGILE gives a good visibility on development process, application feature sets and planning process to all stakeholders.

  There are a few challenges in implementing AGILE methodology in general. Traditionally, there are certain challenges in web application development using agile methodology majorly in infrastructure setup and release management process.

Environment Setup
   Firstly, the key challenge - being able to make the application accessible from anywhere to all the non-co-located stakeholders. Further the deployment environment created has a few issues. To make an intermediate application (sprint) available over the internet to a disparate set of people to get their feedback, we need to setup an independent infrastructure which is a DMZ kind of setup. This infrastructure is managed by an independent IT team which is mostly isolated from the development team. The process of procurement, provisioning and hardening this infrastructure consumes a good amount of resources in terms of time, IT management, people and hardware cost. Since, it is a time consuming process it might cause iterative slippages in the overall development cycle. In Windows Azure world the procurement, provisioning and hardening is outsourced, we setup an application in minutes and it is ready to utilize immediately. It helps to avoid the delay in first feedback cycle avoiding any overall slippages.


Release Management
  Second aspect is that the Sprints (Build for set of features) are required to be deployed regularly and this needs to be done quickly to get the real benefits of agile process; release management becomes very crucial. In a traditional approach of release management, the deployment is done by an IT team from within their location. Deployment process gets delayed in terms of educating the IT team for application specific deployment and configurations. There are high chances of oversight and issues in versions of the application build provided to the IT team for deployment. How many times have you encountered the weird issue of something working at the developers end but not so at the deployment team’s end? Generally, the issues arise because of wrong configuration and deployment contributes large chunk in overall life cycle.  These issues employ a good amount of time to fix them, which is completely unnecessary. To address these issues in traditional approach, we need stringent deployment process, documentation, test deployment, verification etc. The stringent process consumes time and resources causing a very hideous shift in focus. The bottom line; to be Agile is to be able to release quickly, take feedback, implement and go back in release. Azure deployment process is pretty much easier and doesn’t depend on the source location of the deployment. Very important point is; it can also be straight away done by the development team itself so chances of configuration and wrong versions are reduced. It gives another practical benefit of fixing the issues in deployment quickly by the developers and which reduces an unnecessary layer of issues; communication; providing unnecessary fixes to an independent IT team. Practically the right people to solve the application issues in application deployment are Developers and if they have an easy and quick access to deployment then it quickens the process. Azure also brings location independence for deployment. Deployment can be done from anywhere and anytime.
 
 There are challenges in traditional approach to setup an internet enabled application deployment infrastructure. The next thing that comes to my mind is the non-reusability. Let me elucidate its essential to setup a domain name for users to be able to reach to the intermediate application over the internet. Huge Investments are made in making this infrastructure secured enough to address vulnerabilities. (Generally) The sad part being these resources are not going to be used in the final production environment considering the production environment is physically a totally different data center. This makes the investment a complete waste. You must have already gauged the benefit of getting on to Azure in this aspect as well. Let’s summarize agile implementation with and without Azure.

Measures

Without Azure

With Azure

Procure or allocate Infrastructure for intermediate application

Time consuming Process

Quick and Easy

Hardening the Infrastructure

Time consuming and need to done carefully

Quick and Easy

Release Management

Development and IT team is involved. Time consuming and error prone

Less time consuming and can be done by the developers hence less error prone

Application Fixes and upgrades

Turnaround time is high due to involvement of an isolated team

Less turnaround time

Cost benefits

Less. Infrastructure cost for intermediate application and reusability is very less

Due to elastic nature, charged only for usage

Security

Need to address locally. Expensive in terms of resources and time

Offloaded to Azure

To share something from my first hand experience with a web application (ASP.Net) development where customer insisted we use Agile Methodology SCRUM. We used to add a small set of features and functionalities and seek the customer’s feedback on changes, requirements and planning for the next build. Most of the heart burn and the issues in implementing this model rose from the infrastructure and deployment related roadblocks. We spent more time resolving these peripheral bottlenecks rather than getting the detailed feedback for the build. Since, I have started exploring Azure I realized how easy, convenient and inexpensive it would be to develop the same web application with the same methodology but on AZURE.

To diagrammatically represent what I feel about AGILE with and without Azure.

Agile on Azure

 To focus on the application development process rather than the secondary activities of infrastructure setup, release management, Azure brings lot of advantages to the table. Azure helps being more agile in the dynamic business and application development process. Hope to see software engineering processes tweaked and suited to derive the most out of such technology evolutions.

MYOC - Update Twitter Status

In this blog we’ll see in details how sending a tweet from a particular twitter account programmatically works on Azure.

Continue reading "MYOC - Update Twitter Status" »

MYOC - E-mail Invite Notification

In this blog we’ll see how e-mail notifications can be sent to the participants to cast their vote for a poll using Microsoft Live.

Continue reading "MYOC - E-mail Invite Notification" »

November 18, 2009

MYOC - Building RESTful services on Azure

In this post on the MYOC series, we will look at how RESTful services can be build on Windows Azure. Building RESTful services may be no different than how you would do it traditionally on-premise. Nonethless this post will detail the steps in building REST services in Azure and additional steps which need to be considered while developing a service for Azure.

Continue reading here

MYOC - Make Your Opinion Cloud- Series 2

Following my previous blog, on the MYOC system requirements, here I shall be covering the solution design of MYOC.

Continue reading here

MYOC - Enabling Federation on Azure Applications using Windows Identity Foundation

As a part of the current work we are trying to provide Federated Authentication in Azure Application. We want to develop a web application in Azure which would outsource authentication service to another component which would in turn authenticate users with its own enterprise. The basic idea is to be able to provide access to authenticated users from trusted organizations. As a sample we will use MyCompany as one of the trusted organizations. 
To achieve this we explored Windows Identity Foundation (previously called as Geneva Framework). Windows Identity Foundation provides Claims based Identity Management. It means the applications would have only authorization logic as per the claims (attributes) of the users since these claims are certified by a trusted source; these claims are secured also and hence can be trusted by the authentication mechanism. Using this framework authentication can be outsourced to some other central application or central storage and develop a claim aware application. Hence there is no need to bother about plumbing of the authentication code; one can just make use of the trusted claims received from the application which takes responsibility for authentication.

You might have got the point; this claims based model can be extended to achieve Enterprise SSO / Web SSO / Federated Authentication.

Before drilling down into the solution let us get introduced to some basic terminologies used in Windows Identity Foundation:

 

Term

Definition

claim

A statement that one subject makes about itself or another subject. For example, the statement can be about a name, identity, key, group, privilege, or capability. Claims are given one or more values, and then they are packaged in security tokens that a security token service (STS) issues.

claim type

The type of statement in the claim that is made. Example claim types include FirstName, Role, and Date of Birth. The claim type provides context for the claim value.

claim value

The value of the statement in the claim that is made. For example, if the claim type is FirstName, a value might be Matt.

digital identity

A set of claims that represent a subject.

identity provider

An organization that issues claims in security tokens for a particular transaction. For example, an identity provider, such as a university, might issue a claim in a security token that enables one of its students to purchase books and materials from the university’s Web site that is managed by a contracted relying party organization.

identity provider security token service (IP-STS)

A software component or service that an identity provider uses that issues claims and then packages them in security tokens.

policy

A set of parameters that an STS requires to identify relying parties, identity providers, certificates, account stores, claims, and the various properties of these entities that are associated with the STS.

relying party

An organization that uses the claims in security tokens that an identity provider issues. For example, an online auction Web site organization might receive a security token with claims that determine whether a subject can access all or part of a relying party's application.

relying party application

Software that can consume claims in security tokens that an identity provider issues to make authentication and authorizations decisions.

relying party security token service (RP-STS)

A software component that uses the claims in security tokens that an IP-STS issues. The RP-STS receives the security token, verifies the signature, maps the claims, and then generates and signs new security tokens that a relying party application consumes.

security token

A collection of one or more claims. Security tokens are usually packaged in standard formats for interoperability. Common formats for security tokens include Security Assertion Markup Language (SAML), X.509, and the Kerberos authentication protocol.

security token service (STS)

A software component that is used to issue claims and packages them in security tokens.

subject

A person, organization, or thing that is described or dealt with.

Active Clients

Active clients refer to the smart clients who are capable of executing the claims services by their own. In this case clients retrieve the policy for Relying Party calls the service from STS to get claims and submit the claims back to the Relying party. Policy, Claims retrieval and submission logic is implemented by client itself.

Passive Clients

Passive clients refer to the web browsers which do not have capability to execute code by their own. In this case The user points his browser at a claims-aware web application (relying party). The web application redirects the browser to the STS so the user can be authenticated. The STS authenticates the user via standard HTTP mechanisms, and then creates a SAML token and emits a bit of JavaScript that causes the browser to initiate an HTTP POST that sends the SAML token back to the relying party.

  *Source: MSDN

Let us try to make it clearer with a diagram and flow of events with a scenario.
Scenario: A user should be authenticated with his/her Active Directory credentials when he/she tries to access a web application. This scenario can be extended, to be able to get users authenticated with their own enterprise active directory domain.

Note: When we started realizing this scenario, “Geneva Server” (Now called as ADFS) was not supporting Integration with Azure based application. The implementation of exposing authentication service over .Net Service Bus is a workaround to overcome the issue. Still, the concepts of Windows Identity Foundation, ACS and STS are relevant.  

Federation Roles

Diagram1: Federated Authentication Flow – Explained with Roles

  1. User /Subject sends a request to access the Claims Aware App (Relying Party) 
  2. Claims Enabled Client Application is configured to receive the token from .Net Service Access Control (RP-STS) but Identity Provider is Custom IPSTS, hence the request redirects to Custom IPSTS which is acting as IP-STS here
    • a. Custom IPSTS renders forms authentication screen where user needs to select the domain to which he/she belongs to. Internally, as per the domain selection Custom IPSTS application calls the respective .net service passing user name and password to the service bus. This communication is secured using transport security. Microsoft best practice is to also use the message level security. 
    • b. .Net service bus is configured to call the respective on premise authentication service.  Once the on premise service authenticates the users, it returns the authentication flag to IPSTS
  3. After authentication IPSTS issues a Security Token which contains User’s/Subject’s claims, in our case it is user name
  4.  As per the configuration the Claims received from the Custom IPSTS gets passed to Access Control Service (RP-STS). Trust relationship between ACS and Custom IPSTS is already setup by means of certificate policy
  5. Access Control Service then validates the issuer and transforms the claims. Transformation includes generating new set of claims from issued claims and asserting its own security token. The transformation of Claims is called as Rule in ACS. Note that Relying Party must get claims/Security Token from configured ACS only
  6. Claims/Security Token/Digital Identity issued by ACS (RP-STS) is passed to Claims Aware App (RP) which validates the issuer and trusts the token. Provides access as per the claims received

Let’s map sample applications to the specific role and drill down into the implementation specifications

Application

Purpose

Application Deployment

https://myoc.cloudapp.net

Claims enabled application. Relying party to token issued by ACS

Web Role Deployed in Azure

https://mynetservice.accesscontrol.wind
ows.net

RP-STS- Relying Party Security Token Service which issues the token to Claims Enabled Application

Azure Access Control Service configured with an application id

https://customIPSTS.cloudapp.net

Custom IP-STS – Identity Provider Security Token Service which is responsible for issuing authentication token to ACS RP-STS

Another Web Role deployed in Azure

https://mynetservice.servicebus.windows
.net/SecuredAuthService/

On premise authentication service end point registered on the .Net Service Bus. This service is consumed by customIPSTS to authenticate users

A custom .net Service bus running on premise and registered with Azure .Net Service Bus configured with an application id

 

Federation Applications

Diagram2: Federated Authentication Flow – Explained with sample Applications

  Let us revisit the flow, this time with applications and not with only the roles

  1. User/Subject wants to access a web application from his/her browser, sends a request to access to http://myoc.cloudapp.net
  2. http://myoc.cloudapp.net is configured to receive the token from .Net Service Access Control https://mynetservice.accesscontrol.windows.net but Identity Provider is Custom IPSTS, hence the request redirects to https://customIPSTS.cloudapp.net

    a. Custom IPSTS renders forms authentication screen where user needs to select the domain to which he/she belongs to. Internally, as per the domain selection Custom IPSTS application calls the respective .net service https://mynetservice.servicebus.windows.net/SecuredAuthService/  passing user name and password to the service bus. This communication is secured using transport security

    b. https://mynetservice.servicebus.windows.net/SecuredAuthService/ .Net service bus is configured to call the respective on premise authentication service.  Once the on premise service authenticates the users, it generates a forms based authentication cookie and returns the authentication flag to Custom IPSTS
  3. After authentication Custom IPSTS issues a Security Token which contains User’s/Subject’s claims, in our case it is user name
  4. As per the configuration the Claims received from the Custom IPSTS gets passed to Access Control Service (RP-STS) https://mynetservice.accesscontrol.windows.net. Trust relationship between ACS and Custom IPSTS is already setup by means of certificate policy
  5. Access Control Service then validates the issuer and transforms the claims. Transformation includes generating new set of claims from issued claims and asserting its own security token. Note that Relying Party must get claims/Security Token from configured ACS only
  6. Claims/Security Token/Digital Identity issued by ACS (RP-STS) is passed to Claims Aware App (RP) http://myoc.cloudapp.net which validates the issuer and trusts the token. Provides access as per the claims received

Implementation stack

Component

Implementation

Custom IPSTS

Renders forms based authentication user interface, which is secured by https. Consumes .Net Service to validate user. Implements Windows Identity Framework’s custom Security Token Service to generate custom claims. Also exposes Claims Policies and  Federation Metadata for ACS or any consumers

ACS

Azure Service where we need to register the Relying Party as consumer, Custom IPSTS as issuer. Need to configure rules for claims transformation

Authentication Service

This component exposes an end point on .Net service bus and responsible for authenticating users, generating forms based cookie

MYOC application

Relying party which depends on ACS tokens for authentication and uses the claims for authorization. Implements Windows Identity Framework Passive Federation with ACS and Custom IPSTS configured for authentication

 I hope this briefly explains about the custom federation achieved using Windows Identity foundation. In the next post we shall get into the nitty-gritty’s of each of these implementations and configurations to achieve federation with Azure applications.

 

November 17, 2009

Deploying non-microsoft applications on Azure

In my previous blog post, I had shown you a deployment model in which an application could leverage the capabilities of both on-premise as well as being on cloud. In that blog I had shown how application storage had been migrated from on-premise to the cloud.
In this post I will show you yet another deployment model possible on Azure and which may interest most of you who may have applications running on non-Microsoft technologies. I will discuss a model on how applications build on Java technologies can be deployed on Windows Azure and hence can reap the benefits of Cloud Computing.

More on "Infosys mConnect" in a Microsoft Paper is available here

Continue reading "Deploying non-microsoft applications on Azure" »

November 13, 2009

Infosys on-boarding ISV's on the cloud - 1

 Infosys on its part is helping Enterprises and ISV’s to adopt cloud.

Adopting this new paradigm of cloud computing; newer and innovative styles of using the cloud platforms will have to be explored. Here I shall walk you through one such case which demonstrates how we’ve helped one of our ISV customers, Volantis ,  to adopt cloud.  The detailed case study on this project done by Infosys is available here

Volantis is a developer of innovative solutions for mobile carriers. The company’s Ubik.com software makes it simple for users to point and click to create custom Web sites that are optimized for mobile devices.Ubik.com is a free online service that allows small businesses and consumers to quickly build a mobile Internet site, without having to write a single line of code.

To cater the applications non-functional requirements of being highly available and achieve global class scalability, which would help meet the demands a rapidly growing user base, Infosys helped Volantis to offload Ubik’s data storage on to the Microsoft Azure platform.

Click here to continue reading....

November 05, 2009

MYOC - Make Your Opinion Cloud- Series 1

Following up from my previous blog, which talked about the preparatory steps an enterprise can take towards adoption of the cloud. Now let’s take a look at how one such peripheral app we can build on the cloud.
In this series, I will be walking you through an online poll application which at the very basic level is all about creating polls and participating in one. From a scenario perspective this may seem to be trivial and where every enterprise may have one or several of such apps exists out there today. However this is also a simple enough scenario to understand and demonstrate architectural and design concepts which are pertinent to cloud applications and those I have used to develop MYOC. Also further demonstrating how a simple application like this one can be enriched by leveraging cloud giving way to innovative capabilities. So let’s start…
Click here to continue reading..

Rising of the enterprise to the clouds - An adoption approach for the Enterprise

How would Cloud Computing help an Enterprise bring about IT consolidation, an approach that can help reduce ongoing running costs as well as help respond to business needs faster?

Enterprises globally are growing at a rapid pace both organically and inorganically. A few years back IT build systems for businesses which would last a time frame ranging anywhere from 5 to 10 years. Systems used to be built to last. But today, systems have to be designed to handle change. Change, which is inevitable today, is not in years but months and sometimes even days. The IT delivery cycles are expected to shrink and meet the demands of the business faster.

In an organic growth story, enterprises grow at a steady pace and the IT infrastructure can be budgeted and planned to meet such growth, but in an Inorganic story the load which is expected to be handled by the infrastructure in the near future would manifold to as large as 10 times if not more. In such cases, IT is pressed with challenges to operationalize the systems across the different entities with low cost and faster time to market.
The IT systems in the acquired or merged companies will comprise of three main categories of systems:
a.     Core
Core systems are the heart of the enterprise and are primarily mission-critical in nature. They often tend to drive the competitive advantage and which the business highly relies on. For e.g.: core banking, billing engines in telecom companies, registry systems in AMCs etc...
b.     Supporting
Supporting systems tend to be the next level which may feed into or are driven by the core systems. These tend to be built around the core systems at a tactical level to support the day-to-day operations of the company. For e.g. reconciliation modules, brokerage computations, data analytics etc.
c.     Peripheral
Enterprises may also build peripheral systems which tend to be one-off or are used intermittently at irregular intervals but with the anticipation to meet heavy demand. With these systems the “lights have to kept on” leading inefficient utilization of resources in the enterprise. Example of such systems could be Campaigning systems, Survey, Polls, Extranet or Internet portals etc.

enterprisesystems.bmp

Cloud computing is still very young. Lack of standards, security and regulations are some key concerns which are keeping enterprises at bay. Enterprises today are in the very early stages of cloud adoption and would want to test the waters before committing to cloud.
From the above categories of IT systems, clearly with the concerns existing around cloud, core enterprise mission critical systems are not suitable for the cloud.  At the next level, support systems based on data criticality to the enterprise and regulations governing it, applications which can be cloud enabled could be identified.  Here too not all applications can be migrated completely to the cloud today. One may come across systems which have a deployment mix of part on-premise and part cloud.   And enterprises would want to be able to bring about such separation in their existing systems to start the move to the cloud. The third category, Peripheral systems, today seems to be the most probable candidates which have high relevance for moving to the cloud. Being non-mission critical, less restrictive security and regulatory norms to be adhered to, criticality of data not really a concern, being factors which may not worry the IT from moving these systems to the cloud. They would not only bring about efficiencies in operations in terms of cost and time to market but also free up some of the people resources an enterprise holds and align focus in core areas of the business to drive more innovation.
The move forward for Enterprises considering consolidation can begin by identifying peripheral systems from their existing application portfolios. This should be followed by a detail assessment and evaluation of the applications from both a business and technology perspective. Based on the assessment an application can be judged to be fit or unsuitable for the cloud. The application portfolio assessment exercise would also feed into preparing the business case for cloud to get a buy-in from the different stakeholders in the enterprise.
From the above exercise, potential applications can either be migrated or, based on the benefits perceived in the business case, newly developed for the cloud. New development may require some explanation here. What I mean by newly developed apps is, scenarios that would require enriching functionality provided to users in a enterprise/business scenario and which may require re-engineering the app for leveraging cloud capabilities.  In some cases the cost of building the app would outweigh the cost of upgrading an existing app possible due to poor design, high maintenance apps etc...
Possible scenarios where an application can be re-developed in the peripheral categories could be:
1.     During mergers where each company will have their own applications persisting their own respective data locally. Building a single application which can service the needs of all the merged companies and data can be consolidated in the new app.
2.     Enrich the Application with new functionality
3.     A legacy app which cannot be migrated to the cloud as-is.
4.     Existing legacy applications in the sunset phase which are used by very few people or in the process of being replaced
5.     Building a SaaS application with enterprises looking at monetizing the competency delivered by a certain app

In a series of blogs here, I will be walking through one such peripheral application which is a potential app to be offloaded from on-premise to the cloud. The drivers and rationale for the same and its adoption to cloud will be discussed. We shall also cover the technicalities on what it would take to develop such an application on cloud.

Go to MYOC - Make Your Opinion Count - Series 1 to continue reading..

Mobile Internet and Cloud Computing

With the growth of smart phones with wireless broadband (200 Million Plus subscribers) – Mobile Internet and Cloud based consumer applications are pervasive (Facebook to Twitter).
How large enterprises can tap into smart phones (hand held computer) with wireless broadband?

From a wireless broad band infrastructure perspective, 3G/WiMAX based networks are growing and they provide higher bandwidth for mobile Internet and cloud computing to blossom. The mobile internet started with 60 KB/sec and now, 16 MB/sec and beyond is possible.

Here are few enterprise relevant applications:

Tesco (Global Retailer) - Store and Product Finder Apps
This application is available in Apple's iTunes App Store. It uses location based services and store/product info APIs hosted in MS Azure cloud.  Within one week of launch it has 4000 downloads and one API request every 20 seconds.
RoamBI (Roaming Business Intelligence for enterprise)
 A data visualization application (in Apple App store) delivers chart and graphs into the mobile device. It can render SAP Business Objects and standard file formats. These services are hosted in Amazon AWS uses EC2, S3 and CloudFront services.

Challenges
The bigger issue in Mobile applications is to provide support for varied OS – iPhone OS, Google Android, MS Windows Mobile etc. Also, the current mobile apps distribution platforms adopt a walled garden approach in the open internet.
However, with HTML 5 web browser based application this could change. HTML supports rich application experience with advanced forms, graphics/video, offline support etc.
There are teething scalability issues on the last mile (mobile operator’s network) of the network. However, cloud offers higher scalability for the internet services.


Opportunities
Currently, location based consumer application, enterprise mobile worker applications are ideal candidates for mobile internet application which could tap into the smart phones.
Does your enterprise has a plan for mobile internet and cloud computing application?

Subscribe to this blog's feed
Off the Shelf: The Retail & CPG blog from Infosys - Visit

Infosys on Twitter