Daily techtalk: Boxed solution, or Custom developments
The subject of the topic is always a question. It is the same question like what was before the chicken, or the egg. If we are honestly thinking about computer software, every software was somehow a custom development before it was boxed.
To answer the question, is not an easy task. It always depends on the used functionality, and the knowledge what we could gain from the software.
The most common mistake which most of the companies made, is that they implement a new software, but the original system which replaced will remain. This fact can kill every TCO calculation. Increase the overall system complexity, and increase the operating costs.
Everyone knows my previous working experience, knows that I worked a lot to gain experience, the spiritual world of application and hardware relationship. If someone digs into system performance optimization, soon realize the fact, there will be always a bottleneck. The question with these efforts is always that what is the maximum efficiency what we can take out from the solutions which in our hands.
This is the part when architecture, planning, and the choosing between boxed solution came into the picture. If we use packaged solutions, or we can call them Engineered Systems, we have limitations. Engineers worked thousands of hours, to make their products doing its best. The question is that within the company resources, how this measured to the possible innovations.
A good example, which runs thru my mind on this weekend. I was surfing on my favorite web pages, and I read an article regarding the new Ubuntu 15.10 release notes. I found a new feature which is NV-DIMM support. With this we don't need to worry more about the power outage. Additionally, this drive is able to give 10 million IOPS in a server. I know many low latency, high IOPS use case, but again the question: When will this feature enable in commercially available products. I guess it will take months, years.
With custom developments we are able to use advanced features, and we can take out all unnecessary components which not needed for us. With these optimization efforts, we are able to really build efficient systems, which performs better than we able to buy.
I always get the feedback, first we are not a development company, second we are not able to use this kind of innovation. I hardly believe in that, the company overall success is depending on the encourage, and innovation of the employees.
We can use traditional components, until we are absolutely sure about that the new things has more performance than the current.
On this weekend the Oracle OpenWorld 2015 started. I'm always curious regarding the big IT companies keynotes. I was expecting some Machine Learning appliance from them, but as I have seen, they worked more on the Cloud solutions.
From my point of view, this area is the most important currently in IT. The whole digitalization, and iOT concept is built around this. Machine learn to be efficient need to have an extremely large amount of data. And what we can learn from this information? Anything.
As I dig deeper and deeper in my course, I realized that:
Today when I used my mobile phone, the phone focused on the faces. I realized that this is Machine Learning. I used google search, it is absolutely Machine Learning. I hear something in iTunes, and it suggests some music what I like, this also Machine Learning. I think in every area of life we are currently using these technologies, but somehow we deny it in our work.
If we teach the computer, it will later help more. Sooner we start the procedure, faster get results. In the future the most performant company will be the one who has the best algorithm, in its system. It is always a balance of money, and system design, but the most dangerous combination who has both. In the next ten years we will see how far we can go.