Your software applications are the tools that enable your information technology to meet critical business requirements. What applications you choose influences staff productivity, cost management, flexibility in customer service, business transformation, and more. And, for a growing number of companies, the list of applications used in the business, also known as the application portfolio, can provide strategic competitive advantage in the marketplace. Therefore, choosing which applications make up your portfolio is a critical success factor. In this post, I will discuss two business-critical components of an organization’s application portfolio – software development tools and Line-of-Business (LOB) applications – and how they influence cloud choices.
Software Development Tools
These are application development environments and libraries that enable software developers to create new applications to meet business requirements. Many development teams are often building applications in clouds like AWS and Azure and using the native tools that accompany those platforms as a service (PaaS). Sometimes referred to as “smart apps on dumb hardware,” these new “cloud-born” applications can take advantage of new cloud features such as scale and resilience but can force an organization to be locked in to running the application on a single cloud only.
Modifications on existing home-grown applications tend to be split between company-owned servers, whether in colocation facilities or in-house, or cloud-based infrastructure as a service (IaaS). Factors such as familiarity, performance, cost, and control all play a role in choosing a development environment.
These applications are industry- or market-specific applications that help an organization create, deliver or support client needs. Examples are Enterprise Requirements Planning (ERP) applications for manufacturers, Electronic Medical Records applications for healthcare providers, and warehousing and route management software for logistics and distribution. LOB applications are usually split between purchased applications and home-grown applications that are highly aligned with business processes. These apps fall into the category of “dumb apps on smart hardware” because the applications are not platform-aware, and things like performance, scale, resilience, and network control all come from the underlying hardware that they are installed on.
Where is the difficulty in choosing the right platform for each application?
For software development tools, new cloud-born applications have some risk of lock-in, which may mean that changing platforms could involve huge redevelopment costs. Software tools that are platform-independent can minimize lock in. Make sure you’re evaluating performance and cost metrics for the cloud platforms you are considering before you choose. And again, make sure that your data is protected should the cloud provider have an outage.
LOB applications hold the most risk in choosing cloud platforms. Common characteristics that increase risk are:
- The application is based on years- or decades-old development efforts and may be unlikely to change to cloud-based applications
- The application performance is very sensitive to the speeds of the underlying hardware
- The application is lacking in software resiliency, and is dependent on the underlying hardware or services to be available in the event of an outage
- The application is chatty, moving lots of data back and forth between servers and end-users, which can drive some cloud platforms monthly costs up exponentially
- The software provider won’t support their application on some cloud platforms
So, what can you do to choose the right cloud platforms for your applications? Start by asking yourself these questions:
- What is the application type? (ERP, Billing, Electronic Health Record, CRM, Collaboration, Database, etc.)
- Is the application being developed from scratch or is it an existing application that is being migrated to the cloud?
- Is it off-the-shelf, customized third-party software, proprietary to your organization, or virtual desktop infrastructure (VDI) or Hosted Desktop (e.g., VMware, Citrix, Amazon, etc.)?
- What development or operating environment does the application require (Windows, Linux, Oracle, IBM, etc.)?
- Where is redundancy derived? At the software level, at the hardware level, or both?
- Does the application use virtual machines? If so, how many?
- How important is latency to the operational efficiency of the application?
- Is the usage of the application variable and unpredictable or persistent and predictable?
- Does the application have a tenancy requirement (shared vs. dedicated) due to security/compliance regulations or performance applications?
- What current cloud skill sets does your operations team possess (e.g. Open Stack, Microsoft Hyper-V, VMware ESX, AWS PaaS, Azure PaaS, Google, PaaS, something else)?
Curious as to what the answers to these questions mean for your cloud choices? Contact me directly and we can discuss your situation.
Doug Theis is the Director of Market Strategy in Expedient’s Indianapolis market focused on engaging with and improving the regional IT community through planning, sponsoring and attending community events, facilitating IT-focused continuing education opportunities, and sharing strategies, tactics, and research to help IT professionals stay abreast of best practices and industry trends. Follow Doug on Twitter.