The Chef’s Special and Trusted Solutions

It is funny where one gets the idea for a blog post from. I was sitting in a restaurant last month in San Jose, one of the only two kosher ones in the area, and I ordered the chef’s special.

Chef's SpecialSo it was grilled salmon, mashed potatoes and grilled vegetables. It was tasty, the flavors blended very well. Which got me thinking.

What made the chef choose that combination? Why those three? Obviously he had tested different combinations. Pasta, rice, noodles, different kinds of vegetables, different spices. But he chose that combination. Tried and tested.

If I had the to choose what I would have wanted with that dish, it probably would have been rice, not potatoes.

So what does this have to do with trusted solution? But before that – a bit about what I think a trusted solution is.

A trusted solution can be something like a vBlock, a solution that has been validated, Hardware which is tested for a certain workload, guaranteed to provide the proper performance and to work.

It could be the VMware HCL, where Q&A has been done to test if things work and work properly. It could be a validated design from one of the vendors – a Cisco CVD, a Flexpod or another solution.

On the other hand I could also have asked for a mix and match on the menu, what I preferred, what I know that I like, I have tried before.

That I could compare to a home built solution, or perhaps a whitebox that is not on the HCL or a slightly different vendor. Will it work – probably – but it something that is probably unique to your liking.

There are advantages to both options, both can serve you well, both are tasty.

(The things that pop into your mind..)

What do you prefer? What do you think suits your business better? The Chef’s special or your own personal favorite mix and match? And why?

Please feel free to leave your comments and thoughts below.


A Triangle is Not a Circle & Some Things Don’t Fit in the Cloud

Baby Blocks

We all started off as babies, and I am sure that not many of you remember that one of the first toys you played with (and if you do not remember - then I am sure those of you with kids have probably done the same with your children) was a plastic container with different shapes on the lid and blocks that were made of different shapes.

A triangle would only go into the triangle, a circle in the circle, a block in the block and so on.

This is a basic skill that teaches us that no matter how hard we try, there are some things that just do not work. Things can only work in a certain way (of course coordination, patience and whole lot of other educational things).

It is a skill that we acquire, it takes time, patience, everyone gets there in the end.

And why am I blogging about this – you may ask?

This analogy came up a few days ago in a discussion of a way to provide a highly available database in the cloud.

And it got me thinking….

There are certain things that are not meant to be deployed in a cloud environment because they were never meant to be there in the first place. The application needed an Oracle database and it was supposed to be deployed in a cloud environment.

What is the default way to deploy Oracle in highly available configuration? Oracle RAC. There are a number of basic requirements (simplified) you need for Oracle RAC.

  1. Shared disk between the nodes.
    That will not work in a cloud environment.
    So we can try using dNFS – as the shared storage for the nodes – that might work..
    But then you have to make an NFS mount available to the nodes – in the cloud.
    So let’s deploy an NFS node as part of the solution.
    But then we have to make that NFS node highly available.
  2. Multicast between the nodes - that also does not work well in the cloud.
    So maybe create a networking environment in the cloud that will support multicast?
    Deploy a router appliance in the cloud.
    Now connect all the instances in the cloud into the router.
    But the router poses as a single point of failure.
    Make the router highly available.

And if not Oracle RAC – then how about Data Guard – which does not require shared storage?

But it has a steep licensing fee.
And you have to find a way for managing the virtual IP address – that you not necessarily will have control over.
But that can be overcome by deploying a VRRP solution with IP addresses that are manually managed.


Trying to fit a triangle into a square – yes if you push hard enough (it will break the lid and fit).
If you cry hard enough – Mom/Dad will come over and put it in for you.

Or you come up with half-assbaked solution like the one below…


Some things will not fit. Trying to make them fit creates even more (and sometimes even bigger) problems.

In this case the solution should have been - change the code to use a NoSQL database that can be deployed easily and reliably in a cloud environment.

As always your thoughts and comments are welcome.