IBM's recent earnings miss highlights a significant shift in enterprise IT spending, as companies prioritize capital expenditure on AI hardware over traditional software services. This trend forces internal engineering teams to build custom integrations and infrastructure using open-source tools, bridging the gap between legacy systems and new AI environments, rather than relying on vendor solutions. The article underscores the evolving demands on platform teams to develop internal developer platforms and custom APIs to support AI initiatives within tighter software budgets.
Read original on The New StackThe article discusses how large enterprises are reallocating IT budgets, moving capital expenditure (capex) from traditional software services, like those offered by IBM, towards securing hardware for AI data centers. This reprioritization means less spending on high-margin middleware and off-the-shelf vendor solutions, directly impacting how engineering teams approach infrastructure and application development.
Impact on Software Procurement
Enterprises are choosing to invest heavily in servers, storage, and memory for AI infrastructure, often at the expense of licensing third-party software. This creates a need for internal teams to build solutions that would traditionally be bought, shifting the development burden.
With reduced budgets for vendor software, platform engineering teams are increasingly tasked with creating "golden paths" and Internal Developer Portals (IDPs) using open-source tools. This involves manually building integrations and custom APIs to connect legacy databases with new AI environments, such as feeding mainframe data into vector databases for Retrieval-Augmented Generation (RAG).
The need to connect legacy systems with modern AI infrastructure without relying on expensive vendor software means developers must design and implement custom data bridges. This requires deep understanding of both source and target systems, data transformation, and robust API design principles to ensure reliability and scalability of these bespoke solutions.
# Example: Simplified ETL process for RAG
def extract_legacy_data(db_connection):
# Connect to legacy database and extract raw data
pass
def transform_data(raw_data):
# Clean, normalize, and format data for vector database
pass
def load_to_vector_db(transformed_data, vector_db_client):
# Embed data and load into vector database
pass