Learning Objectives
By the end of this section, you will be able to:
- Identify the types and categories of applications in the cloud
- Determine when an enterprise application would be migrated to the cloud
Cloud-based applications can vary based on the industry and the needs of an organization. Examples of categories of applications include analytics, development, and e-commerce. One solution is a commercial off-the-shelf application, which is commercially produced software or hardware that is available for sale and is ready to install and use without customization. Another solution is a home-grown application, which is software that is developed for an organization in-house, based on the development requirements of the organization.
Types and Categories of Applications in the Cloud
Organizations are now challenged to look at their cost as it pertains to the different applications they use to operate in the market space. These applications carry maintenance and licensure costs. Each application will eventually need to be updated or replaced due to the software manufacturer’s requirements. Replacement of the application is defined by the application itself and the number of seats allowed in the terms of the license.
Organizations are now turning to cloud-based applications to replace their current applications. These applications are hosted in the cloud versus a physical on-premise environment. The application is leased based on the same criteria, such as number of seats and volume of data, which are comparable to the purchase of the application. The difference is that instead of owning the application outright, the organization leases the privilege to use the application.
Companies like SAP, Oracle, and Workday offer cloud-based enterprise resource planning (ERP), which is a system that is used to manage the operations of an organization for customers that want to combine multiple organizational platforms into one. Figure 7.15 illustrates examples of platforms that can be combined into an ERP. The platforms are modular and can be configured to incorporate financial, supply chain, analytics, and other needs. The system gathers data and stores the data in a data warehouse where the data can be managed. The combination of systems can handle the analytics that organizations use in the decision-making process. Because the ERP system is customizable, the manufacturers build the systems according to each customer’s requirements.
Companies such as Salesforce, HubSpot, and Zoho have a cloud-based customer relationship management (CRM) application, which organizations can use to manage customer interactions and leads, and perform analytics. A CRM is used to determine the return on the organization’s sales force investments in the customer base and uses a data warehouse for accumulating the data for analytics purposes. Figure 7.16 shows an example of a CRM. A CRM is a modular platform and is fully customizable based on the customer’s requirements.
Companies such as Infor, Oracle, and SAP offer cloud-based supply chain management systems. A supply chain management (SCM) system optimizes an organization's production and distribution of goods and services. The SCM has upper-level components, such as logistics, management, and profit. Like other solutions, these components are also customizable. For example, logistics will have functions such as managing inbound and outbound logistics. Each SCM is designed based on customer requirements and specifications. Figure 7.17 shows an example.
Companies such as Workday, BambooHR, and ADP offer cloud-based human resources (HR) systems. This type of system can be used for employee relations, performance evaluations, payroll, and benefits. This system operates a data warehouse that stores the data files for use in the analytics process. The components of the HR system are customizable, such as the application programming interface or the choice of the database system (such as Microsoft SQL or Oracle).
Each organization should evaluate their processes to determine which system meets the requirements of the operation. These requirements vary from organization to organization, which is the justification for the manufacturers constructing the systems in a modular layout. The organization will determine the functionality of the system by providing the manufacturer with details of its operation, and the outputs of each section of the organization, that need to be covered by the system.
The other aspect of these cloud-based systems is that one system covers all the functionalities of the others. The ERP system has modules for HR, CRM, and SCM built into its operational parameters.
Migrating an Enterprise Application to the Cloud
When an application, such as Microsoft Office 2016, is no longer supported, organizations will need to consider their next steps. These steps can be to replace the application with a different on-premise application or migrate their system to the cloud (Figure 7.18). Office 2016 could be replaced with Office 365, which acts like a cloud service with regular updates instead of an Office suite product that becomes obsolete. This decision has many factors, such as the difference in cost between the on-premise product and the cloud-based service. Other factors include licensing or system requirements. When the application is a mission-critical platform, which is an application or program that will cause a financial burden if there is a loss of service, then monitoring and management controls must be included in the migration process. A cloud computing platform provides technical support and security in moving applications to the cloud. Cloud computing services also offer the infrastructure, storage, and processing power to make a migration relatively easy.
If an organization wants to use cloud-based application development, they must evaluate the tools that are available in the automation and optimization of the migration process. These tools can help reduce the cost of the migration process because of the reduced human interaction needed in the process. The automation process will aid in the data migration process, provided there is minimal configuration of the tools, since human interaction is required for configuration, which in turn drives the cost up. Each of the major cloud providers, such as AWS, Google, IBM, and Microsoft, have migration tools that are specialized for the cloud-based environment.
Careers in IS
Automation in Data Migration
The use of automation tools in the migration of data requires personnel who are fluent in software development and proficient in programming languages. The job titles might be Cloud Automation Engineer or Senior Software Engineer. The person in this position will not only develop the tools, they will also need an understanding of the different environments the automation tool will be used in. This means that the professional in the position will need to be fluent in both the physical and virtual cloud-based environments.
Global Connections
Software Development in Cloud Computing
Software development is not a local process anymore; it has moved to a global environment. Software development projects are not just handled by one group in an organization. Projects are shared across global organizations to expedite the turnaround and use personnel efficiently across the organization. Since projects are shared across the global development environment, there are requirements, laws, regulations, and standards that vary from country to country that have to be managed. This global connection allows for a project to have access to additional capabilities, but it also increases the complexity.
Case Study: Using the Cloud for Parallel Application Development
Organizations are often faced with the decision about whether or not to automate. When an organization’s applications have reached the end of their life cycle, a decision must be made about what next steps should be taken. These decisions have both time constraints and funding needs associated with them. The organization will need to prepare for the development of the application, as features will have changed, processes may have changed, and the environment that IT operates in may have to change. This is the time in which the organization should have project management develop the process for the development of the application. Project management can help determine if the development of the application is considered a new project or is associated with change management. No matter which direction the organization goes with for the development of the application, the process will incorporate the software development life cycle (refer to Figure 4.7). The organization will need to prepare for the new application by starting with the software development life cycle (SDLC), which, as you have learned, is the process used for the development of software and applications (refer to 4.1 Systems Analysis and Design for Application Development). This process can include moving the application to a new computing environment, such as the cloud. Needing a new application is an opportune time to develop in the cloud. This is also the time to determine if the application will operate in a virtual environment.
The cloud environment offers an organization the opportunity to develop the new application in parallel with the old application, thus providing the organization with the ability to identify differences between the two. The parallel process offers the development team the chance to work with the end user to make a smooth transition. The parallel process allows for testing of features, especially those that might be new, and the ability for the end user to interact with the system and assist in verification of the processes.