Web Engineering
La grande passione per Internet e le nuove tecnologie ci ha spinto, nel corso degli anni, ad una forte specializzazione nella progettazione, nello sviluppo ed in tutte le problematiche di deployment e gestione di applicazioni web.
Nel tempo abbiamo sperimentato numerose modalità e tecniche di sviluppo software, i migliori risultati li abbiamo ottenuto applicando i concetti provenienti dall'Agile Software Development: grazie al framework Scrum ed utilizzando tecniche di Test Driven Development insieme ad un approccio "Top-Down", siamo riusciti a migliorare non solo la qualità del software sviluppato ma anche il valore che questo ha per i nostri clienti ed utenti.
Traiamo profonda ispirazione da quella che viene chiamata Legge del martello, riformulata dallo psicologo americano Abraham Maslow nel 1966, che in italiano suona più o meno così: "se tutto quello che hai è un martello, tutto sembrerà un chiodo". Per questo cerchiamo di tenere nella nostra cassetta molti attrezzi anzichè uno solo: in questo modo possiamo trovare quelli che si adattano meglio alle esigenze dei nostri clienti.
Ovviamente anche noi abbiamo i nostri amori: ci piace, quando possibile, programmare in Python, e ci piace utilizzare le librerie e framework che questo fantastico linguaggio offre: Pylons/Pyramid o Django come framework web, SQLAlchemy per interfacciarsi a database SQL, pyMongo per interfacciarsi a MongoDB, redis per interfacciarsi con Redis, Mako e Jinja2 come template engine.
System Operations
Siamo in grado di affiancare i nostri clienti in tutte le problematiche connesse alla loro infrastruttura: durante la progettazione (o riprogettazione), nelle fasi di messa in produzione, nella gestione ordinaria e straordinaria, nel monitoraggio, nel tuning e nella riprogettazione per problematiche connesse alle performance, alla scalabilità o all'alta affidabilità dei servizi. Il nostro obiettivo è quello di automatizzare la gestione dell'infrastruttura al fine di creare sistemi scalabili e fault-tolerant la cui manutenzione sia sostenibile.
Per quanto riguarda l'alta affidabilità dei servizi e la scalabità abbiamo competenze su Heartbeat e Pacemaker, RedHat Cluster Suite, DRBD, sul tuning di MySQL e PostgreSQL, web content caching con Varnish e sulla messa in produzione di database NoSQL come Redis e MongoDB.
Stiamo progressivamente adottando tecniche di Test Driven Development, utilizzando Chef, per l'automazione dei processi connessi alla messa in produzione delle infrastrutture: il nostro obiettivo è quello di riuscire a definire e gestire le infrastrutture come avviene solitamente con il software.
Networking Operations
Abbiamo competenze di gestione di reti locali e metropolitane, sulla loro progettazione e sulla progettazione dei servizi correlati.
Ci siamo occupati di server DNS, di sistemi di autenticazione basati su Radius, di installazioni di sistemi di posta elettronica e più in generale dell'integrazione e dell'espansione dei sistemi dei nostri clienti.
Abbiamo realizzato diverse installazioni di reti VPN tramite OpenVPN, sia per risolvere problemi di accesso alla rete aziendale (connessioni sicure fra sedi, accesso di utenti in mobilità), sia per supportare le applicazioni dei clienti (sistemi di produzione distribuiti, monitoraggio di sistemi remoti).
Attualmente ci occupiamo, per conto di un WIreless Service Provider della provincia di Pisa, della gestione della rete backbone, dei core router e delle varie linee di distribuzione del servizio. Abbiamo progettato il meccanismo di autenticazione, accounting degli utenti e logging del traffico effettuato. Effettuiamo il monitoraggio costante dei dispositivi (sia a livello di disponibilità che di performance) e gestiamo quei servizi, spesso sottovalutati, che sono indispensabili alle quotidiane operazioni degli utenti (DNS, caching, relay di posta).