25 settembre 2018

BaasBox: creare gratis servizi di backend per app web e mobili!

Chi si occupa di sviluppo di applicazioni, siano esse web o mobili, sa bene che l'architettura tipica è quella detta client-server. Questo vuol dire che c'è una parte di front-end, ossia di interfaccia, che è quella che tipicamente vede ed usa l'utente e poi c'è una parte di back-end che svolge il lavoro collegato alle azioni svolte dall'utente.

Tra le azioni tipiche del back-end ci sono per esempio l'autenticazione per accedere ad un servizio, l'invio di notifiche, il memorizzare dei dati e via discorrendo.

Di solito i servizi offerti da un back-end sono spesso disponibili online, a seguito di un’iscrizione (gratuita o meno). Basti pensare ad uno tanti servizi cloud. Realizzare un back-end "in proprio" con tutte le funzionalità necessarie può essere proibitivo.

Ma se non volete appoggiarvi ad uno dei vari servizi di back-end disponibili on-line, il mondo dell'open source ve ne mette a disposizione uno veramente completo e facile da usare: BaasBox.

Per far girare BaasBox sul vostro computer o sul vostro server vi occorre solo avere a disposizione una Java Virtual Machine (il jre per capirci, non il jdk) non inferiore alla versione 8.

Le principali funzionalità offerte da BaasBox sono le seguenti:

  • Gestione utenti
  • Content e File Management
  • Data storage
  • Friendship (in pratica un meccanismo di "amicizia" che si ispira al modello dei follower di Twitter)
  • Push notifications
  • Server Side Scripting (per personalizzare il funzionamento della piattaforma tramite script ad-hoc)

Il vantaggio principale di avere un BaaS (Back-end as a Service) installato su una propria macchina è di avere accesso illimitato alla piattaforma con l’unica limitazione delle capacità del vostro computer.

Se invece di metterlo su un server installate BaasBox sul computer su cui state sviluppando la vostra applicazione non dovrete dipendere dalla connessione ad Internet e potete perfino pianificare alcuni complessi scenari di integrazione automatizzati.

Dal momento che BaasBox per funzionare ha bisogno solo della presenza di una Java Virtual Machine potete usarlo su un computer con qualsiasi sistema operativo: windows, linux o mac.

Oltre alla piattaforma stessa vengono messi a disposizione degli sdk specifici per Android, iOS e JavaScript. Questi sdk servono per poter far interagire le applicazioni che stiamo sviluppando con BaasBox: i primi due servono per le applicazioni mobili mentre l'ultimo per quelle web.

Dal momento che tutte le funzionalità offerte da BaasBox sono esposte tramite delle HTTP REST API è molto semplice far parlare le nostre applicazioni con la piattaforma. Il che vuol dire ridurre di molto i tempi di sviluppo.

Certamente se paragoniamo BaasBox ad altre piattaforme commerciali la troveremo un po' cruda ed essenziale, ma le funzionalità che offre permettono di coprire il 99% dei requisiti di una tipica applicazione.

Quindi se vi occupate dello sviluppo di applicazioni web e/o mobili e volete avere a vostra disposizione un back-end con tutte le principali funzionalità richieste da una tipica applicazione e che sia semplice da utilizzare allora dovete assolutamente provare BaasBox.

Se ti è piaciuto l'articolo, segui il feed per tenerti sempre aggiornato sui nuovi contenuti del blog!

6 settembre 2018

Zabbix: monitorare gratis i propri dispositivi nella rete!

Negli ultimi anni il numero dei dispositivi connessi alla rete è cresciuto esponenzialmente variando sia in dimensioni che in tipologia. Che ci si trovi a gestire una rete aziendale, delle macchine aziendali oppure un impianto di energia fotovoltaica, è diventato quindi molto importante poter monitorare in modo continuativo i loro parametri prestazionali.

Di soluzioni commerciali che consentono di tenere costantemente sotto controllo apparati e dispositivi nella rete ce ne sono diversi ma il loro costo non è decisamente contenuto e sono soprattutto rivolte ad aziende di certe dimensioni. Ma dal mondo open source viene messa a disposizione una soluzione decisamente più economica (è gratis) e adatta a realtà di qualsiasi dimensione: Zabbix.

Si tratta di un software di monitoraggio che permette di controllare la disponibilità e le prestazioni di migliaia di dispositivi connessi in rete. E' possibile infatti raccogliere informazioni da qualsiasi dispositivo (server, macchina industriale, dispositivo IoT, etc.) andando così ad alimentare un prezioso storico di informazioni. Zabbix è dotato inoltre di potenti strumenti di visualizzazione dei dati (mappe, grafici, overview e dashboard) e di un'alta flessibilità nell'analizzare i dati per generare alert oppure eseguire azioni automatiche.

I controlli più semplici possono essere eseguiti senza installare nulla sui sistemi da controllare. Per disporre delle funzionalità più complete Zabbix richiede l'installazione di agenti e l'apertura di porte specifiche. Con l'installazione di un agente è possibile utilizzare due tipi di controlli: Active o Passive. I controlli di tipo Passive sono guidati dal server Zabbix. Quello di tipo Active viene utilizzato quando, ad esempio per ragioni di sicurezza, i sistemi da controllare non possono essere raggiunti dall'esterno e sono quindi loro a farsi carico della trasmissione dei dati.

Oltre agli agenti, Zabbix è in grado di effettuare il monitoraggio tramite molti altri protocolli, per esempio via SSH, SNMP o tramite ODBC verso i Database (appoggiandosi a Linux ODBC). E' anche in grado di acquisire metriche di monitoraggio tramite External Check.

Il fatto che Zabbix possa raccogliere dati da qualsiasi sorgente, elaborarli e visualizzarli secondo logiche personalizzate lo rende applicabile nei settori e nelle applicazioni più disparate.

Ad esempio lo staff di Zabbix stesso lo usa per monitoriare lo stato di avanzamento della traduzione della sua interfaccia utente nelle varie lingue. Ma può essere usato nel controllo industriale non solo per il monitoraggio dei parametri di funzionamento ma anche per l'attuazione di processi automatici a fronte di condizioni predeterminate. Oppure può essere impiegato per recuperare dalla rete, in tempo reale, i valori dei cambi o dei titoli di borsa su cui eseguire analisi finanziarie e studiare i trend storici. Sfruttando poi il suo motore di alert è possibile avvisare tempestivamente gli utenti al verificarsi di determinate condizioni favorevoli o sfavorevoli.

Quindi se anche voi avete dei dispositivi connessi in rete da gestire e tenere sempre sotto controllo e per farlo state cercando una soluzione che sia dai costi contenuti ma con prestazioni e funzionalità di livello enterprise, allora Zabbix è la soluzione che fa al caso vostro.

Se ti è piaciuto l'articolo, segui il feed per tenerti sempre aggiornato sui nuovi contenuti del blog!