[Modularit-users] ModularIT, the modular service architecture, released under GPL license.
Miguel Armas
kuko at canarytek.com
Thu Apr 23 11:27:00 WEST 2009
Hi Andrew,
I'm Miguel Armas (kuko) ModularIT's project leader
ModularIT main goal is to simplify the deployment and management of
complex IT infraestructures, but focused on companies that manage a
large number of small/medium infraestructures.
Most of the related projects we find are focused on managing and
deploying servers in a big datacenter with a fast connection to all
servers (LAN). Our focus is to simplify this tasks for companies (like
ours) that give support and manage server for many companies with
their own installation. All this clients are independent and we only
have broadband connection to each of them.
ModularIT is really a system integration project, rather that a
development project. What we do is use existing tools and integrate
them to accomplish our goals. We only develop some tools to "glue" all
this together, and right now most of that glue, and our main
management system is based on Puppet.
We describe ModularIT as a service architecture because it has
different independent (but related) component and layers:
** Virtualization **
All ModularIT services are offered by independent virtual machines.
This way, every VM is like a block in the infraestructure, that we can
change as long as we keep the interface between services.
Right now we use Xen, but we are working on supporting KVM, VMware and
Amazon EC2
** Service VM **
In ModularIT we develop independent virtual maquines (service VM) to
offer services needed by most companies. We are always looking for new
services to offer them inside ModularIT.
The difference between this and a VM repository (there are a lot of
them) is that in ModularIT all services are designed to cooperate. For
example, our PBX VM (Asterisk) offer VoIP support to our Fax service,
so we don't need a phone line nor a modem/fax for the faxing service.
All services are connected to the LDAP, server, the asterisk server
can lookup incomming call numbers in the groupware server (eGW), etc
The virtual machines are designed to be self-testing and
self-correcting. Since all service VM offer only one service, we can
define **exactly** what it has to do, and what are the normal working
parameters RAM usage, services that needs to be running, etc. In every
service VM we have processes that controls all this parameters, and if
we detect a problem we try to fix it automagically and send a
notification to the monitoring server.
This testing/correcting framework is based on a prevouis project we
had, but we are investigating new alternatives. For some of this
support we may need some small changes in Puppet, so we are trying to
study the code. If we finally use Puppet for all this tests we will be
very happy to contribute it to the project
** Management and Monitoring
The upper layer is a management and monitoring server. Since we manage
many smaller companies, we need a hierarchical system. We need to
install a management/monitoring server in most of the clients, because
they want to monitor/manage their own systems, but all this
management/monitoring should be also centralized in our own servers.
This way, the clients can see the status of their servers, and we have
a whole picture of all the systems we manage.
Right now we are using a distributed Nagios configuration, that we
create automatically with Puppet, and we are trying to use a
distributed Puppet installation, but we have problems with puppet,
because we can not have the storedconfig database in the client and in
our main server (or maybe I don't know how to do it ;)
We need to be able to access servers that are behind firewalls and to
run a command on many hosts (like a push option for puppet, something
that has been asked several times in the list). We do this with a
combination of SSH ProxyCommand and a cluster shell (pdsh), and we
create this config automatically with puppett
I have to confess I've been taking a look at other alternatives like
Chef, but right now Puppet is still our choice.
Right now, the project is under heavy development and is changing a
lot. That's why I haven't published a lot and the project might seem
abandoned. The main reason is that I still haven't published the NOC
VM (management/monitoring service VM) which is one of the main
components. I hope to publish it next week to reactivate the
project....
Well, I hope this message was not too long and you find it
interesting, and thanks for the great work developing Puppet!!!
Salu2!
--
Miguel Armas <kuko at canarytek.com>
CanaryTek Consultoria y Sistemas SL
More information about the Modularit-users
mailing list