Google – fai decollare le tue ricerche sul web

Google Search funzioni avanzate

Google Search funzioni avanzate

Le funzioni che non conoscevi

In un precedente post “esistono alternative a Google” abbiamo mostrato come esistano degli ottimi concorrenti al motore di ricerca per antonomasia.
Fatto rimane che tutti usiamo Google quotidianamente per cercare informazioni, consigli, news, lavoro, informazioni scientifiche, e chi più ne ha più ne metta.
Oramia, da quasi vent’anni il motore di ricerca di Mountain View rende le nostre ricerche su qualsiasi argomento infinitamente più facili e rapide, ma non tutti sanno che la barra di Google offre molte altre funzioni, oltre alla ricerca semplice, alcune davvero utilissime, per portare la vostra epserienza di “Ricerca” verso livelli mai immaginati.

PS: la cosa da tenere sempre ben presente e’ che la lingua di Google e’ l’inglese, quindi molte opzioni funzioneranno soltanto se espresse in lingua inglese.

1. ESCLUDI DALLA RICERCA
Escludi una o più parole dalla ricerca facendole precedere dal segno “-“. Una funzione utile, per esempio,

bassi elettrici -chitarre

2. RICERCA ALL’INTERNO DI UN SITO
Cerca una o più parole all’interno di un sito specifico scrivendo “site:” e l’URL del sito.

docker site:tuttiperlinux.com

3. CALCOLI
Lascia che sia Google a svolgere i calcoli al posto tuo.

50% of 3500

(premuto invio comparira’ una calcolatrice con il risultato)

4. RICERCA PER TITOLO
Scrivendo “intitle: ” prima delle parole della ricerca, compariranno come risultati solo quelli che contengono quelle parole nel titolo della pagina.

intitle: provisioning con ansible

5. DUE RICERCHE CONTEMPORANEAMENTE
Fai due ricerche contemporaneamente aggiungendo “OR” fra i termini della query.

"monster of rock" OR "wacken"

6. RICERCA PER LINK
Cerca i siti che indirizzano a un determinato sito scrivendo “link:” e la URL di quest’ultimo

link: il mondo di linux

7. CONVERTITORE
Converti in un attimo valute…

50 euros to dollars

…e unità di misura.

50 inch to cm

8. RICERCA DI CANZONI
Non ricordi il titolo di una canzone che hai sentito? Cerca le parole che hai in mente mettendo un asterisco al posto di quelle che non ti ricordi.

quelli che * pensano

9. RICERCA PER TIPO DI FILE
Cerchi un PDF o una presentazione PowerPoint su un determinato argomento? Cerca le parole chiave seguite da “filetype:” e l’estensione del file (ad esempio filetype:pdf o filetype:ppt).

virtualizzare con kvm filetype:ppt

10. VIRGOLETTE
Mettendo fra virgolette le parole della ricerca, usciranno solo i risultati che le riportano in quel preciso ordine.

"cerco un centro di gravita"

11. RICERCA PER RANGE
Due puntini di sospensione consentono di svolgere una ricerca all’interno di un range determinato, come per data o per prezzo (per esempio €100..€200).

squier jazz bass €100..€200

 

#GoogleSearchfunzioniavanzate

Ready NAS 716

Netgear ReadyNAS 716

Netgear ReadyNAS 716

Netgear Ready NAS 716

Il nuovo prodotto della Netgear e’ un’unita’ desktop sicuramente ultra veloce ma decisamente cara, vediamo il perche’.

Presentato dalla Netgear come il NAS Desktop piu’ veloce del mondo. Il ReadyNAS 716 ha sei alloggiamenti (ed e’ possibile espanderlo ben oltre i 28 TB) ed un processorre quad core Intel-Ivy Bridge Xeon E3 e ben 16 GB di RAM ECC, ma non e’ tutto, potrete contare anche su una coppia di porte Gigabit e due interfacce 10GbE.

Tutto cio rende questo prodotto la migliore soluzione di storage, infatti il ReadyNAS 716 combina un’innovazione leader del settore a una semplicità d’uso senza precedenti in una soluzione di storage di fascia alta con caratteristiche quali :

  • Snapshot illimitate.
  • Thin provisioning.
  • Replica gestita dal cloud.
  • Crittografia e antivirus in tempo reale.

In breve, ReadyNAS offre maggiori possibilità di gestione dei dati aziendali rispetto alle soluzioni di storage tradizionali.

Specifiche di utilizzo

5 livelli di protezione

  • Protezione RAID automatica contro guasti disco
  • Ripristino di snapshot in un qualsiasi punto nel tempo
  • Real-time anti-virus per la protezione da virus e malware
  • Protezione Bit rot contro il degrado di media
  • Backup all’interno del cloud per proteggere i tuoi dati critici

 

Replica dati Off-site

ReadyNAS Replicate è una soluzione per il Disaster Recovery potente e semplice da usare, progettata per soddisfare le esigenze di qualsiasi tipo di azienda, sia se si vogliono spostare i propri dati da un data center all’altro o tra una filiale e la sede centrale.

 

Cloud Storage per l’ufficio

Oggi giorno poter accedere ai propri dati in qualsiasi momento, ovunque ci si trovi e da tutti i dispositivi mobili è la necessità più diffusa tra le aziende. Il cloud pubblico, però, non sempre riesce a garantire la privacy e la sicurezza dei dati archiviati. La piattaforma ReadyCLOUD di Netgear, invece, permette di creare un cloud privato in pochi click e a costo zero.

Il firmware utilizzato e’ un  ReadyOS che si caratterizza in questo modello per ilpassaggio dal EXT4 al BTRFS.

L’interfaccia di gestione Web, che sicuramente e’ forse un po’ datata nello stile ma sicuramente piacevole da usare e facile da imparare, dotata di strumenti molto semplici che permettono, ad esempio, di gestire i volumi e di collegare tra di loro gli adattatori di rete, con inoltre, una buona fornitura di strumenti/tool per il monitoraggio di ogni singola funzionalita’.

Unico neo, prezzo a parte, e’ rappresentato dal piccolo gancetto presente su ciascun alloggiamento disco, che ne impedisce la rimozione accidentale ma che comunque rimane privo di veri e propri blocchi fisici di protezione, compreso l’accesso dallo sportello frontale.

Con il ReadyNas 716 e’ possibile raggiungere la velocita’ di 480 MB al secondo in lettura e di 420 MB in scrittura.

 

GIUDIZIO

Nome prodotto : ReadyNas 716
Produttore : Netgear (www.netgear.it)
Prezzo : 3.000 circa (senza dischi)

Funzioni          voto 10
Prestazioni       voto 10
Facilita’ d’uso   voto 8
Qualita’/Prezzo voto 7

Giudizio finale  voto 9

E’ il NAS Desktop attualmente piu’ veloce sul mercato, ma il suo alto prezzo lo colloca nella fscia dei server e dei dispositivi di archiviazione montati sui rack.

 
#DesktopNASpiuvelocedelmondo

Nginx HTTP 2.0 supportato entro fine 2015

Nginx e supporto HTTP 2.0

Nginx e supporto HTTP 2.0

Nginx supporta da sempre l’attuale protocollo HTTP 1.1 ed il protocollo di Google SPDY. Con l’annuncio di HTTP 2.0, Nginx è pronta a convertire il supporto SPDY verso il neonato HTTP 2.0 entro la fine di quest’anno.

Il protocollo HTTP 2.0 è la nuova generazione del protocollo attuale e su cui si basa l’intera Internet, che viene adesso rinnovato dopo circa 16 anni.

Questo non significa certo che lo standard è stato finalizzato ed è appropriato all’operatività, ma indica che tutte le sue specifiche sono state definite in modo conclusivo e la documentazione può passare al gruppo RFC per l’approvazione finale come standard definitivo.

Comunque, anche dopo la dichiarazione a standard, il protocollo non entrera’ subito in attività, anche perché dovrà, prima di tutto, essere implementato e supportato nei browser e nei Web server.

Fra i Web server, Nginx si dice comunque pronto a supportare questa nuova tecnologia e il motivo di questa sicurezza sta nel pieno supporto alla versione draft 3.1 di SPDY, di cui Google ha deciso l’interruzione dello sviluppo e l’esclusione da Chrome.

Il fatto che il protocollo HTTP 2.0 sia gran parte basato su SPDY permette a Nginx di avere già una solida base di codice pronto per essere riutilizzato ai fini di ospitare il nuovo HTTP quando questo diventerà lo standard. Secondo Owen Garrett, responsabile di prodotto per Nginx : ” l’implementazione nel Web browser sarà facile e snella, in quanto la maggior parte dei siti Web SPDY già viene eseguita correttamente in Nginx “.

HTTP/2 si baserà, inoltre, sulle stesse API che già conoscono e usano gli sviluppatori del web, ma in più offrirà feature esclusive a cui questi possono attingere. Fino ad oggi, ad esempio, bisognava adottare alcune tecniche di ottimizzazione per impedire alla pagina di effettuare troppe richieste HTTP. Il nuovo protocollo permetterà invece l’esecuzione di un numero superiore di richieste contemporanee, attraverso una tecnica chiamata multiplexing , senza che queste blocchino il caricamento degli elementi della pagina.

HTTP/2 effettua un numero di connessioni inferiore rispetto alle tecnologie attuali, fattore che si traduce con un carico minore richiesto ai server e alle reti per il caricamento dei dati. Il nuovo protocollo supporta TLS ma non obbligherà all’implementazione del layer di crittografia.

Uno dei più importanti cambiamenti di HTTP 2.0 infatti sara’ la crittografia basata su protocollo TLS, a cui Nginx dice di voler dare un approccio implementativo persistente. Inoltre, il nuovo protocollo Internet introduce alcune differenze nella gestione delle priorità, in modo da fornire un maggiore controllo sui flussi di traffico. Sempre secondo Garrett, la maggiore sfida non sarà tanto nell’implementazione nei browser e nei Web server, quanto nell’adeguamento dei siti Web, che dovranno essere ottimizzati per il protocollo HTTP 2.0.

“Ci potrebbe essere molto lavoro di ottimizzazione e re-ingegnerizzazione dei siti Web, soprattutto per mantenere la compatibilità con i client più anziani” ha detto Garrett.

 

DevOps: la metodologia che unisce IT e Business

DevOps

DevOps

DevOps (da development + operations) è una metodologia di sviluppo del software che punta alla comunicazione, collaborazione e integrazione tra sviluppatori e addetti alle attivita’ di gestione dell’information technology (IT). DevOps vuole rispondere all’interdipendenza tra sviluppo software e IT operations, e punta ad aiutare le aziende a sviluppare in modo più rapido ed efficiente i loro prodotti e servizi software.

La complessità delle strutture e infrastrutture It ha alimentato negli ultimi anni conflitti inter-organizzativi impoverendo l’It service delivery. Situazione che non risulta però più sostenibile rispetto al contesto economico in cui operano le aziende ‘servite’ dall’It in cerca di maggior flessibilità, dinamicità e velocità di risposta, senza però perdere in qualità e sicurezza. Ecco perché sta crescendo ed evolvendo la metodologia DevOps che mira a migliorare l’It service management.

Le aziende che tipicamente potrebbero avere maggiori benefici da un orientamento DevOps sono quelle con rilasci di software frequenti. Flickr, ad esempio, ha utilizzato la metodologia DevOps per supportare la necessità di dieci rilasci al giornalieri; ma tali cicli di rilasci potrebbero essere anche più frequenti in aziende che producono applicazioni multi-focus o multi-funzione, spesso indicati come deployment continuo, e associato spesso alla metodologia Lean Startup.

La metodologia DevOps aiuta dunque le aziende nella gestione dei rilasci, standardizzando gli ambienti di sviluppo. Le aziende con problemi di automazione dei rilasci solitamente hanno già un processo automatico in essere ma lo vorrebbero più flessibile e controllabile, senza per questo dover agire da riga di comando per ottenere ciò. Idealmente tale automazione potrebbe essere utilizzata anche da risorse non operative (non appartenenti all’IT Operations) su ambienti non di produzione. In questo modo gli sviluppatori avrebbero a disposizione un maggiore controllo degli ambienti, dando all’infrastruttura una visione più incentrata sull’applicazione.

L’integrazione DevOps ha come obiettivo il rilascio del prodotto, il collaudo del software, l’evoluzione e il mantenimento (bug fixing e “minor release”) in modo tale da aumentare affidabilità e sicurezza e rendere più veloci i cicli di sviluppo e rilascio. Molte delle idee che costituiscono DevOps provengono dalla gestione di sistemi aziendali e dalla “Metodologia Agile“.

Il termine “devops” è stato coniato da Patrick Debois e reso popolare attraverso una serie di “DevOps Days” iniziati nel 2009 in Belgio. Da allora si sono svolte conferenze “DevOps Days” in India, USA, Brasile, Australia, Germania e Svezia.

Le metodologie di sviluppo (ad esempio la Metodologia Agile) che vengono attuate nelle organizzazioni tradizionali mediante distinte divisioni tra IT operations e QA da un lato, sviluppo e rilascio dall’altro, sono prive di una profonda integrazione interdipartimentale. DevOps promuove invece un’ insieme di processi e metodi indirizzati alla comunicazione e collaborazione tra le divisioni.

L’adozione della metodologia DevOps è guidata da diversi fattori, come:

  • Utilizzo della metodologia agile e altre metodologie di sviluppo del software
  • Necessità di incrementare la frequenza dei rilasci in produzione
  • Ampia disponibilità di un’infrastruttura virtualizzata e in cloud
  • Incremento nell’uso di data center automatizzati e strumenti di configuration management

La metodologia DevOps è cosi’ descrivibile come “una relazione più collaborativa e produttiva tra i gruppi di sviluppo e quelli di operation”. Ciò incrementa l’efficienza e riduce i rischi di frequenti modifiche in produzione.

Invece, in molte organizzazioni, lo sviluppo del software e la gestione dei sistemi sono in divisioni differenti e poiché lo sviluppo è generalmente guidato dalle necessità dell’utente, per continue modifiche e conseguenti rilasci, i gruppi operativi invece sono concentrati sulla disponibilità e affidabilità dei servizi, nonché sulla gestione dei costi. Ciò produce un “gap” tra sviluppo e gestione dei servizi che rallenta il passaggio in produzione.

Impatto sui rilasci applicativi
In molte aziende i rilasci applicativi sono eventi ad alto impatto e rischio, coinvolgendo più gruppi di lavoro. Con la metodologia DevOps tale rischio si riduce per i seguenti motivi:

  • Numero ridotto di modifiche : L’adozione del modello agile o modello incrementale, in contrasto con il tradizionale modello a cascata, comporta minori modifiche, anche se più frequenti, con minore impatto e rischio.
  • Accresciuto coordinamento dei rilasci : La presenza di una coordinazione del rilascio riduce le distanze tra sviluppo e gestione.
  • Automazione : Una completa automazione assicura la facile ripetibilità dei rilasci e riduce gli errori nell’operazione.

I processi chiave che caratterizzano le metodologie DevOps sono quindi:

Cloud e Virtualizzazione: la necessità di avere a disposizione servizi e strumenti che offrono una modalità veloce di verifica e gestione della complessità di un’applicazione. Esempi di tali strumenti sono le API di cloud provisioning quali Amazon EC2, o servizi SaaS quali New Relic e Loggly, che offrono capacità operazionali cloud, oppure strumenti di gestione della configurazione quali Chef, Puppet e Ansible.

Continuous Delivery (letteralmente consegna continua): significa miglioramento continuo, significa testing ad ogni modifica, significa costruire molti prototipi, e non andare avanti finché non si abbia la certezza che ciò che abbiamo finora sviluppato è stato verificato a livello di qualità e compatibilità, se non addirittura di user testing. Le attività prettamente ingegneristiche coinvolte per assicurare uno sviluppo caratterizzato da continuous delivery sono: controllo codice sorgente, versioning configuration, integrazione continua, testing di unità e testing integrato e deployment automatizzato.

Considerazione finale
Dietro questa cura maniacale dell’organizzazione e della fase di testing c’è l’idea che sia meglio affrontare nella realizzazione di un prodotto tanti piccoli cambiamenti continui causati dal dialogo tra sviluppatori e sistemisti, che non dover validare un’intera applicazione solo alla fine di un’intero ciclo di sviluppo, o peggio ancora offrire al cliente un prodotto di cui non abbiamo la minima certezza su bug e qualità del funzionamento. Quest’ultima pratica deleteria porta poi a sostenere costi di supporto al cliente e di assistenza che in passato hanno costituito la causa maggiore del collasso di aziende e business IT.

#Devops#MetodologiaAgile

Rsync e la sincronizzazione dei contenuti Web

rsync aggiornamento web

Rsync aggiornamento Web

Supponiamo che ci tocchi gestire in produzione un numero X di frontend Web dietro un bilanciatore e che quindi, ad ogni nuova release, si renda necessario caricare i contenuti su ciascuno di essi (rendendo la vita difficile agli sviluppatori).

Certo il mercato e’ ricco di software di Configuration Manager, ma in questo caso ho deciso di usare come esempio l’automazione mediante l’uso di rsync, del resto non serve una Ferrari per fare la spesa. In pratica, i contenuti Web verranno caricati manualmente su un’unico frontend (che servirà da server) mentre le altre macchine fungeranno da client (ovvero aggiorneranno i loro contenuti ogni X minuti consultando direttamente la macchina server).

Configurazione della macchina server

Tale attività si articola in due fasi: la prima consiste nell’installazione e nella corretta configurazione del demone xinetd (evoluzione del celebre inetd), mentre la seconda riguarda solo ed esclusivamente rsync.

Procediamo dunque con l’installazione di xinetd:

[root@server ~]# yum install xinetd

ed impostiamo l’avvio automatico del demone in questione per i diversi runlevel:

[root@server ~]# chkconfig --levels 2345 xinetd on

Posizioniamoci nella dir /etc/xinetd.d ed apriamo in scrittura il file rsync, sostituendo la direttiva:

disable = yes

con

disable = no

In definitiva, il suddetto file, dovrà avere il seguente contenuto:

service rsync
{
        disable = no
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

Passiamo ora al secondo step relativo alla configurazione della macchina server, ovvero la creazione del file rsyncd.conf nella directory /etc:

[root@server ~]# touch /etc/rsyncd.conf

All’interno del suddetto file creeremo dei moduli ad-hoc contenenti tutte le direttive necessarie per la sincronizzazione dei contenuti tra server e client, ad esempio:

log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[images]
   path = /var/www/html/images
   uid = root
   gid = root
   read only = no
   list = yes
   host allow = 10.11.12.0/24

Salviamo il file ed avviamo xinetd:

[root@server ~]# service xinetd start

Configurazione delle macchine client

Tale configurazione consiste esclusivamente nella creazione di una entry crontab del tipo:

*/1 * * * *  root rsync -agruv root@10.11.12.1::images /var/www/html/images/

ovvero ogni minuto viene contattato il server (10.11.12.1, modulo images che punta a/var/www/html/images/) e viene sincronizzato il contenuto della Dir del client /var/www/html/images/.

Bene, l’aggiornamento e’ servito!

#RsyncSincronizzazione#AmbientiWeb