Summary: It’s a growing trend in the business world: More application development is moving to the cloud. More developers are opting for cloud-based development platforms, and more businesses are moving their application development off-site and onto a cloud host. The problem is, many make the move without understanding how the cloud changes development. In this article, we explore a few of these changes and outline important questions to ask before making the move.
While cloud computing isn’t a new trend by any means, it has picked up steam over the last year. As it matures, we’re seeing more businesses move to the cloud.
How big is this trend? According to Gartner, “More than $1 trillion in IT spending will be directly or indirectly affected by the shift to cloud during the next five years. This will make cloud computing one of the most disruptive forces of IT spending since the early days of the digital age.”
This move to the cloud isn’t just driven by cloud services or SaaS offerings. More companies are hosting their enterprise applications and developing new applications on the cloud. With the rise of low-code and cloud-based development platforms, more application development is moving to the cloud.
Why is this happening? Forrester answers the question in this article, “Enterprise are turning great ideas into software and insights faster and the cloud is the best place to get quick insights out of enterprise data.”
However, while cloud-based development is growing…there’s a problem. Many make the move without understanding the differences between developing on the cloud and developing applications in-house.
The result: They face challenges that they didn’t anticipate. These challenges can slow them down or completely derail their efforts.
If you are considering moving your development to the cloud–how does this affect development? What changes (or surprises) can you expect when you move your application development to the cloud? What questions must you ask before making the move?
Today, let’s answer those questions. Here a few questions to ask before moving your application development to the cloud.
1. Why are you moving development to the cloud?
As mentioned above, cloud development is a growing trend. We’re seeing low-code and cloud-based development platforms gain traction in the enterprise. More and more businesses are moving their enterprise applications to the cloud.
When trends grow quickly, they generate press. Soon, it grows even faster because everyone is talking about it.
That’s where potential problems arise. As a new trend gains momentum, there’s always those who jump on board simply because it’s new. They hear about the benefits that others are seeing from the cloud, and make the move. For instance, they hear that the cloud saves money, and they jump on board.
The problem: Not every business will see the same results. As explained below, make sure your expectations are in line with reality before making the switch.
“Are your expectations of the benefits of building an app in the cloud realistic; or are you following a trend?,” asks Dennis Allio, Group President, Cloud Technology Services at Workstate. “This is important because many people simply decide to build in the cloud because they think they will save a ton on capital or operational expenditures. Another reason is that they may be following a trend for a new piece of cloud technology such as an extremely high performing NoSQL database that may be useful, but may have a number of non-cloud alternatives. Reduction of cost is never sufficient to justify a move to the cloud. A few very good reasons for going to the cloud are to improve performance, gain businesses agility, eliminate specific problems such as performance issues or to improve availability and disaster recovery.”
2. How much will this cost? (tip: it can spiral out of control)
As mentioned above, some companies choose the cloud based on the perceived cost savings. The problem is, the cloud can have the opposite effect on costs if not managed correctly.
“Cost can rack up easily if you don’t pay attention,” says Christian Mendy, Director of Engineering at Evus Technologies. “In an AWS (Amazon Web Services) with a new account I can get started with virtual servers and cloud systems for next to nothing, but I can also spin up a thousand dollars worth of systems with just a couple of clicks and never use them.”
It’s a common problem that impacts many businesses. Developing on the cloud is different than developing in-house. When developing applications on the cloud, extra consideration must be given to resource usage. If not, you’ll wind up using more resources than you need, which can raise costs quickly.
3. Do we have the right skills to handle implementation?
It’s a common mistake. Companies assume they can use their existing skills as they move to the cloud. The problem is, not every skill translates correctly. New skills are often needed.
What type of skills do you need? We won’t get into everything here, but here’s a recent article that outlines 5 important cloud skills.
As explained below, make sure you understand what skills you need before making the move. If you don’t currently have those skills in-house, gaining these additional skills will drive up the time and expense of the cloud.
“The big questions are security & cloud Implementation: Do you have the right skillset for implementing cloud services the right way?,” asks Adeel Ahmad, President of XohoTech. “There are many cloud service providers, and unfortunately, each has its cloud based services, their APIs, usage, and way of integration. Once you select your cloud service provider, you need to be 100% that your team has what is takes to get the job done. Working in-house is very smooth and manageable especially regarding web development and its security, but as soon as your move to the cloud you need to make sure that you have correct security and ACLs setup for your cloud infrastructure. The Internet is full of stories where your cloud app is hacked, or your cloud account is hacked, and you are getting billed for services that you are not even using.”
4. Will your existing services be available on the cloud?
Modern applications consist of different services. For instance, email is a common example. Email capabilities aren’t built into the application itself–it’s a service that the application uses.
Additionally, many applications pull data from different locations. For example, a reporting application might pull data from a couple of different databases or software packages.
When you move to the cloud, you might find that some of your existing services don’t translate to the cloud. Or, maybe connecting to other data sources isn’t as simple as it was in-house.
As explained below, this is an area you can’t ignore. You must ensure that your application can connect to the data and the services it needs before moving to the cloud.
“Did you know that a major hang up with new development can be that your existing services may not be available to your cloud applications?”, asks Allio. “Many new applications will use techniques like OAuth2 for application authentication, but if your application relies on an on-premises directory service, then you will have to make certain that you solve that identity and access management problem before coding. Similarly, your application may need to email your application users and your mail server may not be configured to send mail from your cloud environment. And one final example, does your application collect data that you would like to analyze either from other applications or systems? If so, you need to be certain that all of that valuable information is available where you need it before you begin building on the cloud.”
5. How will you handle security?
Some assume that a move to the cloud will improve their security. After all, cloud hosting providers invest a lot in their security. They most likely have a larger security team than you have in-house.
There are a couple of problems with that mindset.
First, don’t confuse platform security with application security. The cloud host controls platform security, but you’re still in charge of your application security. If your application contains vulnerabilities, the platform can’t protect you.
For instance, in a cloud environment, applications are still vulnerable to the same SQL injections, DDoS, and other attacks experienced by on-premises applications. In other words, a vulnerable application on a secure platform is still vulnerable to attacks.
Second, you’re still in charge of security in the cloud. You must manage user access and privileges. You must set controls to ensure that users can’t change configurations. As explained below, you must constantly monitor your applications, regardless of where they’re hosted.
“Continually monitoring for security and for configuration vulnerabilities is crucial,” explains Matt Fuller, Founder of Cloudsploit. “Even the most secure cloud providers only offers security OF the cloud. The user is responsible for security IN the cloud. As groups, roles, devices, etc. change, oversights and misconfigurations open vulnerabilities that lead to outright hacks or just a Financial DDOS. Unfortunately, a single misstep can compromise your entire infrastructure.”
6. Is your web app cloud ready?
I spend a lot of time touting the importance of application architecture. Why? A well-architected application will adapt to future changes.
I wrote up a short article on the topic a few years back. It explains how the use of open, flexible architecture helped us adapt our applications and move some of them to the cloud. Without this emphasis on architecture, these changes would have been difficult, if not impossible.
This is a critical area to consider before moving to the cloud. As explained below, you must ask one important question before you make the move.
“Is your web app cloud ready?,” asks Ahmad. “And does its architecture allows you to utilize cloud-based services (Load Balancers, Object Storage, and other services)? If the architecture allows to integrate it within the cloud smoothly, Considering few minor changes in the code that great. Otherwise, you have to make a decision either utilize the cloud services and rewrite the app code or run the app without using the cloud perks and services in an old fashion way.”
7. What happens if you switch providers?
Perhaps a better way to phrase the question: What’s your “Plan B?” What happens if you need to switch to a different cloud host, or just move your data and applications back in-house?
I believe in development freedom. If that calls for in-house development, so be it. If that means you move your application development to the cloud, that’s fine too. The most important aspect of development isn’t WHERE your applications are developed, it’s HOW.
What does that mean? If you’re building applications in-house or on the cloud, architecture should be your primary focus. Are your applications built for flexibility and portability? Inflexible applications lock you down and limit your options.
This is extra important if you’re using a cloud-based development platform. Here are a few questions to ask any development platform vendor before you use it:
- How portable are the applications you create?
- Will applications work outside of the development platform, or are they tied to the platform?
- Does this platform give us flexibility to move from the cloud to in-house, and vice-versa?
These are critical questions to ask if you want future-proof applications that won’t lock you down. As explained below, focus on building flexible applications that port anywhere–to the cloud or in-house. This opens your future options to make a move to the cloud (and back), if so desired.
“The portability of your business applications can greatly reduce your costs in the long run,” says Tyler Wassell, Software Development Manager at mrc. “With so much variation in service provided by cloud vendors, it is important to consider the fact that the first provider you select may not end up being the best for your business. What happens if you need to migrate your applications more than once? How much might that cost your business? We recently experienced this question first hand here at mrc. After successfully migrating several business-critical applications to the cloud, we learned that another cloud provider would better suit our business needs. It was the portable architecture of our java web applications and database that let us move to the first cloud provider with relative ease and then again later to another provider.”
8. Where are your applications in relation to your data?
While this may seem like an obvious question to a developer, it’s often overlooked. If you move your applications to the cloud, but keep your database in-house (or in another location), you’ll run into problems.
What types of problems? First, you’ll face security issues. For example, if my database is in New York, but my application server is in San Francisco, I’m opening my data up to the public internet every time the application queries the database. That increases the chances that someone could spy on or steal my data.
Second, your application will face performance problems. The physical distance between a database and application server will increase the amount of time required to pull data from the database into the application. For even a moderately-sized application, this can destroy performance.
The best way to avoid these issues? Keep your database and your application server on the same network. If you want to move development to the cloud, but can’t move all of your data, maybe you should reconsider.
Now, these are just 8 questions to ask before moving your application development to the cloud, but the list could be much longer. Would you add anything to this list? If so, feel free to share in the comments.
We value your privacy. We will not spam you or share your email address with anyone. You're free to unsubscribe at any time.
As cloud computing hype continues to grow, there is a need to examine the lessons learned by those companies that have adopted cloud computing as part of their IT environment. This special report examines how companies have used cloud computing to drive business value, as well as the lessons learned and best practices developed along the way. The experiences of these companies span infrastructure, platform and application services with varying degrees of success.
The City of Los Angeles' migration to Google mail (see "Case Study: City of Los Angeles Migrates to Google Gmail" ) has seen a great deal of attention. The city has migrated 17,000 users to Gmail, but the process has not always been smooth. IT leaders evaluating or migrating to Gmail should become familiar not only with the successes, but also the challenges faced by others when considering cloud computing. Our discussions with the CIO for the City of Los Angeles reveal some of the challenges this early government cloud email adopter faced. It is not always possible to meet complex regulatory compliance requirements with cloud services. This has kept the 13,500-member Los Angeles police department from migrating to the cloud-based solution. In addition, network redundancy, capacity and operational fitness need to be examined as part of any cloud strategy. Despite the challenges, the city anticipates it will save about $5 million over five years from the shift. Given the intense financial constraints the city has been facing in recent years, these savings outweighed the challenges.
In "Case Study: Easyjet Exploits the Cloud for Rapid Innovation," we examine how easyJet first saw cloud computing as a way to minimize costs, but came to realize it also provided a critical element to support business agility. EasyJet's familiarity with outsourcing and managed services made the introduction of cloud services a "natural extension" of the IT strategy. EasyJet is moving pragmatically to exploit cloud services to extend and complement internal systems. This hybrid approach combining internal and external systems is a common theme in a number of the Case Studies. Despite a willingness to embrace the cloud model, easyJet remains cautious about moving highly sensitive data onto cloud systems. Enhancing and extending existing internal systems allowed easyJet to gain new functionality and business value without moving sensitive corporate information into the cloud. Legal liability, insurability, regulatory compliance concerns and the unwillingness of providers to indemnify cloud consumers is a bigger concern than technical issues on multitenant isolation or data center security.
Another aggressive mover to cloud computing is D-Link (see "Case Study: D-Link Makes Aggressive Move to the Cloud" ). By moving the vast majority of its non-ERP application portfolio to the cloud, it has improved enterprise agility and risk management, decreased IT costs and shifted its focus to the business. D-Link sees a $2 million cost savings, but the biggest business benefit has been in the IT organization's ability to respond to evolving business requirements. This benefit in the form of agility and support for rapid business innovation was consistently cited by the majority of the companies Gartner interviewed as the biggest benefit of cloud computing. Another interesting finding in the D-Link Case Study is the relationship of cloud computing to other IT initiatives. While agile is not a necessary part of cloud, the combination of agile development, cloud computing and reorganizing IT has led to improved enterprise agility and risk management, decreased IT costs and a shift in its focus to the business. Private cloud is contemplated as an option for ERP in the future.
Sanimax (see "Case Study: Sanimax Leverages Cloud Computing and Hosting to Drive Agility and Efficiency" ) is a classic example of a small or midsize business (SMB) pursuing a hybrid approach to cloud, but with a twist. A new CIO came to Sanimax with a mandate to modernize the company's aging IT environment and lead a shift to hosting and cloud computing. Seventy-five percent of Sanimax's IT department is now either cloud computing or hosted, and the company sees hosting and cloud as twin elements of a strategy to modernize its IT infrastructure and shift the architecting, installation and management of the infrastructure to third parties. Where SaaS offerings are available, Sanimax is aggressively adopting SaaS. Where they are not mature enough or do not exist, the company uses a hosted model, but with longer-term plans to move to SaaS. Unlike other enterprises, Sanimax sees ERP as a viable cloud service when its supplier, Microsoft, releases its cloud service offering in 2012. Sanimax cites a shift from capital costs to operational costs, the ability to scale up and down as needed, and the ability to more easily keep its IT environment up to date as key drivers for the cloud strategy
Two of our Case Studies deal with companies using Force.com to create enterprise applications. In "Case Study: Leveraging Salesforce.com's Force.com for Work Management," we examine how a major wireless telecommunications R&D company used Force.com to create a project and portfolio management (PPM) application. In this case, the company was already a salesforce.com user with an enterprise license, so there would be no added cost to run the PPM solution. The Force.com solution saved considerable infrastructure, licensing and maintenance cost associated with a best-of-breed PPM system, but it is important to note that the PPM requirements in this case did not require the extensive features found in leading PPM solutions. In "Case Study: Australian Maritime Safety Authority Proves That Cloud Is Nothing New," we examine the use of Force.com to create an international safety management application. Its experience was not as smooth. The final result was well-accepted by internal customers, and the development cost was approximately A$30,000 versus a A$200,000-plus estimate for a traditional, on-premises approach. However, challenges meeting requirements, longer than anticipated development time and dealing with the vendor posed challenges. As Australian Maritime found, many problems encountered in their PaaS/SaaS development and deployment are the same as those that users and vendors experience in more traditional software implementations: platform lock-in, vendor management, vendor maturity, understanding of the client context, and lack of adequate system integrator and provider partner resources.
Mohawk Fine Papers and Men's Warehouse are two examples of companies tapping into the growing cloud services brokerage (CSB) market. In both cases, the companies are using a cloud service broker to simplify their consumption of cloud services from multiple providers. In the case of Mohawk (see "Case Study: Mohawk Fine Papers Uses a CSB to Ease Adoption of Cloud Computing" ), a single CSB is used to manage a variety of integration challenges, including:
On-premises application-to-application integration
Supply chain integration for its 300 customers
All the technical support and commercial aspects of linking with third-party cloud services providers
Men's Warehouse (see "Case Study: Men's Warehouse Finds StrikeIron's CSB Suits its Customers" ) used a cloud-based contact verification service to deal with a thorny master data quality issue. The contact verification service is linked into 20 different batch and near-real-time business processes, including point of sale, CRM and marketing in a hybrid cloud/internal solution. Having one cloud services provider relationship made the transition to using cloud computing much easier for both Mohawk and Men's Warehouse. However, use of a CSB does not automatically eliminate exposure to failures anywhere along the cloud services value chain, as Men's Warehouse learned. In one instance, email verifications were slow, because one of StrikeIron's third-party service providers was having performance problems. The lesson learned is that when evaluating a cloud service provider, one must also consider the provider's supply chain and the cloud services it may be using as part of the service implementation. In our Quest Case Study, we examine how a provider created a SaaS offering using Microsoft Azure, Windows Identity Foundation and federation services as the foundation for its offering
Cloud computing also offers potential benefits with storage and data. In "Case Study: Reducing Storage Costs via the Public Cloud," we examine how Remmele Engineering deployed a hybrid cloud storage appliance to link its data center to the public cloud, resulting in lower-cost and simplified long-term data retention. It is using Jungle Disk and Rackspace for cloud-based server backup, and Rackspace combined with Nasuni virtual appliance for archiving. Remmele estimates the storage cost is one-tenth the fully loaded cost (hardware, software, management, power, maintained, etc.) of its traditional storage area network (SAN). Five case studies on emerging uses of data management services look at how companies are using cloud-based services for data integration, data quality and data persistence. These cloud-based data services complement conventional data management technologies and practices, but do not necessarily replace them. The offerings are at a relatively early stage of adoption, and we anticipate their sophistication and the breadth of their use to expand significantly over the next few years.
Cloud computing is a rapidly evolving phenomena that impacts virtually every aspect of the IT landscape. However, it is a trend that's still in its early stages, and will not replace more traditional data center and software approaches anytime soon. The most common benefits cited for cloud are agility and the ability to use this agility to support business innovation. Cloud service use also has significant potential for cost savings when used for the right workloads, but cost savings are not guaranteed. Examining the real-world experiences of companies using cloud computing will enable those contemplating its use to learn from the success, missteps and best practices of those that have gone before. Prospective cloud service consumers should also consider reference site visits as part of the evaluation process.