Red Hat announced a multi-stage alliance to offer customers a greater choice of operating systems to run on Oracle Cloud Infrastructure (OCI).
Enterprise developers, perhaps more than most, have significant hills to climb in order to achieve greatness or to create truly impressive work. You're likely familiar with some of these challenges already: standard app concerns like latency, geo-distribution, security, etc. But then there are other concerns like legacy systems, coordination, specialization, and other factors that add significant time to a development cycle.
It's not a lack of talent, or even a lack of leadership — the real enemy that orchestrates these problems is: Complexity.
Solutions that aim for tearing down these barriers by bringing much-need simplicity are the ones that will rule the day and pave the way for next-gen applications.
In the past, enterprise developers had to contend with scale, outdated architectures, and so on. With the advent of containers and microservices, it became possible to overcome some of these interdependencies that made scale impossible. They also fixed some of these latency and geo-distribution issues. In addition, new security technologies have made it possible to develop apps that are much more secure than before. The problem now is related to these fixes adding even more complexity and specialized knowledge just to maintain.
Microservices are damned hard. When you start talking about hundreds, thousands of nodes and containers and microservices and a global user base, and data (so much data), enterprise developers have so many things to manage and so many people to manage it with.
To build great applications that are ultra-low-latency or real-time, developers have to hack the system essentially. They have to piece together so many solutions and services and environments if they have any hopes of a successful, working global application. There are heroics involved for even the "simplest" of apps — the beauty is how simple they make them look (much like the abstractions of serverless architectures — but in real life).
How Can We Solve the Problems?
Fixing the latency and geo-distribution problems is a two-fold process.
First, you need to ensure that your infrastructure is properly configured, or rather, that it is configured for you. You have to be able to distribute your content globally and be able to access it quickly, so caching will help to improve performance for data used most often.
Secondly, you need to ensure that your app code is properly optimized. This means making sure that your app code is asynchronous and non-blocking, and that your app makes use of resources efficiently. This is all part of the "hack" - the piecing together of various things. What makes an app "impossible" is when developers make it look easy — and when technology makes developers look like superheroes, rather than forcing them to be superheroes, that's when we succeed.
Stopping the hack and helping developers build full-stack, globally-distributed applications without having to worry about the complexity of building and operating distributed systems is the solution. Removing friction for enterprise developers has to be the goal — not peddling the next link in the toolchain.
Developing "impossible" apps is possible thanks to advances in technology. To fix the latency and geo-distribution problems, developers need to ensure that infrastructure is properly configured and that app code is optimized for performance. Solutions that aim for improving the developer experience by tackling complexity head on are going to be the secret weapon for the next era of development.