JavaOne 2022: Service Sprawl, Frameworks and Black Magic – Complexity Out of Control
JavaOne 2022: Service Sprawl, Frameworks and Black Magic – Complexity Out of Control
Introduction
In software development, we are constantly striving to move fast and deliver value to users quickly. However, the inherent complexity in much of what we do can often bog us down. This is particularly true as systems grow and evolve over time, with hidden code dependencies and legacy applications that can be difficult to fully comprehend.
To effectively manage this complexity and empower development teams, we need data-driven thinking and an ability to understand the truth of every element of our systems.
At JavaOne 2022 our VP of Product, Eric Minick, delivered an urgent message to Java devs in need of order amidst inherited and compounded code chaos. Watch his 15-minute session to get a glimpse of the biggest blind spots facing software development teams today and learn how to understand your complex applications so you can update them with confidence:
Microservices as Death Stars
Even for a developer working on 1-2 services within an application, most don’t truly understand how the software works or how their service impacts other connected services. In a huge company like Netflix, this presents a large macro-architectural issue when you’re dealing with hundreds, if not thousands, of microservices. Software complexity becomes unmanageable as accurate documentation runs thin and tribal knowledge is limited to very few individuals. This complexity eventually creates problems on the micro level and results in the inheritance of what we like to call: a big ball of mud.
The Modernization Treadmill
When the big complex ball of mud has effectively wrecked its way through your microservice or legacy application’s framework, you may think the next logical step is implementing a modernization program. “If we modernize our app, it will run smoothly again.” Yes, and in some cases, this is the best option, but for a large company like Netflix, this could easily take years.
After 5-10 years of modernization chaos, you’re left with a shiny new application that’s running like a new car right off the showroom floor, and life is good! The dev teams are more productive than they’ve ever been, and everyone is joyously working on the application. Right? Well… as new features are requested with tight releases, dev teams start to cut corners in the execution. Before you know it, that incredibly fast application that took 5-10 years to modernize, is big ball of mud 2.0.
Optimizing the Software Lifecycle
At CodeLogic, we’re aiming to reduce application entropy so developers can spend more time writing new features and services (i.e., delivering actual value to the business), and most importantly, enjoying their job. Too often we see development teams spending most of their time in entropy, and when the application starts to break frequently enough, they’re left to figure it out with an incomplete understanding of how it’s all connected. Using our binary and runtime scanning capabilities, development teams can immediately discover the full scope of their applications, allowing them to modernize or refactor with clarity, and ultimately spend more of their time innovating and expanding the product or service.