This article highlights some ways that businesses are using app stores, based on the experience and observations of Microsoft Enterprise Architects.
The following contributors provided input from the field: Blessing Sibanyoni, Brad Clayton, Brian Loomis, Johan Klut, Larry Hanthorn, Peter Deane, and Robbi Laurenson.
For both customers and employees, the numbers and types of available mobile devices have exploded. At the same time, increases in the availability of broadband access, decreases in latency, and a drop in telecom costs have made mobile devices easier and cheaper to use.
In their off-work hours, employees have access to public application stores, and have become accustomed to the flexibility and agility of quickly downloading the functionality they want on any device when they want it. They want this flexibility at work, too.
Many companies have found that their customers are also familiar with public app stores, and have come to expect that type of service.
To satisfy this demand, many companies are investigating how they can use app stores, both to deliver apps to their customers and to manage employee applications.
This article looks at three ways in which companies are using app stores, and several of the factors that affect the feasibility of an app store and the effort that might be needed to adopt one.
Key Scenario 1: Using an Enterprise App Store to Manage Employee Apps
Most businesses that have implemented app stores use them for mobile apps. Now, new Windows features are leading some businesses to explore the idea of using enterprise app stores to distribute and manage software (more than just mobile apps) for employees.
Windows 8 includes features that make it app store-friendly, helping to make app stores a more feasible approach for distributing apps to desktops as well as to mobile devices. Public app stores (Windows Store, GooglePlay, and iStore) have been around for a few years. Now enterprises can use management systems such as System Center Configuration Manager to build private enterprise app stores that can control app versioning and usage reporting. For example,
- One law firm is investigating the idea of building an enterprise app store, to help make more of their IT system self-service.
- One manufacturer used System Center Configuration Manager to build an enterprise app store that distributes and manages software for employees. They are looking at additional ways to use app stores or expand the app store they have built. For example, they would like to use it to manage mobile apps, and they're interested in how to use an app store with Windows 8.1 to synchronize apps and settings across devices.
Key Scenario 2: Using Public App Stores to Manage Customer and Employee Apps
Some businesses are using public app stores instead of building private enterprise app stores. In some cases, these businesses don't have a System Center Configuration Manager deployment on which to build; in other cases, businesses want the flexibility to offer apps not only to employees but also to public customers.
One bank produces a number of mobile apps for both customers and employees. The bank decided to use the app stores to make their apps convenient and easy to access for both customers and employees. The customer apps provide access to banking services. The employee apps help employees do their jobs. The bank maintains control of which apps are generally available, and which apps are restricted. The bank also can keep tabs on which apps are popular, and who is using them.
The bank's development team worked with these stores to customize access to and delivery of the apps. For example, they have built a federated trust relationship between the identity stores that the app stores use and the bank's own Active Directory store. As a result, employees can use their bank credentials for the app stores, and the bank can manage employees' access permissions using its own directory.
Key Scenario 3: Using App Stores to Support BYOD
As a further benefit, the app stores can deliver apps to both company-owned and external devices. The bank described previously takes advantage of this flexibility to support a BYOD program for its employees—they can use their own devices, which are not fully managed by the IT organization.
This approach saves significantly on device management costs. The bank does maintain one aspect of device management; to maintain the security of corporate data, the bank uses a Mobile Device Management (MDM) system to identify employee devices; if a device is reported stolen, the MDM can wipe it remotely.
Factors to Consider for an App Store Strategy
In working with businesses that are investigating or adopting app stores, enterprise architects have identified several factors that a company that is considering an app store must deal with:
How do you manage your current infrastructure?
App stores automate policies and processes that govern and track who installs which apps. In this function, they resemble other asset management systems such as System Center Configuration Manager. If you do not already have processes in place for distributing and managing applications, you should develop them in order to take full advantage of the app store's capabilities.
Enterprise architects in the field have observed that companies who do not have mature asset management systems, or even solid approaches for distributing and managing applications, find it difficult to adopt app stores.
Can you migrate your legacy applications, or would you use the app store only for new apps?
App stores typically support apps that are discrete units that function independently. This is not true of most line-of-business applications. Those applications tend to be large, complex, and integrated with each other. These characteristics do not lend themselves to an app store model. Some companies still have line-of-business applications that run on mainframes; these applications would be even more difficult to update to an app-like format that could work with an app store.
For these reasons, many companies view an app store as a Greenfield project--something to start from scratch to use with new apps rather than legacy applications.
Adopting an app store requires some development resources and capabilities, whether you build an enterprise app store or use a public app store. Obviously, the capabilities you need to design and build an enterprise app store depend on the current state of your infrastructure.
On the other hand, the capabilities you need to adopt a public app store depend on the way in which you intend to integrate the app store with your own systems. This integration process may include customizing the access controls and tracking mechanisms that the app store uses to accommodate your company's needs. Whichever type of app store you use, you also need to consider the development capabilities you need for apps—new apps, migrated apps based on legacy applications, or both.
Can your existing staff supply these capabilities, or do you need to hire additional staff? What training would your staff need?
What impact would an app store have on your business processes and budgeting systems?
In addition to budgeting for the app store adoption and app development, you may need to consider updating the chargeback and recovery models that your company uses. For many companies, the IT organization is not the only part of the company that needs to change its processes to move to an app store.
For example, some companies distribute IT costs through the business using a charge-back model (assigning costs to business units depending on software installations within that business unit). For these companies, moving to an app store not only means changing the mechanisms that track who has what software, but also updating the accounting and budgeting methods. Some companies may need to change their budgeting assumptions, or even change whether certain budget items are considered OpEx or CapEx.
If it's within the capabilities of your company, an app store--public or private--can provide an effective and flexible means to distribute and manage apps. An app store can provide desktop or mobile apps to employee computers or devices. And depending on the type of store, they can also provide customers with easy access to apps that deliver your company's services.