Breaking the monolith – How to design your system for both flexibility and scale – Part 6: The Service

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

This post is part of a series. you’d probably like to read it from the beginning. Or check out the previous post in the series

If you have any experience with software developers, and I assume you do, you would know that we are prone to religion wars – windows vs. linux, python vs. js, visual studio vs. sublime vs. emacs vs. vim, even DC vs Marvel. Just name an idea or a product and sit back and watch us preach for hours on end why it’s either the most awesome thing in existence (or a steaming pile of out of date tyrannosaurus manure).

Taking that into account, it’s no surprise that a questions like “is SOA good or bad?” have been sending architects, engineers and programmers to the ring to try and punch a decision out of each other since the biblical times (someone had to engineer the shit out of those pyramids). The bell rings, we’re up! Continue reading “Breaking the monolith – How to design your system for both flexibility and scale – Part 6: The Service”

Breaking the monolith – How to design your system for both flexibility and scale – Part 6: The Service

better event-driven programming using flexible state

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

This is a true relic- the few who can spend the time and read it will be rewarded with the gift of understanding state. Using the complex example of…. a calculator:

At first glance, this approach seems to work just fine. Indeed, when you launch the calculator (available for download at <www.cuj.com/code>), you will certainly find out that most of the time it correctly adds, subtracts, multiplies, and divides. What’s there not to like? However, play with the application for a while longer, and you’ll discover many corner cases in which the calculator provides misleading results, freezes, or crashes altogether.

Source: Who Moved My State? | Dr Dobb’s

Link

3 Tips To Not Holding Back Your Geo-Data

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

It’s been almost a decade that I’m in the HPC (≈cloud≈scalable software) field. During these joyful years, the family of problems which seems to pop back the most are those how are heavily dependent on geographic data as the main input (not that there’s anything wrong with that).

One would expect by now that these kind of problems will be solved by now, but the main source of (relatively) reliable GPS data today, in terms of volume, are smartphones, and these weren’t really here a decade ago.

Continue reading “3 Tips To Not Holding Back Your Geo-Data”

3 Tips To Not Holding Back Your Geo-Data

Breaking the monolith – How to design your system for both flexibility and scale – Part 4: The Message

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

This post is part of a series. you’d probably like to read it from the beginning. Or check out the previous post in the series

Those of us who had the chance to experience the exquisite pleasure of getting a formal education in the field of software engineering were told a fabulous tale. This tale of extreme bravery and audacity  included mythical creatures and ideas – like a zero-downtime zero-loss infrastructure, instant globally synchronizing data (allowing the creation of what is sometimes referred to as the “single point of truth”),  and of course – the object oriented system.

Continue reading “Breaking the monolith – How to design your system for both flexibility and scale – Part 4: The Message”

Breaking the monolith – How to design your system for both flexibility and scale – Part 4: The Message

Breaking the monolith – How to design your system for both flexibility and scale – Part 3: The embarrassingly parallel truth

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

This post is part of a series. you’d probably like to read it from the beginning. Or check out the previous post in the series

 

We are about to dig a hole. The hole will be 8 meter deep, 1m long and 1m wide. We know, from experience as a professional hole digger it will take us about 8 hours to dig all the way down. But this time there’s a difference – we will get some help.

together we stand

So our boss decided to get us some help, 7 people worth of help to be exact. But of course in life as in life, and nothing is free – as we are now eight, she wants us to dig the same hole in one hour. Trying to explain why this is not possible, you plead, you beg, you even say trying to dig that particular hole in an hour is like asking nine women to create a human baby in one month. Alas, the boss is the BOSS, and she will not budge – she wants that earth moved.

Continue reading “Breaking the monolith – How to design your system for both flexibility and scale – Part 3: The embarrassingly parallel truth”

Breaking the monolith – How to design your system for both flexibility and scale – Part 3: The embarrassingly parallel truth

on the importance Of standards

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

Not everyone has them in every field of their life (yes, that friend of yours with her choice of men is a fine example), but when it comes to software that doesn’t mean standards are any less important than that coding style you are slaving to keep, or the 400% test coverage you boast about so much.
Continue reading “on the importance Of standards”

on the importance Of standards

Breaking the monolith – How to design your system for both flexibility and scale – Part 2: The Cathedral & The Bazaar

Adam Lev-Libfeld

A long distance runner, a software architect, an HPC nerd (order may change).

Latest posts by Adam Lev-Libfeld (see all)

This post is part of a series. you’d probably like to read it from the beginning. You may also be interested in the next part of the series.

 

As a paraphrase on Eric Raymond’s famous book under the same title (O’reilly ,open format) let us, for a moment, think of the church as a computing system. The  service (no pun intended) is led by the priest, and has a single, general, output, it is very reliable (when comparing to other medieval services) but given under very strict terms (start time, end time, location, donation). If you don’t like your town’s priest, the next best option (if you are a medieval peasant)  probably involved some serious walking and certainly was not the safest things you could do in your day off (how’s that for a captive audience?) .

The Bazaar, On the other hand is a whole different animal Continue reading “Breaking the monolith – How to design your system for both flexibility and scale – Part 2: The Cathedral & The Bazaar”

Breaking the monolith – How to design your system for both flexibility and scale – Part 2: The Cathedral & The Bazaar