6 min read
A software design pattern is a description or template which defines how to solve a problem which can then be used in many different situations. The important part of a software design pattern is that it has a common name and way of being described that once learned can be talked about by name only instead of all the details that it describes.
The ultimate goal of any technical architecture should be to make it easily described and understood by others. A well documented architecture will be easier to talk about, explain and implement. It is important to have a name that represents the architecture and the description so that it will not be confused with other concepts. Standard diagrams are also extremely important to convey the ideas to a broad audience.
With all of that being said, I didn’t come by the name of the Zeta Architecture by throwing a dart at a poster of the Greek alphabet I have hanging on my wall. Instead I wanted a name that would mean something, be relevant to the architecture and support the concepts it encompassed.
The high level component view of this architecture is intended to support the goals defined for this new architecture. It is not intended to dictate which specific software or project, open source or otherwise that must be used. There are seven pluggable components of this new architecture, and all of the components must work together:
Pretty much everyone in the world seems to know that “Z” is the last letter of the English alphabet. Often times people who are not familiar with Greek letters will say that Zeta is the last letter in the Greek alphabet. They draw this association to the English alphabet just because Zeta starts with the letter Z. However Zeta is actually the sixth letter out of the twenty four in the Greek alphabet.
As I documented this architecture there were six pieces that in some capacity or another needed to know about each other in order to properly interact. The seventh piece which is very important to the overall architecture sat in the middle of the initial six pieces touching each of them. The first six don’t need to know about the seventh in order to work, but for the architecture to really deliver the most benefits, all seven must exist and work together in a heterogeneous way.
There were two different perspectives that are equally important that could be seen in this architecture. Zeta in Greek numbers represents the number seven. This is ultimately why I settled on calling this architecture Zeta.
The hexagon was chosen to represent this architecture as there are six major pluggable components that must work in harmony with the global resource management. There are six major components but really seven total pieces. The location of the components in the hexagon were chosen with good reason as well. The distributed file system sits at the bottom as everything is built on top it. The compute model / execution engine and the real-time data storage are effectively married to the distributed file system as that is where the data will reside whether the data is moving in, or out. The enterprise applications were placed sitting on top of the solution architecture and the deployment / container management system because they are the support for the enterprise applications and define how the enterprise applications will work. Lastly, the resource management touches everything and thusly sits in the center of the diagram.
Stay ahead of the bleeding edge...get the best of Big Data in your inbox.