Cloud Computing: Developing unique cloud solutions

When developing cloud solutions for specialized organizations such as government agencies, there are a number of areas to consider, including security, mobility and interoperability.

Niten Malik

Developing enterprise-class cloud computing solutions for unique functions such as supporting government agencies is a challenge. While traditional strategies have involved custom development or modifying off-the-shelf enterprise resource planning (ERP) systems, using a stable development platform based on Microsoft Dynamics CRM and SharePoint gives you significant flexibility and scalability.

Last month, I looked at the higher-level considerations for developing customized cloud solutions for specific purposes. Here I’ll examine some of the specific areas you have to keep in mind, such as mobility, security and interoperability.

Mobility management

Users have increasing expectations for access to systems and information through any type of device, whether it’s their desktop PC, laptop, tablet or phone. They require anytime, anywhere access to data, applications and people.

Through a platform like Dynamics CRM Mobile, users can have access to the full breadth of Microsoft Dynamics CRM functionality, including its dashboard capabilities. And they can do so on the mobile device of their choice. There’s no need to load multiple apps onto their device. Microsoft Dynamics CRM Mobile provides a single, consistent application experience.

It provides device-specific application experiences that are natural and intuitive across a range of platforms and targeted UXs. Because it’s based on HTML5, it can structure and present content on different Web browsers. The solution adapts so the look and feel is optimized for different hardware platforms.

You centrally manage Microsoft Dynamics CRM Mobile. You can configure record types, forms, views, offline synchronization rules and navigation structure for the mobile application. You only have to publish these configurations once, regardless of the range of devices that users employ. This simplifies and streamlines mobile CRM management.

To cater to your users’ different needs, you can establish multiple profiles that expose role-specific data and functionality. The result is a mobile experience tailored and optimized for every type of user, whether their job function is sales, marketing or finance, for example. You can also remotely wipe devices of CRM data should a device be lost or stolen, or if an employee leaves the company.

Platform adoption

Having consistent and familiar UIs across multiple, widely used Microsoft applications such as SharePoint, Office and Outlook results in high user adoption rates for a Dynamics CRM-based line-of-business (LOB) application. These friendly and intuitive UIs boost user-adoption rates, which in turn improves data quality.

The seamless integration between Dynamics CRM and other Microsoft Office products further increases adoption. For example, you can add a Dynamics CRM-based solution as a widget within Outlook. This eliminates the need to switch back and forth between applications.

Integration with Word provides an easy mail-merge capability. Excel offers powerful, self-service visualization and analysis tools for enterprise data. Multiple-device support enables access to information through the Web or through mobile devices, further expanding the usability of Dynamics CRM-based solutions.

Collaborative operations

Optimizing operations with the seamless out-of-the-box integration between Microsoft Dynamics CRM and SharePoint with Outlook, Lync and Office can fundamentally change how you work. Optimized business process operations can deliver a significant productivity improvement.

Consider these potential scenarios. In a typical credential-management use case, adjudicators often need to consult on eligibility questions or documentation provided by the customer. This consultation typically involves creating escalation and problem solving via e-mail or a meeting. This creates unpredictable delay in case resolution.

On a factory floor, if a high-speed, highly automated machine is followed by a machine that involves a lot of manual intervention, the factory’s overall productivity and output will suffer. When manual intervention is impossible to avoid, a collaborative process is required to solve problems more efficiently.

One example may be designing operations to leverage integration between SharePoint and Dynamics CRM, such that an adjudicator has easy access to expertise on SharePoint My Site or can use embedded search to find a relevant blog. The presence of the individual expert is automatically synchronized with his Outlook calendar.

You can have the adjudicator connected to an expert within SharePoint or a CRM workflow via Lync and be actively collaborating within minutes. The Lync platform facilitates collaboration in multiple ways, from instant messaging and video conferencing to desktop sharing and in-browser co-editing of documents.

Development considerations

The Microsoft Dynamics CRM development platform offers many features to rapidly deploy LOB applications. These capabilities include:

Data Model: The Dynamics CRM framework includes an extensive list of predefined data entities common to many business applications. Common processes won’t require that you build these entities from scratch. You can easily customize most entities or define completely custom entities.

UI: Dynamics CRM provides HTML-based pages to browse and manage data. You can easily customize the form content, layout and site navigation. You can integrate external UIs and applications as part of the navigation embedded within CRM forms.

Workflows: The Windows Workflow Foundation is integrated with the Dynamics CRM framework to implement business process automation as a single step or complex series of steps, checks, waits and rules. You can execute workflows manually or automatically when records or a data value changes. You can also use workflows to create activities, update records, create alerts, send e-mail on a user’s behalf or implement other custom tasks.

Your users can easily create new workflows and edit parameters using an intuitive interface to control how they work and when they run. They can define workflows at the organizational level to apply to everyone, or to apply to individuals as personal workflows.

Security: At its most basic level, the security model maintains access control over data and services. It allows user profiles and rules for each piece of data to secure sensitive information and meet data privacy requirements.

For single sign-on, authentication and authorization, the framework leverages Microsoft Active Directory. This lets a user enter and exit multiple tenants to which they’ve been granted access without having to log in multiple times. When the user is within a certain tenant, they won’t be able to view information in another tenant even if they have access to that tenant. They’ll need to exit and reenter the other tenant to access that data. This is how the framework guarantees data won’t be improperly combined. Once user access has been granted, the per-tenant security model provides a highly efficient means of establishing and changing security privileges to ensure users always have appropriate access.

Role-based security defines privileges based on business roles within each tenant, rather than on individual users. Users can have one or many roles associated with them, with additive privileges across roles. They can perform many roles within a tenant and the system will automatically recognize the correct security privileges.

Business units group users together and grant authorization based on roles. Business unit design can mirror or help facilitate company structure within the security model. Each business unit defines roles inherited from the organizational hierarchy or specific to it’s the unit’s needs. Each user is then allocated to a single business unit, and assigned one or more security roles within that unit.

Security for reports is just as important, but can typically be more challenging to implement. Microsoft Dynamics CRM uses a concept called filtered database views to provide consistency for the security model. Framework metadata creates and maintains filtered views for each built-in and custom entity defined in the data model. Filtered views incorporate security roles, business unit design and record ownership to enforce access control. You control the reports using the framework security model to determine who can see, run and modify each report.

Social media

Emerging social technologies provide people-centric experiences that can fundamentally impact how people and organizations communicate and collaborate both internally and externally. Social networks such as Twitter and Facebook provide a micro-blogging UX to post information, ask questions and find expertise. About 82 percent of the Facebook users in the 18-to-24 age group check Facebook more than once a day. Content is distributed in many social networks such as Twitter, Facebook and YouTube. It doesn’t follow any set standard.

Social intelligence, based on data patterns and streams, enhances customer service and decision-making. Micro-blogging in Dynamics CRM encompasses activity feeds, status updates and notifications regarding business events and actions. Business activity feeds deliver configurable real-time notifications regarding important relationships and business events.

Social media enables continuous engagement, which is often the end goal of social outreach and collaboration. It provides social sites and other forums such as blogs to share experiences and interests. Social media engages stakeholders in an ongoing dialog to solicit suggestions and address issues. Specific social media strategies will continue to evolve over time.

By itself, SharePoint won’t address the complexity inherent in developing digital outreach tactics. However, it will enable a cost-effective platform to implement social outreach strategies as they evolve. SharePoint has social media connectors, as well as predefined components from which you can launch social sites, wikis and blogs.


The success of any program or initiative depends on the reliability and speed at which you can analyze data from multiple systems and subsequently identify potential risks. Solutions need to be centered on a service-oriented architecture, Web services and an enterprise service bus to quickly and reliably pull together relevant information.

Dynamics CRM is designed to work seamlessly with these and other systems. It natively integrates with any application that can expose and consume Web services. It provides a dynamic Web service interface for applications to access and manipulate data, as well as interact with other framework services. The Web services are interoperable with non-Microsoft platforms.

Dynamics CRM also has out-of-the-box integration with Outlook, which lets you exchange Outlook e-mail, contact, appointment and task objects. You can automatically incorporate CRM content into Microsoft Word documents. Dynamics CRM includes integration with SharePoint, so your users can store unstructured content in a SharePoint workspace. The SharePoint information will appear within the CRM data form. Dynamics CRM lets you add iframes to a CRM form to integrate Web-based applications in-line and use scripting to pass data via URL strings.

Hybrid cloud

You can use Windows Azure to develop new applications or services in the cloud that don’t depend on a specific platform and are widely available. Windows Azure also delivers cloud-based application development tools for testing, deploying, hosting and maintaining applications. The architecture comes with concurrency management, scalability, failover and security. Its open architecture supports integration with legacy applications and interoperability with other systems.

The Windows Azure platform can provide Infrastructure as a Service or on-demand compute and storage to host, scale, build and manage applications. On-demand storage and compute provisioning helps optimize infrastructure costs during non-peak usage.

You can also use this platform to provide different levels of data security. There are numerous security considerations such as location, access and what other data resides in the same environment. Because data security requirements differ, one way to optimize costs while managing security is to operate applications on a hybrid cloud infrastructure consisting of public cloud, government cloud, and private cloud or on-premises infrastructure.

You could host some solution components on a public cloud while having your data reside on the government community cloud and private cloud. By distributing data and solution components across public, government and private cloud, you can optimize storage and compute costs. Solution components hosted in the government cloud have fewer users and a lower infrastructure cost. The government cloud will optimize those costs to a lesser extent compared to the public cloud.

Applying the same logic, you could explore an on-premises or private cloud infrastructure for components and data with the highest security requirement. Because of the smaller user base, these functions have the lowest infrastructure cost to begin with and are appropriate for a private cloud-hosting model.

Any cloud solution should come with enterprise-level tools, such as the ability to designate files as confidential or encrypt messages to avoid add-ons that increase complexity and cost. Solutions built or originated as consumer cloud solutions often lack enterprise-level tools that are standard in government cloud solutions.

Many cloud offerings don’t effectively manage data integrity as data moves between on-premises and the cloud data repository. For example, documents should maintain a consistent format and all key features, such as watermarks. All data retention, management and archival regulations must be followed in the public or government cloud as if those cloud environments are on-premises.

A solution that enables real-time collaboration between officials and customers will result in a responsive program, leading to a rich and impactful ongoing customer relationship. Reliable and robust information exchange with other departments and agencies, combined with actionable analytics that draw insight from contextual data, will increase mission reliability.

Niten Malik

Niten Malik focuses on creating Software as a Service solutions. Over the years, he has built expertise in developing business case and operating models for cloud-based multi-tenant solutions. Most recently, he led development of cloud computing strategy and capabilities for the Accenture Public Service operating group. Malik holds a master’s in business administration from the Kellogg School of Business, Northwestern University.