It sounds like it's a lightweight version of the Foreman [1] with less integrations for virtual servers and configuration management? In any case I starred it to keep track of future updates...
Just as a curiosity, CERN uses something similar to this (LANDB) as its source of truth for the physical infrastructure. [2]
This keeps getting reinvented, because using LDAP for this sucks.
Google had slack, which mapped MAC address -> roles
Yahoo had Igor, which did nearly the same (which used yinst, which had package activation for rollbacks)
Then we saw Puppet/Chef do the same thing, except with conf files you can check in & version control.
This was reinvented again in Yahoo! for hadoop with Zookeeper, for an even shorter life-span roles. Also now with zookeeper doing elections and such, within itself.
Zynga used Zookeeper to build their own role management system, but added the Igor like features into it and started using it as an C&C master to push file/code updates with.
I see that possibly several more people will reinvent it, because these solutions start out as something simple and grow out into an feature-creep mess & then someone reinvents an easier solution, rinse repeat.
And all of them will be the right answer, except for people who are not using it :)
I've been trying out a few different options in this space. I'm doing work with Docker, and in certain scenarios I'd like my containers to 'learn' their configuration at startup. I initially spent some time trying out Etcd which came close to fitting the bill, then Redis, then I just packed it all in and rolled a rest-service for them to talk to (the config data was pretty small).
My particular need has come close to disappearing since the advent of Docker linking, but linking doesn't help when containers have an unscheduled restart. If one of your app's dependencies (ie database container) IP has changed post-startup, you need a way for your app to learning about it. That's where I see the value of things like Etcd and HostDB.
What would be more interesting is a modern framework and standard around querying inventory information. Something that's min implementation requirement is simple enough for consumer products to implement, and scales up to enterprises. And of course supports handling legacy/current discovery methods as well.
Seems like the main issue would be there's only limited case where inventory systems are currently needed, and the existing systems aren't completely broken just yet. But you can imagine at some point, being able to track and manage all of the devices in your home will be a big issue, and there may be an incentive for companies that produce enterprise and consumer goods to not have to develop and maintain duplicate standards. At that point it seems like it would drive some more innovation here.
In the meantime, my preference is to query data in real time form its source (e.g. AWS, VMware), vs. syncing data to a CMDB like database. Unmanaged physical inventory of course still requires a CMDB like database.
Perl is very popular in India. Here's what Flipkart said in their blog post about HostDB:
The first prototype was written in Python by Abhishek. Both Krishnan and I refuse to read Python and Krishnan rewrote the whole thing in Perl one night
Congratulations, you have reinvented DNS. You can even pretty much s/HostDB/DNS/g:
DNS: an old tool to help manage data center inventory and write
applications around it.
DNS is our attempt to solve the problem of finding hosts and
their purposes in a large environment. DNS acts as a Single
source of truth about all Physical and Virtual servers and is
used to define their purpose. It helps us group our servers
through domains and all the software written by the operations
team revolves around DNS. DNS acts as the centralized
configuration store for all sorts of information.
[+] [-] eLobato|12 years ago|reply
Just as a curiosity, CERN uses something similar to this (LANDB) as its source of truth for the physical infrastructure. [2]
[1] http://theforeman.org/
[2] http://landb.sourceforge.net/
[+] [-] gopalv|12 years ago|reply
Google had slack, which mapped MAC address -> roles
Yahoo had Igor, which did nearly the same (which used yinst, which had package activation for rollbacks)
Then we saw Puppet/Chef do the same thing, except with conf files you can check in & version control.
This was reinvented again in Yahoo! for hadoop with Zookeeper, for an even shorter life-span roles. Also now with zookeeper doing elections and such, within itself.
Zynga used Zookeeper to build their own role management system, but added the Igor like features into it and started using it as an C&C master to push file/code updates with.
I see that possibly several more people will reinvent it, because these solutions start out as something simple and grow out into an feature-creep mess & then someone reinvents an easier solution, rinse repeat.
And all of them will be the right answer, except for people who are not using it :)
[+] [-] cryptolect|12 years ago|reply
My particular need has come close to disappearing since the advent of Docker linking, but linking doesn't help when containers have an unscheduled restart. If one of your app's dependencies (ie database container) IP has changed post-startup, you need a way for your app to learning about it. That's where I see the value of things like Etcd and HostDB.
[+] [-] xorgar831|12 years ago|reply
Seems like the main issue would be there's only limited case where inventory systems are currently needed, and the existing systems aren't completely broken just yet. But you can imagine at some point, being able to track and manage all of the devices in your home will be a big issue, and there may be an incentive for companies that produce enterprise and consumer goods to not have to develop and maintain duplicate standards. At that point it seems like it would drive some more innovation here.
In the meantime, my preference is to query data in real time form its source (e.g. AWS, VMware), vs. syncing data to a CMDB like database. Unmanaged physical inventory of course still requires a CMDB like database.
[+] [-] cookrn|12 years ago|reply
http://tumblr.github.io/collins/
[+] [-] rohitnair|12 years ago|reply
http://tech-blog.flipkart.net/2013/10/hostdb/
[+] [-] senthilnayagam|12 years ago|reply
only question why perl and fcgi? why not golang, python or ruby for it
I last used fcgi 6-7 years back when that was the only option to host rails apps.
[+] [-] draegtun|12 years ago|reply
Perl is very popular in India. Here's what Flipkart said in their blog post about HostDB:
The first prototype was written in Python by Abhishek. Both Krishnan and I refuse to read Python and Krishnan rewrote the whole thing in Perl one night
[+] [-] X-Istence|12 years ago|reply
[+] [-] threeseed|12 years ago|reply
http://zookeeper.apache.org
[+] [-] thu|12 years ago|reply
[+] [-] babo|12 years ago|reply
[+] [-] IgorPartola|12 years ago|reply
[+] [-] brokenparser|12 years ago|reply
[+] [-] subliminalbrad|12 years ago|reply
[+] [-] krenoten|12 years ago|reply