owb’s project

policy kit

Polkit (formerly PolicyKit) is a component for controlling system-wide
privileges in Unix-like operating systems. It provides an organized
way for non-privileged processes to communicate with privileged ones.
Polkit allows a level of control of centralized system policy. It is
developed and maintained by David Zeuthen from Red Hat and hosted by
the freedesktop.org project.

Can be used to give a certain user who runs the e.g. rails application required permissions

sinatra

Sinatra is a free and open source software web application library and
domain-specific language written in Ruby. It is an alternative to
other Ruby web application frameworks such as Ruby on Rails, Merb,
Nitro and Camping. It is dependent on the Rack web server interface.

Designed and developed by Blake Mizerany, Sinatra is small and
flexible. It does not follow the typical model–view–controller pattern
used in other frameworks, such as Ruby on Rails. Instead, Sinatra
focuses on “quickly creating web-applications in Ruby with minimal
effort.”

Can be used to build a light and easy to use webserver for client/server implementation

event machine

EventMachine is an event-driven I/O and lightweight concurrency
library for Ruby. It provides event-driven I/O using the Reactor
pattern, much like JBoss Netty, Apache MINA, Python’s Twisted,
Node.js, libevent and libev.

EventMachine is designed to simultaneously meet two key needs

Extremely high scalability, performance and stability for the most demanding production environments.
An API that eliminates the complexities of high-performance threaded network programming, allowing engineers to concentrate on
their application logic.

This unique combination makes EventMachine a premier choice for
designers of critical networked applications, including Web servers
and proxies, email and IM production systems,
authentication/authorization processors, and many more.

TODO

client/server

Implementing a Client/Server logic. Most difficult but fastest and ressource-saving option since the Client should be wirtten in plain C.

rails as root for syscalls

Easy but bad.

websocket

TODO:

padrino + puma == lightweight

Padrino is a ruby framework built upon the excellent Sinatra Web
Library. Sinatra is a DSL for creating simple web applications in Ruby
quickly and with minimal effort. This framework tries to make it as
fun and easy as possible to code more advanced web applications by
building upon the Sinatra philosophies and foundations.

Can be a good solution in combination with puma (smallest webserver)

chef for cluster provisioning

Chef is a configuration management tool written in Ruby and Erlang. It
uses a pure-Ruby, domain-specific language (DSL) for writing system
configuration “recipes”. Chef is used to streamline the task of
configuring & maintaining a company’s servers, and can integrate with
cloud-based platforms such as Rackspace, Amazon EC2, Google Cloud
Platform, OpenStack and Microsoft Azure to automatically provision and
configure new machines.

Use it with Vagrant to setup predefined settings in a big(or small) cluster of VMs
Could also be a good solution, huh?

Read More