Which Technologies Best Support Modern Software Architecture?

Software engineering leaders must equip their teams with the latest platforms, practices and tools to build software at speed and at scale. 

Plot your path with this strategic roadmap

Make smarter investment decisions in emerging technologies.

By clicking the "Continue" button, you are agreeing to the Gartner Terms of Use and Privacy Policy.

Contact Information

All fields are required.

Company Information

All fields are required.

Type company and location
Optional Optional

Roadmap to modernizing how your teams build software

Software engineering leaders must choose the right technologies for their teams to deliver new digital products and experiences. Use this roadmap to benchmark your adoption plans and evaluate key trends.

Download this report to discover:

  1. Technology adoption patterns reported by 140 software engineering leaders worldwide
  2. Assessments of 47 notable technologies and practices
  3. The risk, adoption timelines and value of each technology

Key considerations in modernizing architecture and technologies

Modern software architecture and platforms deliver greater developer productivity and effectively enable software engineering teams to deliver greater resilience, scalability, security and automation.

Equip your teams with AI/ML, low-code automation and new stacks and frameworks.

Software engineering teams are adopting a broad range of technologies and practices to support all major aspects of software engineering — from defining personas and user journeys to building, testing and operations. Delivering superior capabilities and value more quickly are the primary goals of software engineering technology adoption. 

Software architectures and technologies are evolving rapidly. Emerging technologies enable software engineering leaders to improve the developer experience, increase agility, reduce costs, improve security and innovate with features for teams and customers.

Software engineering teams need modern software architectures that enable greater resilience, scalability and security. They need to enable easier continuous delivery and integration, which increases delivery velocity. Teams need to align their software with strategies that drive profit growth through digital transformation.

Platform engineering and innovation teams continuously monitor and experiment with emerging technologies and practices that can deliver new features, drive business innovation, speed delivery and improve the developer experience. Platform engineering and innovation teams work closely with product engineering teams, treating them like customers to ensure they are building the capabilities that will be enthusiastically embraced.

Software engineering leaders should reassess their modernization goals and gaps regularly. As software engineering teams mature, they become more effective at managing technical debt while driving innovation and delivering new capabilities. Key actions include:

  • Revising migration and modernization priorities while managing technical debt
  • Upskilling teams in architecture patterns and practices
  • Establishing innovation teams to experiment with new technologies and architectural models
  • Adopting continuous modernization practices

 

Adopt modern architectures to ensure teams drive digital business.

It’s a top priority for software engineering leaders to modernize existing software, platforms and architecture to ensure their teams are leveraging the right technologies and delivering new value-adding digital products and experiences.

Software engineering teams are most effective — and deliver most value — when using modern platforms, architectures, tools and practices. Developer retention also improves when engineers use modern languages, frameworks, architectures and tools. Compelling innovations include cloud-native architecture, serverless platforms, low-code platforms, design systems, AI-augmented tools and platform engineering.

Despite the incentive to modernize platforms, languages and tools, software engineering leaders face three key challenges:

  1. The danger of cost overruns from incorrect use of cloud-native services
  2. The lack of skills and experience in emergent languages and frameworks
  3. Comfort levels teams have with their current ways of working, which may have included relying on other teams for things they now need to handle — such as "run" in "you build it, you run it" teams 

To work through these challenges, software engineering leaders must provide the on-demand training their engineers require to learn how to use new technologies and architectures, and equip teams to experiment and develop best practices that avoid cost overruns or other issues.

Choose effective platforms, frameworks and tools for development and delivery.

Migrating to modern software platforms involves teams and architects assessing options, evaluating the costs and benefits, and then choosing an approach for migration, if required. In larger organizations, software engineering leaders often find they need to establish governance around this process to protect the firm’s interests, without quashing team creativity and originality.

Modern software platforms, including public cloud, containers and serverless, offer new and expanded capabilities, such as support for multiexperience and AI-augmented decision making. These deliver greater resilience, scalability, security and automation. But software engineering leaders should not move to new platforms and technologies just for the sake of it — they must work closely with business stakeholders and product management to assess where such changes are important to support critical new business capabilities prioritized for investment.

No single platform, programming language or framework will be right for every application, but software engineering leaders increasingly favor technologies such as:

  • Cloud native
  • WebAssembly
  • Application platform as a service 
  • Container management platforms
  • Low-code application platforms

Modern software architectures (such as microservices) and the technologies used to deliver them (such as cloud, containers, edge compute and open-source tools) drive up complexity. As a result, software engineering leaders must learn where to apply these architectures, versus where a simpler approach is better, and then invest accordingly to enable teams to adopt those favored patterns.

Software engineering leaders are increasingly exploring platform engineering practices to improve the aspects of the developer experience that are negatively affected by high-friction development tools, technologies and processes.

Platform engineering reduces the burden of sustaining multifaceted platform environments and improves the developer experience for product teams by eliminating the cognitive load and frustration of navigating complex workflows — enabling them to focus more time on delivering customer value.

Engineers should have a deep understanding of the context of products they are building and will know why they are building the software, not just what features to build. Platforms that automate mundane tasks and enable teams to focus on building solutions that deliver business value are important. 

Platform engineering requires a disciplined approach and guiding principles designed to suit the business case and needs of stakeholders, such as whether the platform will be based on open-source software (OSS) technologies and frameworks — which are built by developers, for developers.

Understanding the benefits and risks of OSS, and creating a well-defined OSS strategy, are key to achieving sustainable success. This may include ensuring that software composition analysis (SCA) tools are employed in the software development process. SCA tools can:

  • Identify OSS licenses
  • Build an SBOM of all OSS components in your software engineering environment
  • Identify nested dependencies in software

Shifting to OSS means a shift in tools, techniques and structure, and this needs the development of change leadership in the organization. This can begin with the formation of a team that will pilot solutions and practices and that can act as a support and leadership team. Many organizations create an Open Source Program Office (OSPO) for this purpose.

Experience Applications conferences

Join your peers for the unveiling of the latest insights at Gartner conferences.

Drive stronger performance on your mission-critical priorities.