Future-proofing is a buzzword that’s getting a lot of attention these days. However, the idea behind it is something IT professionals have worked with for a long time. Essentially, future-proofing means taking steps so you’re able to flex and expand as needed for as-yet-unknown needs and opportunities.
Future-proofing is the nirvana many companies strive for and yet is not really attainable in the true sense of the word. You can build future-proof IT systems today that are flexible, learning, and scalable, but they still require ongoing care and investment. So they are future-proof in the sense that you are not changing core technology investments every three to four years.
There are four key factors that I believe are involved in future-proofing your IT environment.
1. API-Led Connectivity
Application Programming Interfaces (APIs) are the connectors between apps and data systems that ensure data is accessible to the systems and users that need it. Create API connectivity to enable agility within your IT systems and prevent data silos.
You can take your API strategy to the next level by dividing your APIs into a tiered API architecture as follows:
- System APIs function at the core system level by exposing relevant data and capabilities from IT systems of record, such as Salesforce, SAP, Oracle E-Business Suite, mainframes, data warehouses, databases, and others. Use them to insulate API consumers from complexity or any changes to the underlying systems.
- Process APIs function at the next level by enabling interaction with multiple data sets — typically across systems — though sometimes they come in handy when you’re dealing with data within a single system as well. For example, you may need to connect Salesforce, SAP and mainframe customer data. You can use a process API to retrieve or save relevant customer data in all these systems without a tight dependence on the source systems.
- Experience APIs are closely tied to the needs of the user experience. For example, when a customer purchases a product or service, this API ensures the needs of the user interface are met to deliver a seamless experience. It is less about the process or orchestration; instead, this level of API matches the user interface (UI) to enable a quick-hit integration from the UI to backend systems. In turn, this API can talk to your system or process APIs as needed.
When you integrate your IT systems, create a tiered API structure, and avoid data silos, your IT environment becomes future-proof because it is flexible, seamlessly integrated and enables easy access to cross-system data. As an example, if you end up switching to a different customer-relationship management (CRM) product, you don’t have to modify all the integration points and APIs — just one — which results in “future-proofing.”
2. Machine Learning (ML) and Artificial Intelligence (AI)
There is tremendous hype about AI and ML today, as these technologies are advancing rapidly and businesses are finding ever-more innovative ways to leverage them. However, as with all emerging technologies, the challenge is to find the right use cases and the right personnel to truly benefit from them. To do so, you can start by looking at your existing automated processes that involve large-scale decision making or that are based entirely on large data sets. Some good examples include fraud detection in credit card transactions, product recommendation engines, and image recognition tools. Once you identify the right use cases for implementing AI and ML, you can use them to create technology that learns and evolves to meet your needs. You can use machines to see how customers are engaging with your enterprise’s products and services to proactively suggest new products or processes, as well as alert you to trends and pitfalls, which will help you future-proof your IT.
The DevOps movement has been tangible for many years now. Every IT organization should assess where they are in the four stages of DevOps maturity and then map out a plan to grow DevOps maturity by bringing in build-deploy-test automation and infrastructure as code, eliminating silos across departments and functions (enterprise architecture, dev, ops, security, test and others), and introducing metrics and measurements that help you achieve continual improvement in your DevOps maturity.
From the perspective of future-proofing your IT, implementing DevOps properly can result in more automation, less manual build-and-deploy cycles, less manual configuration, and fewer human errors.
Cloud infrastructure, platforms, and software (IaaS, PaaS and SaaS) are often considered the epitome of flexibility and speed on-demand. You pay for what you use and you can scale up or down as your business demands. Additionally, the cloud can make you more agile in meeting customer needs. Moving away from traditional data centers into scalable cloud infrastructure, adopting SaaS products as they apply to your needs, and utilizing PaaS can make your enterprise more nimble and adaptable.
There are many ways to leverage the cloud from a future-proofing perspective, such as by going cloud-native. In this approach, you rewrite your apps using managed cloud services like AWS Lambda, Route 53, API Gateway, CloudWatch, Cognito, DynamoDB, Step Functions, and S3. Cloud-native applications can be optimized to function at a lower cost (you only pay for what you use) with great flexibility and scalability. However, going cloud-native also requires the most effort and a complete rewrite. A lower-risk approach for enterprises that are just beginning their cloud journey may be to simply rehost (lift and shift) or re-platform (lift and shape) applications to the cloud and gradually move into cloud-native services.
While “future-proofing” is the nirvana you strive for, it is not really attainable in the truest meaning of the word. In fact, I would argue that sometimes people take this “future-proofing” goal too far. As IT professionals, we may have a tendency to overly future-proof systems and make it harder, more expensive and slower to deliver them.
In my opinion, the most important goal in future-proofing is flexibility, and even that should only be the case in core platforms and architectural principles. Also, depending on what you are building, you may need to build systems that are scalable and learning-capable to future-proof your IT investments.
By using future-proofing as a conceptual framework for your IT strategy, you can reduce expenses, time and energy while increasing flexibility, efficiency, scalability and profitability.
This post was originally published for Forbes Tech Council.