Part 1 of this three-part series focused on planning out a successful move to a cloud environment. Part 2 investigates obstacles and strategies relating to customization in the cloud.
For some companies, the decision to move to the cloud is a no-brainer — especially if they limit their planning to pure number crunching. Without a doubt, the savings for such a leap, both explicit and implicit, can be huge.
“Since you are sharing an infrastructure and application, the quality, usability, and price/performance are at least 50 percent better [than] what used to be in-house, and the rate of invention and innovation more than double,” Rene Bonvanie, SVP of marketing, information technology and Serena On Demand at Serena Software, told CRM Buyer. “The risk has in fact diminished because rather than having to rely on my own always under-trained and under-paid resources, I can tap into a large collective pool of talent.”
Still, though, there are technical issues to consider, not the least of which become apparent when the planning process begins to focus on customization. Simply put, customization in the cloud is not an easy endeavor — certainly not easy enough for the average line of business manager to tweak for his or her own use.
By no means is this a deal breaker. Rather, those considering a jump to the cloud should simply be aware of the contingencies that can arise — and the end goal of the project.
Improving the customer experience should be a guiding principal for any cloud customization, Tom Gonser, founder and VP of product strategy at DocuSign, told CRM Buyer.
“To be of significant value and drive the biggest business benefits, any successful cloud computing application must also improve your customers’ process and experience,” he said.
Of course, it doesn’t necessarily follow that such tinkering will be apparent to the front-end customer. “Cloud-based applications that include custom, secure data fields can be — and should be — customized to capture the data and automatically feed it into back-end systems to maximize the workflow automation and produce greater overall efficiency and ROI (return on investment),” he said.
Hire Good Help
Carefully screen the developer in charge of the project, as cloud-computing implementations and customizations can require special skill sets. This should certainly be a factor in the planning process, but it is also applicable to customization.
For instance, Lori MacVittie, technical marketing manager for F5 Networks, told CRM Buyer about a common challenge. Developers, according to MacVittie, are not always familiar with the nuances in what is essentially a load-balanced environment.
“The biggest challenge in doing so is around session management,” she said. “Almost all Web applications utilize sessions on the application server to maintain some sort of user information for the duration of the user’s time in the application.”
In a load-balanced environment, she said, the load balancer needs to be able to “persist” connections to the same server on which a user was first connected in order to maintain access to that state information. “If the cloud environment is not able to support persistence in this way, then it becomes necessary to implement a shared session management scheme using, for example, a shared database in which to share sessions such that every instance can access the appropriate session data for all users. Understanding which model can or will be used before development is necessary to avoid ‘breaking’ the application in the cloud and potentially requiring a rewrite of large chunks of the application to make it work in the cloud environment.”
Other Cloudy Considerations
A highly skilled developer can also squeeze greater efficiencies out of the cloud environment when customizing the app, saving the company time and other resources.
For instance, Brian Goodman, IBM manager of cloud engineering and experience, suggested focusing on those parts of the applications that are long-running or resource-intensive. “These are great candidates for distributed computing design patterns,” he told CRM Buyer. “One of the uses of an elastic cloud is to leverage its massive distributed resources to solve many smaller problems and then assemble the pieces to form a solution.”
Applications tend to suffer from logic congestion, wherein one element is doing the work of many, Goodman continued. “The trip down componentization lane is all about simplifying without losing power. Consider your application and start breaking it up into pieces that could live as parts, but currently, for whatever good reason, do not.
“Also, if your application isn’t service oriented, cloud is the reason to take the leap.” This ties into componentization, he said: enabling the company to standardize service interfaces while ensuring flexibility and reuse. “If you are still building monolithic stacks, there is a lot of opportunity in this space. Don’t just consider service endpoints, but also consider the use of widgets — services that are delivered with an end user interface — as services.”
Services don’t necessarily imply componentization, but if you can conceive of them, then you also have opportunities to scale parts of the application independently, he said. “This is very important, because we often just make clones of our applications and run it over and over, distributing loads across many instances. But the truth is that different pieces could scale at different rates, allowing you to economize and drive efficiencies into the system.”