Below you will find pages that utilize the taxonomy term “architecture”
Post
On to Nano-Services
A few weeks ago, I had the pleasure of meeting Pini Reznik, CTO of container consulting firm Container Solutions, in Berlin. It may appear strange that an independent consultant who spends a lot of time helping companies with development and infrastructure strategies, much of which over the last several years has involved containers, would tout another consulting firm's services. There is, however, plenty of work to do for all of us, and I am grateful for the thoughts and ideas they shared.
Post
Architect Your Product Before It Holds You Back
Architecture determines capabilities.
This is not new. Anyone who has planned and architected a new product, or has tried to retrofit capabilities for which a platform has not been architected, knows it first-hand.
Yet, time and again, I come across products that have not been planned, and therefore architected, around reasonably expected capabilities.
Sometimes I see these as a user.
Last week, a client wanted to give me access to their Dropox Team account, so we could share information.
Post
The Pain Caused By Poor Software Design
Over the last few month, I was reminded - twice, painfully each time - about the impacts of good vs. bad software design choices, especially the impact those choices can have downstream. Ironically, it is not only - or even mainly - the creators and primary users of the software who are impacted, but others unforeseen at design time.
Installing an Operating System Anyone who has installed an operating system on their laptop or server - or even smartphone - is familiar with a series of questions, choices and answers, as they configure the operating system.
Post
Smart Design in Containers
In a previous article, we invented "Conway's Corollary" - how design determines scale.
Today, we will look at another case from the hottest technology of the last year: containers.
When designing software - any piece of software - the most important criterion is not, "what features does it have," or "how well is it documented," although those are very important. It is not even, "how sexy is the user interface,"
Post
Conway's Corollary - Design Determines Scale
When I went to business school, I worked closely with an incredibly smart woman with whom I shared a very similar method of thinking and mindset. When we would find the same responses to the same questions in the same manner, inevitably I would quote, "great minds think alike."
She taught me that there is a corollary: "...but fools rarely differ."
The great challenge in life often isn't to agree with someone, no matter how smart; it is to determine if you are both great minds thinking alike, or both fools who are not differing.
Post
Go Conway
There is a famous saying, known as Conway's Law, which states that:
organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations
It means that when your organization builds a system, its structure will reflect the organization that created it. If you have 3 teams - database administrators, system administrators and Web developers - then your system architecture will have 3 distinct components: databases, servers and Web UI.
Post
Why Does My Infrastructure Cost So Much?
Yesterday, I had an enjoyable late evening conversation with a colleague of mine, a first-class information security and compliance consultant. We have collaborated on several projects in the past, and it always is a pleasure working with him (contact if you need one).
One of the issues we discussed is why so many companies feel their infrastructure costs - both data centre and cloud - are too high. Of course, "
Post
Design for Failure in the Cloud. Actually, Everywhere.
In one of our earlier discussions about cloud, an astute reader pointed out that one "downside" of public cloud, especially one like AWS, is that they make very few guarantees about your instances. While the system as a whole has service level agreements (SLAs), your particular instance does not. To quote:
"If your instances go down you're going to have to deal with it"
The underlying assumption, of course, is that you have better control over the level of availability of your particular instances and their underlying hardware, especially scheduled maintenance, when you control the entire environment rather than leaving it to a cloud provider like Amazon or Rackspace.