DevOps
fromInfoQ
14 hours agoReplacing Database Sequences at Scale Without Breaking 100+ Services
Validating requirements can simplify complex problems, and embedding sequence generation reduces network calls, enhancing performance and reliability.
The dynamic type hints feature in Module Federation 2.0 dramatically streamlines the development process by automatically generating and loading types from remote modules, eliminating the need for shared type packages.
Neo4j Aura Agent is an end-to-end platform for creating agents, connecting them to knowledge graphs, and deploying to production in minutes. In this post, we'll explore the features of Neo4j Aura Agent that make this all possible, along with links to coded examples to get hands-on with the platform.
Events are essential inputs to modern front-end systems. But when we mistake reactions for architecture, complexity quietly multiplies. Over time, many front-end architectures have come to resemble chains of reactions rather than models of structure. The result is systems that are expressive, but increasingly difficult to reason about.
Social Beast is a web app meant to be run locally that handles posting to multiple social networks at once. Right now "multiple" is two: Mastodon and Bluesky. It doesn't show you latest posts and stats, it's just meant to give me a quick way to post to both networks at once.
Modern web applications are no longer just "sites." They are long-lived, highly interactive systems that span multiple runtimes, global content delivery networks, edge caches, background workers, and increasingly complex data pipelines. They are expected to load instantly, remain responsive under poor network conditions, and degrade gracefully when something goes wrong.
Building APIs is so simple. Caveat, it's not. Actually, working with tools with no security, you've got a consumer and an API service, you can pretty much get that up and running on your laptop in two or three minutes with some modern frameworks. Then, authentication and authorization comes in. You need a way to model this.
This same sense of uncertainty can be triggered in software products. Many digital experiences consist of background tasks, file imports, system updates, and other long-running processes that run quietly and invisibly, leaving users with no indications of progress or feedback. The user initiates an action, like a sync, a publish, or a bulk update, and is responsible for the outcome, while the system does all the work out of sight.
There is a growing emphasis on database compliance today due to the stricter enforcement of compliance rules and regulations to safeguard user privacy. For example, GDPR fines can reach £17.5 million or 4% of annual global turnover (the higher of the two applies). Besides the direct monetary implications, companies also need to prioritize compliance to protect their brand reputation and achieve growth.
The request for its API val request = Request[IO](Method.POST, uri"/jobs")val api = new AsyncJobApi // this will not compile since AsyncJobApi is not defined yet Minimal implementation to make it green: class AsyncJobApi Red test: The API should return a 202 Accepted response: "POST /jobs returns Accepted" in { val request = Request[IO](Method.POST, uri"/jobs") val api = new AsyncJobApi api.routes.orNotFound.run(request).asserting : response => response.status shouldBe Status.Accepted} Make it green: class AsyncJobApi { val routes: HttpRoutes[IO] = HttpRoutes.of[IO] : case req @ POST -> Root / "jobs" => Accepted()} 5.2 Add headers (Trivial Implementation) Red test: add X-Total-Count and Location headers with job ID (only the assertion is shown)
For a long time I wanted to document something I have done many times in production systems but never explained clearly: using Django ORM as a standalone module to connect to an existing database. In my work I have often dealt with legacy systems where the only reliable source of truth was the database itself. In those situations, Django ORM became my Swiss army knife.
Frontends are no longer written only for humans. AI tools now actively work inside our codebases. They generate components, suggest refactors, and extend functionality through agents embedded in IDEs like Cursor and Antigravity. These tools aren't just assistants. They participate in development, and they amplify whatever your architecture already gets right or wrong. When boundaries are unclear, AI introduces inconsistencies that compound over time, turning small flaws into brittle systems with real maintenance costs.
The web is full of AI assistants that appear to understand application UIs, user data, and intent. In practice, however, most of these systems operate outside the application itself. When you try to build one from scratch, you quickly run into a core limitation: large language models have no native understanding of your React state, component hierarchy, or business logic.
Company CEO David Mytton said the release of v1.0 of its Arcjet JavaScript SDK makes it possible for developers to address many of the issues as applications are being developed that DevOps teams would otherwise need to address later in the software development lifecycle (SDLC). Additionally, Arcjet is beta testing a similar SDK for Python developers, who often have even less application security expertise, added Mytton.
Over the past decade, software development has undergone a massive transformation due to continuous innovations in tools, processors and novel architectures. In the past, most applications were monoliths and then shifted to microservices, and now we find ourselves embracing composability - a paradigm that prioritizes modular, reusable, and flexible software design. Instead of writing separate, tightly coupled applications, developers now compose software using reusable business capabilities that can be plugged into multiple projects. This enables greater scalability, maintainability, and collaboration across teams and organizations. At the heart of this movement is Bit Harmony, a framework designed to make composability a first-class citizen in modern web development.
Over the past few years, I've reviewed thousands of APIs across startups, enterprises and global platforms. Almost all shipped OpenAPI documents. On paper, they should be well-defined and interoperable. In practice, most fail when consumed predictably by AI systems. They were designed for human readers, not machines that need to reason, plan and safely execute actions. When APIs are ambiguous, inconsistent or structurally unreliable, AI systems struggle or fail outright.
The most complete example of what the new development server makes possible is support for Cloudflare Workers. With Astro 6 Beta, astro dev can now run applications using workerd, Cloudflare's open-source JavaScript runtime, which is the same runtime that powers Cloudflare Workers in production. This means developers can now develop directly against real platform APIs rather than simulations or polyfills.
In response, companies that are behind MySQL are coming together. Rather than continuing with things as they are, these companies recognize that developing a future path for MySQL is essential. What this will lead to will depend on decisions outside the community. Will this act as a spur for a fork of MySQL that has community support, similar to PostgreSQL? Or will this lead to MySQL moving away from the control of a single vendor, as has been the case since it was founded?
The project behind this post is intentionally a bit over-engineered - in the "let's see what breaks when things grow" sense. That's by design. While a simple recipe example could easily be modelled with plain strings and numbers, cookbook explores more advanced, real-world concerns: extensibility, customisation, validation, and precise handling of numeric values, including floating-point quantities. The recipe domain is just a familiar, low-stakes vehicle for discussing these deeper ideas.