Architecture Weekly #191 - Is It Production Ready?
Welcome to the new week! Why is connection pooling important? How can queuing, backpressure, and single-writer patterns help? If you don't know the answer, then go go go, and check the previous two editions (here and there)! Jokes aside, we did a learning by doing. We've built a simple connection pool, added queuing with backpressure, and implemented patterns like single-writer. All of that is to show, on a smaller scale, how those patterns can be extrapolated to broader usage. We wrote it in TypeScript, and the code looks solid; it sounds like we could deploy it to production or maybe pack it and release it as an open-source library, right? Hold your horses! Before we hit deploy, there's a usual question we need to ask: Is this ready for production? If we don't ask ourselves, we'll either ask soon or learn the answer the hard way. This is the usual border between the proof of concept and reality. Even if:
How to do it? We'll discuss that today. What does production-readiness even mean?Does this mean it's feature-complete, has no bugs, or doesn't have security leaks? What about working as expected? Expected from who? Users, customers, operations? What's your definition? Google invented the whole concept of the Production Readiness Review. The name is so posh that it clearly says it's hard to define what production means in general. We cannot define a simple checklist that fits all cases, but we can decide if our software matches our contextual criteria. In our case, the code was production-ready as it matched the criteria of being an illustration for a discussion about the architecture concept. Still, I tested it today, and it didn't even compile (sloppy me!). And that's not the end of the list. Let's think about verifying if our connection pool and queue are production-ready in a more common sense. 1. Unit Testing, so how to verify that?Testing is more than just verifying that the code works - it's about ensuring it holds up under all specified conditions. Some say that we should always write the tests first. Test means specification and verification are here if the code matches it. We didn't do that, as the code was more an illustration of the idea, but if we wanted to make it work, we'd need to run it finally. Of course, we could write an application using our connection pool, run it and manually test it. Yet, that wouldn't be repeatable and would be a good measure. We could easily skip some edge cases. We need a more systematic approach. We could start with unit testing. What a unit means is an endless discussion. For the sake of this article, let's assume that unit tests are where we validate the smallest possible components of our system in isolation. We need to ensure that each function does what it's supposed to, without surprises. In our case, this could mean:
The next part of the article is for paid users. If you’re not such yet, till the end of August, you can use a free month's trial: https://www.architecture-weekly.com/b3b7d64d. You can check it out and decide if you like it and want to stay. I hope that you will!... Unlock this post for free, courtesy of Oskar Dudycz.A subscription gets you:
|
Older messages
Architecture Weekly #190 - Queuing, Backpressure, Single Writer and other useful patterns for managing concurrency
Monday, August 12, 2024
Welcome to the new week! ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Architecture Weekly #189 - Mastering Database Connection Pooling
Monday, August 5, 2024
Boom! This is the first Architecture Weekly in the new format. It's a deep dive to database connection pooling. Check to learn how to set it up starting from simple solution and learning how the
Architecture Weekly #188 - 29th July 2024
Monday, July 29, 2024
This time in an unusual edition, we focused on the underestimated aspect of Software Design: resting. We discussed the typical mistakes we do and why repeating them will not help you in making right
Architecture Weekly #187 - 8th July 2024
Monday, July 8, 2024
This week, we discussed the challenges of finding the right architecture strategy and pivoting it when needed. We brought and discussed a few insightful articles on how/when/why to move to serverless,
Architecture Weekly #186 - 1st July 2024
Monday, July 1, 2024
This week, we covered the Polyfill JS supply chain attack that potentially touched 4% of the Internet. We also checked the DataDog report on the state of Cloud Spendings. We discussed whether it's
You Might Also Like
Programmer Weekly - Issue 223
Thursday, September 19, 2024
View this email in your browser Programmer Weekly Welcome to issue 223 of Programmer Weekly. Let's get straight to the links this week. Quote of the Week "It's tempting to write a long
Data Science Weekly - Issue 565
Thursday, September 19, 2024
Curated news, articles and jobs related to Data Science, AI, & Machine Learning ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Contrarian Report Shades GitHub Copilot Productivity, Bits Polished as .NET 9 Nears, Python in VS Code, More
Thursday, September 19, 2024
Home | News | How To | Webcasts | Whitepapers | Advertise .NET Insight September 19, 2024 THIS ISSUE SPONSORED BY: ■ dtSearch® - INSTANTLY SEARCH TERABYTES ■ Live! 360: Developer / IT / Security / Data
Web Tools #583 - No Code Maps, React, Testing, Git/CLI
Thursday, September 19, 2024
WEB VERSION Issue #583 • September 19, 2024 The following is a paid product review for No Code Map App, a platform for building custom interactive maps from almost any data source, no coding required.
Python Weekly - Issue 668
Thursday, September 19, 2024
View this email in your browser Python Weekly Welcome to issue 668 of Python Weekly. Let's get straight to the links this week. From Our Sponsor Get Your Weekly Dose of Programming A weekly
DeveloPassion's Newsletter #176 - Introducing Knowii
Thursday, September 19, 2024
Edition 176 of my newsletter, introducing Knowii, discussing Knowledge Management, Knowledge Work, Zen Productivity, Personal Organization, and more! Sébastien Dubois DeveloPassion's Newsletter
Your Builds Are Slower Than You Think
Thursday, September 19, 2024
View in browser 🔖 Articles Metaspace in JVM Builds This is a post in my JVM Args for Builds series where I break down how these settings effect JVM-based build systems. A number of these settings are
Real-time Linux makes it to the kernel
Thursday, September 19, 2024
iOS 18 regrets; Gemini Live is live; Best noise-cancelling earbuds -- ZDNET ZDNET Tech Today - US September 19, 2024 placeholder 20 years later, real-time Linux makes it to the kernel - really The work
⚙️ California governor signs AI bills
Thursday, September 19, 2024
Plus: The Deep View speaks with Gary Marcus
wpmail.me issue#685
Thursday, September 19, 2024
wpMail.me wpmail.me issue#685 - The weekly WordPress newsletter. No spam, no nonsense. - September 19, 2024 Is this email not displaying correctly? View it in your browser. News & Articles WordCamp