Ansible
Ansible è un sistema di gestione della configurazione utilizzato per configurare e gestire infrastrutture e applicazioni in ambienti variabili. Consente agli utenti di distribuire e aggiornare le applicazioni in un linguaggio accessibile, utilizzando SSH, senza la necessità di installare un agente su un sistema remoto.
- A complete list of resources on Ansible.
- Un’introduzione alla gestione della configurazione e Ansible.
Apache
Il server HTTP Apache è un server web open source popolare per la sua flessibilità, potenza e ampio supporto. È estensibile attraverso un sistema di moduli caricabili dinamicamente e può elaborare un gran numero di linguaggi interpretati senza connettersi a software separati.
API
Un’interfaccia di programmazione delle applicazioni (API) è un insieme di routine, definizioni e protocolli che consentono agli sviluppatori di creare software applicativi. Le API astraggono l’implementazione ed espongono solo gli oggetti e le azioni necessarie allo sviluppatore. All’interno del cloud computing, gli sviluppatori utilizzano le API per gestire server e altre risorse tramite richieste HTTP convenzionali.
- A complete list of resources on APIs.
- Come iniziare con l’API di DigitalOcean.
- La homepage delle risorse dell’API di DigitalOcean.
- La libreria di documentazione dell’API di DigitalOcean.
Backup
I backup sono copie o archivi di dati utilizzati per il ripristino dopo la perdita, l’eliminazione o la corruzione. Gli sviluppatori possono creare backup in vari modi, incluso l’implementazione manuale, i servizi di hosting cloud o programmi di backup (come Bacula).
- A complete list of resources on backups.
- Un’introduzione ai backup delle applicazioni web in un contesto di produzione.
Big Data
Il termine big data è un termine generico per le strategie e tecnologie non tradizionali necessarie per organizzare, elaborare e raccogliere informazioni da grandi set di dati. Molti utenti e organizzazioni si stanno rivolgendo al big data per determinati tipi di carichi di lavoro, utilizzandolo per integrare i propri strumenti di analisi e di business esistenti. Gli strumenti che esistono in questo ambito offrono diverse opzioni per interpolare i dati in un sistema, memorizzarli, analizzarli e lavorarci attraverso visualizzazioni.
Archiviazione a blocchi
A block storage service functions as a hard drive provided over the network. Developers can use block storage services to store files, combine multiple devices into a RAID array, or configure a database to write directly to the block storage device. Block storage offers a different set of capacities than object storage, which allows developers to store unstructured data using an HTTP API. Developers working on complex applications often take advantage of both options.
- A complete list of resources on block storage.
- Un’introduzione all’archiviazione a blocchi e alle differenze tra archiviazione a blocchi e archiviazione ad oggetti.
Booleano
A Boolean is a data type which has one of only two possible values: true or false. Booleans represent the truth values that are associated with the logic branch of mathematics, which informs algorithms in computer science. In programming, Booleans are used to make comparisons and to control the flow of a program.
C
C is an imperative, high-level programming language known for its modularity, static typing, variety of data types and operators, recursion, and structured approach to tasks. Unlike many other early programming languages, C is machine independent and highly portable. For these reasons, developers have used it to build a variety of programs and systems, including the Linux kernel.
Memorizzazione nella cache
La memorizzazione nella cache si riferisce al processo mediante il quale le risposte riutilizzabili vengono memorizzate per rendere più veloci le richieste successive.
- A complete list of resources on caching.
- Un’introduzione alla terminologia della memorizzazione Web, agli header HTTP e alle strategie di memorizzazione.
CDN
A CDN (short for Content Delivery Network) is a distributed network of proxy servers and their data centers. The purpose of a CDN is to distribute content to end-users through geographically nearby intermediary servers, thereby ensuring high performance and minimal latency.
Chef
Chef è uno strumento di gestione della configurazione che automatizza l’infrastruttura come codice. Utilizza Ruby e raggruppa i dettagli di configurazione in quello che chiama “ricette”.
CI/CD
La continuous integration si concentra sull’integrazione del lavoro degli sviluppatori individuali in un repository principale più volte al giorno per individuare precocemente i bug di integrazione e accelerare lo sviluppo collaborativo. La continuous delivery si preoccupa di ridurre gli attriti nel processo di distribuzione o rilascio, automatizzando le fasi necessarie per distribuire un build in modo che il codice possa essere rilasciato in sicurezza in qualsiasi momento. Il continuous deployment porta questo concetto un passo avanti, automatizzando il rilascio ogni volta che viene apportata una modifica al codice.
- A complete list of resources on CI/CD.
- A general introduction to CI/CD concepts, and more about various open-source CI/CD projects.
Cloud Computing
Il cloud computing è un modello per la condivisione delle risorse informatiche tramite Internet, in cui gli utenti possono eseguire i propri carichi di lavoro utilizzando risorse scalabili e astratte. I servizi di cloud computing di solito rientrano in una delle tre categorie: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) o Software as a Service (SaaS).
Clustering
Il calcolo clusterizzato è la pratica di aggregare le risorse di più macchine e gestirne le capacità collettive per completare compiti. Gli sviluppatori possono utilizzare i cluster per aumentare la potenza di elaborazione e lo spazio di archiviazione.
- A complete list of resources on clustering.
- Un’introduzione alla configurazione di un cluster Galera con MariaDB 10.1 su server Ubuntu 16.04.
Gestione della configurazione
La gestione della configurazione si riferisce ai processi attraverso i quali gli amministratori e i team operativi controllano grandi numeri di server. L’automazione è al centro della maggior parte degli strumenti di gestione della configurazione, che consentono agli sviluppatori di fornire rapidamente nuovi server, riprendersi da eventi critici, gestire il controllo delle versioni e replicare gli ambienti. Tra gli strumenti CM popolari ci sono Puppet, Ansible, Chef e Salt.
- A complete list of resources on CM topics and tools.
- Un’introduzione alla gestione della configurazione e agli strumenti CM popolari.
Contenitore
A container is an isolated user-space instance that abstracts applications from both the underlying operating system and other applications. Containers take advantage of the host operating system by using its kernel and resources, which are abstracted into layers and shared between containers. In this way, containers differ from virtual machines: they run their own init processes, filesystems, and network stacks, making them quicker to start and more lightweight than virtual machines.
Sistema di gestione dei contenuti
A content management system is an application used to support the creation and revision of web content. Popular CMS tools include WordPress, Joomla, and Drupal.
- A complete list of resources on CMS topics and tools.
- Un’introduzione all’installazione di WordPress con LAMP su Ubuntu 16.04.
Pannelli di Controllo
A control panel allows users to manage system settings and features in a single place. The nature and function of a control panel depends on its environment: in web hosting, for example, users can navigate the control panel offered by their web hosting provider for an external or global view of their servers and resources. Users can also install control panels on these servers to manage their internal aspects.
- A complete list of resources on control panels.
- Un’introduzione all’installazione di Webmin su Ubuntu 16.04.
CPU
La unità di elaborazione centrale, più comunemente conosciuta come CPU, è un componente vitale di un sistema informatico. Spesso indicata come il “cervello” di un computer, la CPU riceve istruzioni fornite da un programma software o da hardware collegato e esegue le operazioni matematiche e logiche necessarie per produrre l’output desiderato.
Analisi dei Dati
L’analisi dei dati si riferisce all’attività, in una vasta gamma di settori, che indaga la struttura dei dati e li utilizza per identificare schemi e possibili soluzioni ai problemi. All’interno di questo ambito, la scienza dei dati si avvale di metodologie provenienti dalla statistica, dalla matematica e dall’informatica per analizzare gli eventi utilizzando i dati e prevedere possibili risultati. Una tendenza importante all’interno della scienza dei dati è il machine learning, che utilizza input di dati algoritmici e analisi statistica per addestrare i computer a produrre valori entro un certo intervallo. In questo modo, il machine learning abilita pratiche come la decisione automatizzata.
Attacco DDoS
A Distributed Denial of Service (or DDoS) attack is a malicious attempt to deny traffic to a targeted server by flooding it with spurious requests. The attacker accomplishes this by infecting a fleet of servers and internet-connected devices (a botnet) with malware. This botnet is then instructed by the attacker to repeatedly send requests to the targeted server, overwhelming its available resources. This results in a denial of service to normal traffic.
- Come Mitigare gli Attacchi DDoS al Tuo Sito Web con CloudFlare
- Come recuperare da un droplet compromesso che invia un flusso di dati in uscita o un attacco DDoS
- Come Proteggersi da DoS e DDoS con mod_evasive per Apache su CentOS 7
Implementazione
L’implementazione si riferisce al processo di preparazione di qualcosa per l’uso. A seconda di cosa viene implementato (sistema software, hardware, ecc.), questo processo può includere l’installazione di script o comandi per l’esecuzione del software, l’attivazione di elementi software eseguibili e l’aggiornamento di sistemi software più datati, tra le altre cose.
- A complete list of resources on deployment.
- Un’introduzione alla creazione di un’applicazione Node.js su CentOS 7.
Sviluppo
Lo sviluppo può fare riferimento a una serie di attività e routine di programmazione coinvolte nella creazione e nella manutenzione di programmi. All’interno dello sviluppo software, queste attività possono includere la scrittura e la revisione del codice, la prototipazione, la ricerca, i test e la modifica di componenti problematici.
- A complete list of resources on development.
- Risorse sulla codifica con Python 3, codifica con Ruby e codifica con JavaScript.
Django
Django è un framework Python ad alto livello per lo sviluppo rapido di applicazioni web. I suoi principi fondamentali sono scalabilità, riutilizzabilità e sviluppo rapido.
DOM
Acronimo di Document Object Model, il DOM è un’interfaccia di programmazione delle applicazioni cross-platform e indipendente dal linguaggio. Spesso utilizzato dai browser web per analizzare e visualizzare i contenuti del sito web, il DOM tratta un documento HTML, XHTML o XML come una struttura ad albero in cui ogni nodo è un oggetto che rappresenta una parte del documento che può essere manipolata tramite programmazione.
DNS
Il Sistema di Nomi a Dominio è un sistema di denominazione decentralizzato che traduce nomi di dominio memorabili e accessibili in indirizzi IP numerici all’interno dei protocolli di rete sottostanti. Gli utenti possono stabilire un maggiore controllo sui domini ospitati gestendo i propri server DNS, optando per server di caching, server di inoltro, server solo autoritativi o una combinazione di tipi diversi.
- A complete list of resources on DNS topics and issues.
- Un’introduzione alla gestione delle risorse DNS e come configurare un hostname con DigitalOcean.
Docker
Docker è uno strumento di containerizzazione popolare utilizzato per fornire alle applicazioni software un filesystem che contiene tutto ciò di cui hanno bisogno per funzionare. L’utilizzo dei container Docker garantisce che il software si comporti allo stesso modo, indipendentemente da dove viene distribuito, perché il suo ambiente di runtime è coerente.
Drupal
Drupal è un popolare sistema di gestione dei contenuti (CMS) utilizzato per gestire alcuni dei più grandi blog e siti web su Internet. Grazie alla stabilità della base, all’adattabilità della piattaforma e alla sua attiva community, Drupal rimane una scelta popolare tra gli utenti dopo più di un decennio sulla scena.
DRY Development
DRY, che sta per do not repeat yourself, è un principio dello sviluppo software che mira a ridurre la ripetizione dei modelli a favore delle astrazioni e ad evitare la ridondanza.
Elasticsearch
Elasticsearch è un motore di ricerca e analisi full-text open source utilizzato per memorizzare, cercare ed analizzare dati.
Encryption
La crittografia codifica le informazioni per una trasmissione o memorizzazione sicura. Tutta la crittografia implica una trasformazione algoritmica del plaintext e può essere suddivisa in due categorie principali: simmetrica e asimmetrica.
- Comprensione del processo di crittografia e connessione SSH.
- Principi fondamentali di SSH: Lavorare con server SSH, client e chiavi.
Fedora
Fedora è un sistema operativo basato sul kernel Linux e sui programmi GNU. È mantenuto dal Progetto Fedora e sponsorizzato da Red Hat. La popolarità di Fedora deriva sia dal suo rapporto di upstream con Red Hat Enterprise Linux sia dalla sua comunità di sviluppatori, che garantiscono che le versioni delle applicazioni rimangano aggiornate.
Firewall
A firewall is a network-based service that blocks all unpermitted traffic, following a set of configurable rules.
- A complete list of resources on firewalls.
- Un’introduzione ai firewall cloud di DigitalOcean, una discussione sui fondamenti dei firewall e una guida alla creazione del tuo primo firewall cloud di DigitalOcean.
Software Libero
Il software libero è qualsiasi programma rilasciato con una licenza approvata dalla Free Software Foundation che permette agli utenti di visualizzare, modificare e condividere il codice sorgente senza rischi legali. Similmente al movimento open-source, l’obiettivo del software libero è promuovere e supportare metodi di sviluppo guidati dalla comunità e limitare la diffusione delle licenze software proprietarie.
- Per una spiegazione approfondita del movimento del software libero, leggi il tutorial di DigitalOcean su La Differenza tra Software Libero e Open-Source.
Ghost
Ghost è una piattaforma di blogging open-source per la creazione di blog e siti web. La sua popolarità deriva dalla sua velocità, chiarezza d’uso e dall’interazione con strumenti ben noti come JavaScript, Ember e Backbone.
- A complete list of resources on Ghost.
- Un’introduzione all’installazione e configurazione di Ghost su Ubuntu 16.04.
Git
Git è un sistema di controllo versione ampiamente utilizzato, originariamente sviluppato da Linus Torvalds per tracciare le modifiche nel kernel Linux. In Git, l’ambiente di ogni sviluppatore contiene una copia del repository con un’intera cronologia delle modifiche, consentendo flussi di lavoro di sviluppo non lineari.
- A complete list of resources on Git.
- Una serie introduttiva sul lavoro con progetti open source tramite Git.
Vai
Go (o GoLang) è un linguaggio di programmazione moderno originariamente sviluppato da Google che utilizza una sintassi di alto livello simile a linguaggi di scripting. È popolare per la sua sintassi minimale e il gestione diretta della concorrenza, oltre che per la facilità che offre nella creazione di binari nativi su piattaforme esterne.
GRUB
Acronimo di GNU GRand Unified Bootloader, GRUB è un bootloader di avvio di secondo livello che carica e trasferisce l’esecuzione del programma a un sistema operativo durante il processo di avvio. Originariamente sviluppato come parte del Progetto GNU, è ampiamente utilizzato come bootloader per la maggior parte delle distribuzioni Linux.
Alta disponibilità
Alta disponibilità descrive la qualità di un sistema o componente che garantisce un elevato livello di prestazioni operative per un determinato periodo di tempo. Gli scenari in cui l’alta disponibilità è importante includono la riduzione dei tempi di inattività e l’eliminazione dei punti singoli di guasto.
- A complete list of resources on high availability.
- Un’introduzione all’alta disponibilità e strategie per ridurre al minimo i tempi di inattività.
Ipervisore
A hypervisor is computer software, hardware, or firmware that creates, runs, and monitors virtual machines on a host machine. The hypervisor provides a virtual operating platform and manages the execution of the guest operating systems, allowing multiple instances of different operating systems to share the same hardware resources.
IaaS
Infrastructure as a Service è una categoria di cloud computing in cui l’infrastruttura è fornita come un prodotto via Internet. Gli utenti forniscono elaborazione, archiviazione, networking e altri strumenti informatici, che possono includere sistemi operativi e applicazioni. Sebbene un utente IaaS non gestisca l’infrastruttura sottostante, ha il controllo sui sistemi operativi, l’archiviazione, le applicazioni distribuite e alcuni componenti di networking (come i firewall).
- Un’introduzione all’hosting cloud.
- Un’introduzione a DigitalOcean Spaces.
- Un’introduzione ai firewall cloud di DigitalOcean.
Istanza
Nell’informatica in cloud, un’istanza si riferisce ai servizi di calcolo forniti come macchine virtuali o contenitori. Un’istanza cloud estende e astrae l’hardware tipicamente associato ai servizi che fornisce, offrendo affidabilità, flessibilità e scalabilità per i progetti di sviluppo.
Ambiente di sviluppo integrato
Un ambiente di sviluppo integrato (IDE) è un’applicazione software che fornisce un set completo di risorse (come un editor di testo, un debugger, strumenti di analisi, un compilatore e/o un interprete) per aiutare i programmatori informatici nello sviluppo del software. Il confine tra un IDE e altre parti dell’ambiente più ampio dello sviluppo software è sfumato, e le funzionalità offerte dagli IDE possono variare notevolmente tra i programmi.
IPv6
IPv6 è la versione più recente del Protocollo Internet, che identifica i computer nelle reti e instrada il traffico attraverso Internet. Gli indirizzi IPv6 forniscono uno spazio degli indirizzi maggiore rispetto ai loro corrispondenti IPv4, e fanno parte di uno sforzo per sostenere la crescita e la distribuzione dei dispositivi pronti per Internet.
- A complete list of resources on IPv6.
- Un’introduzione all’abilitazione di IPv6 per i Droplets di DigitalOcean.
Java
Java è un linguaggio di programmazione concorrente, basato su classi e orientato agli oggetti progettato per essere eseguito con il minor numero possibile di dipendenze di implementazione. Gli sviluppatori utilizzano Java a causa della sua robusta comunità di programmatori, della relativa stabilità e ubiquità.
JavaScript
JavaScript è un linguaggio di scripting ad alto livello, orientato agli oggetti e dinamico utilizzato per creare pagine web e applicazioni interattive. La sua flessibilità, la crescente ubiquità nelle applicazioni web e mobili e le capacità front-end e back-end lo rendono una scelta popolare per gli sviluppatori.
- A complete list of resources on JavaScript.
- Una introduzione alla scrittura del tuo primo programma in JavaScript.
Joomla
Joomla è un sistema di gestione dei contenuti web ampiamente utilizzato, altamente personalizzabile, gratuito e open-source scritto in PHP.
Kernel
A kernel is a computer program that mediates access to system resources. As the core component of an operating system, it’s responsible for enabling multiple applications to share hardware resources by controlling access to CPU, memory, disk I/O, and networking.
Kubernetes
Kubernetes è una piattaforma cloud per automatizzare il rilascio, il ridimensionamento e la gestione delle applicazioni containerizzate.
LAMP
A LAMP Stack is a set of software that can be used to create dynamic websites and web applications. LAMP is an acronym for the software that comprises the stack: the Linux operating system, the Apache HTTP Server, the MySQL relational database management system, and the PHP programming language. Note that some components are interchangeable, and a LAMP Stack may include MariaDB instead of MySQL, or Perl or Python instead of PHP.
- A complete list of resources on LAMP Stacks.
- Per una introduzione di base agli stack LAMP, consulta questo tutorial su come assemblare uno stack LAMP su Ubuntu 16.04.
LEMP
LEMP (noto anche come LNMP) è uno stack software utilizzato per creare siti web dinamici e applicazioni web. È composto dal sistema operativo Linux, dal server web (E)Nginx, dal sistema di gestione di database relazionali MySQL e dal linguaggio di programmazione PHP. Come negli stack LAMP, alcuni di questi componenti sono interscambiabili con altri.
- A complete list of resources on LEMP Stacks.
- Per una introduzione di base agli stack LEMP, consulta questo tutorial su come assemblare uno stack LEMP su Ubuntu 16.04.
Let’s Encrypt
Let’s Encrypt è un’autorità di certificazione che fornisce certificati TLS/SSL gratuiti. Let’s Encrypt si concentra sulla semplicità e la facilità d’uso, con l’obiettivo finale di rendere le connessioni crittografate a Internet ubiquitarie.
Bilanciamento del carico
Il bilanciamento del carico si riferisce alla distribuzione del lavoro tra un pool di server backend omogenei al fine di ottimizzare l’uso delle risorse di calcolo e prevenire il sovraccarico di qualsiasi risorsa singola.
- A complete list of resources on load balancing.
- Per una introduzione di base ai concetti e alle pratiche correlati al bilanciamento del carico, consulta il nostro articolo “Cos’è il Bilanciamento del Carico?”.
Registrazione
La registrazione si riferisce alla registrazione di tutti gli eventi che si verificano nel sistema operativo di un computer. Queste informazioni sono solitamente memorizzate per la revisione nel file di log del sistema.
Gestione dei volumi logici
La gestione dei volumi logici (LVM) è una tecnologia di gestione dei dispositivi di archiviazione che conferisce agli utenti il potere di raggruppare e astrarre la disposizione fisica dei dispositivi di archiviazione dei componenti per una gestione più flessibile e un maggiore controllo. LVM offre anche funzionalità avanzate come la creazione di snapshot, lo striping e il mirroring.
- Un’introduzione ai concetti, terminologia e operazioni di LVM.
- Come utilizzare LVM per gestire i dispositivi di archiviazione su Ubuntu 16.04.
Apprendimento automatico
L’apprendimento automatico è un sottoinsieme dell’intelligenza artificiale focalizzato sulla comprensione della struttura dei dati. Addestrando i computer all’uso di input di dati e analisi statistica per produrre valori che rientrano in un determinato intervallo, la ricerca sull’apprendimento automatico mira a costruire modelli da dati di esempio al fine di automatizzare i processi decisionali.
MariaDB
MariaDB è un sistema di gestione di database relazionali gratuito e open-source. MariaDB è stato originariamente sviluppato come un fork di MySQL, ed è quindi altamente compatibile con il suo codice sorgente.
MEAN
MEAN è un insieme di software gratuito e open-source per la creazione di siti web dinamici e applicazioni web. Tipicamente, l’insieme software include MongoDB, Express, Node.js e AngularJS.
Messaging
Il messaging è l’azione di passare contenuti o controlli tra utenti, computer, programmi e/o componenti di un singolo sistema. La messaggistica in coda si riferisce alla gestione dei messaggi tra utenti software o componenti per un determinato processo.
MongoDB
MongoDB è una piattaforma di database documentale gratuita e open-source che utilizza documenti simili a JSON con schemi.
- A complete list of resources on MongoDB.
- Per una introduzione generale al lavoro con MongoDB, controlla questo tutorial su Come Installare e Sicurizzare MongoDB su Ubuntu 16.04.
Monitoraggio
Il monitoraggio è il processo di raccolta ed valutazione dei dati sulle prestazioni per valutare il comportamento e gli attributi di un sistema. Questo processo può essere suddiviso in tre parti: la raccolta di dati di sistema tramite metriche di utilizzo, l’analisi di queste metriche e l’utilizzo dell’analisi di questi dati per stabilire avvisi per comportamenti specifici.
- Un’introduzione alle Metriche, al Monitoraggio e all’Avviso.
- Raccolta di Metriche dalla Tua Infrastruttura e dalle Applicazioni.
- Glossario dei Termini e delle Metriche del Monitoraggio di DigitalOcean.
MySQL
MySQL è un sistema di gestione di database relazionali open-source. Un programma incredibilmente flessibile e potente, MySQL è utilizzato per memorizzare e recuperare dati per una vasta gamma di applicazioni popolari.
Nginx
Nginx (pronunciato come ‘engine-x’) è un server web open-source in grado di agire da proxy inverso, bilanciare il carico e altro ancora. Nginx è uno dei server web più popolari al mondo e viene utilizzato per ospitare alcuni dei siti più grandi e più visitati su Internet.
Node.js
Node.js è una piattaforma veloce e leggera costruita sul runtime JavaScript di Chrome. Utilizza una programmazione orientata agli eventi (contrariamente a quella basata su thread) per creare applicazioni scalabili e programmi di rete. Sfruttando JavaScript sia sul front-end che sul back-end, lo sviluppo può essere più coerente e le applicazioni web possono essere progettate all’interno dello stesso ambiente di sviluppo.
- A complete list of resources on Node.js.
- Un’introduzione all’installazione di Node.js su Ubuntu 16.04.
NoSQL
A NoSQL database is any non-relational database environment that allows for the fast organization and analysis of disparate and high-volume data types. By using an unstructured (or structured-on-the-go) approach, NoSQL databases aim to eliminate the limitations of strict relations and offer many different types of ways to keep and work with the data for specific use cases (e.g. full-text document storage).
- A complete list of resources relating to NoSQL.
- Il nostro tutorial, Un confronto tra i sistemi e modelli di gestione di database NoSQL, può essere utile per comprendere le differenze tra vari tipi di database NoSQL.
Archiviazione degli oggetti
La archiviazione degli oggetti è un’architettura di archiviazione dati che gestisce i dati come oggetti (blobs di dati e metadati non strutturati) utilizzando un’API HTTP, invece che come blocchi o una gerarchia di file.
- A complete list of resources on Object Storage.
- Per una introduzione di base alla archiviazione degli oggetti, controlla il confronto di DigitalOcean tra Archiviazione degli Oggetti vs. Servizi di Archiviazione a Blocchi.
Open Source
Il software open source è qualsiasi programma rilasciato con una licenza approvata dall’Iniziativa Open Source che consente agli utenti di visualizzare, modificare e condividere il codice sorgente senza rischio di conseguenze legali. Similmente al movimento del software libero, l’obiettivo dietro il software open source è promuovere e supportare metodi di sviluppo del software guidati dalla comunità.
- A complete list of resources related to open-source concepts.
- Per una spiegazione approfondita delle pratiche open source, leggi il tutorial di DigitalOcean su La Differenza Tra Software Gratuito e Open Source.
Sistema Operativo
Un sistema operativo è un software di sistema che gestisce risorse hardware e software fornendo servizi comuni per i programmi informatici. A parte il firmware, tutti i programmi informatici richiedono un sistema operativo per funzionare.
PaaS
Platform as a Service è una categoria di cloud computing in cui gli sviluppatori possono fornire piattaforme di distribuzione per costruire applicazioni. L’infrastruttura sottostante di ciascuna piattaforma è astratta, il che significa che gli utenti possono aspettarsi ambienti runtime preconfigurati e opzioni prevedibili di scalabilità, archiviazione e sicurezza. Hanno anche accesso a linguaggi, librerie, strumenti e servizi per lo sviluppo di applicazioni, nonché un certo grado di controllo sulle impostazioni di configurazione; tuttavia, non hanno la possibilità di modificare il sistema operativo sottostante o le impostazioni di rete.
Pacchetto
I pacchetti sono le unità di base dei dati trasmesse attraverso una rete TCP/IP. Originariamente concepiti come un modo per trasmettere dati senza una connessione predefinita, i pacchetti rendono possibile il trasferimento dinamico dei dati. I dati in un pacchetto ricadono in due categorie: informazioni di controllo (indirizzi di rete di origine e destinazione, informazioni di sequenza e codici di rilevamento degli errori) e dati utente (il contenuto del messaggio stesso).
Partizione
A partition is a share of a hard disk or other secondary storage device, allowing an operating system to manage data and information in each partition separately. This can be advantageous for data security, as it simplifies data backups and reduces the risk of losing data. Partitioning also provides a convenient means for storing multiple operating systems on the same drive.
Perl
Perl è una famiglia di linguaggi di programmazione, popolare per la loro estrema versatilità e il loro utilizzo come linguaggio di “colla” tra i componenti software.
PHP
PHP è un linguaggio di scripting progettato principalmente per lo sviluppo web, ma è diventato ampiamente utilizzato anche come linguaggio di programmazione generale.
PKI
L’Infrastruttura a Chiave Pubblica è l’insieme di ruoli, politiche e procedure coinvolte nella creazione e gestione di certificati digitali e crittografia a chiave pubblica. Ci sono diversi operatori all’interno dell’ombrello PKI: un’Entità di Certificazione (CA) che archivia, emette e firma certificati SSL per i domini; un’Autorità di Registrazione (RA) che verifica le identità degli host che fanno richieste di certificati SSL; una directory centrale che ospita informazioni sulle chiavi private per il recupero in caso di disastro; e un sistema di gestione dei certificati che supervisiona l’accesso ai certificati.
- A Comparison of Let’s Encrypt, Commercial and Private Certificate Authorities, and Self-Signed SSL Certificates.
- Un’introduzione a Let’s Encrypt.
- OpenSSL Essentials: Lavorare con Certificati SSL, Chiavi Private e CSR.
PostgreSQL
PostgreSQL è un sistema di gestione di database object-relational gratuito e open-source che enfatizza l’estensibilità e il rispetto degli standard.
- A complete list of resources relating to PostgreSQL.
- A basic introduction to working with PostgreSQL.
Python
Python è un linguaggio di programmazione di alto livello e interpretato che prioritizza la chiarezza e la leggibilità del codice.
- A complete list of Python-related resources.
- Una panoramica approfondita su come programmare in Python 3.
Redis
Redis è un archivio dati chiave-valore in memoria scalabile che eccelle nella memorizzazione nella cache. Un database non relazionale, Redis è noto per la sua flessibilità, prestazioni e ampia compatibilità linguistica.
REPL
A Read-Eval-Print Loop, or REPL, is a basic computer environment in which user inputs are read, evaluated, and results are returned to the user. Examples include command line shells and various tools provided for specific programming languages.
Proxy Inverso
A reverse proxy is a type of proxy server that handles and redistributes client requests to a server. In addition to balancing workloads between servers, reverse proxy servers can provide services not necessarily offered by application servers, such as caching, compression, and SSL encryption.
- Comprensione della proxy HTTP di Nginx, del bilanciamento del carico, del buffering e della memorizzazione nella cache.
- Come utilizzare Apache come proxy inverso con mod_proxy su Ubuntu 16.04.
Radice
Radice, anche conosciuto come utente root, account root o superutente, è un account utente su un sistema informatico con accesso a tutti i comandi e file su quel sistema. I privilegi di root sono evoluti dai primi sistemi UNIX, nei quali più utenti condividevano un singolo computer mainframe.
Ruby
Ruby è un linguaggio di programmazione dinamico, riflessivo, orientato agli oggetti e multi-paradigma che supporta molteplici paradigmi di programmazione. Ruby è stato progettato per essere molto amichevole per il programmatore e per aumentare la produttività, e include funzionalità come il tipaggio dinamico e la gestione automatica della memoria.
Ruby on Rails
Ruby on Rails (anche noto come RoR, o semplicemente come Rails) è un framework per applicazioni web server-side model-view-controller scritto in Ruby. Rails include strumenti che semplificano compiti comuni nello sviluppo, come lo scaffolding che può costruire automaticamente alcuni dei modelli e delle viste necessarie per un sito web di base.
SaaS
Software as a Service è una categoria di cloud computing in cui il software viene fornito come un prodotto via Internet. Con un SaaS, gli utenti hanno accesso a software fornito da fornitori terzi, anche se non sono responsabili della produzione, manutenzione o modifica di quel software.
Scaling
Lo scalare è il processo di adattamento di una configurazione del server per far fronte alla crescita. I metodi di scalabilità possono essere ampiamente categorizzati come orizzontali o verticali. Lo scaling orizzontale viene solitamente realizzato sfruttando server aggiuntivi per soddisfare il carico di lavoro di un’unica applicazione web, mentre lo scaling verticale coinvolge tipicamente l’aggiunta di risorse (come CPU o memoria) a un singolo server come mezzo per migliorare l’efficienza.
Sicurezza
La sicurezza implica la protezione di un sistema informatico dal furto o danneggiamento dell’hardware, del software o dei dati. Gli strumenti tipici per la sicurezza includono firewall, VPN, SSH e certificati SSL.
- A complete list of resources relating to Security.
- Alcuni consigli per rendere i tuoi server più sicuri.
SELinux
Security-Enhanced Linux è un insieme di modifiche al kernel e strumenti nello spazio utente che forniscono un controllo degli accessi avanzato per le distribuzioni Linux. È integrato nel kernel Linux ed è abilitato per impostazione predefinita nelle distribuzioni Fedora, CentOS e RHEL, tra gli altri.
Server
A server is a computer program or device that provides a network or data service for other programs or devices, known as clients. Servers can offer a variety of functions, ranging from website and web application hosting, to providing shared disk access, printer connections, and database services. The word “server” can refer to either a physical machine or to the services being provided to clients.
Blocchi del server
Simili agli host virtuali di Apache, i blocchi del server sono siti web o applicazioni web che sono ospitati sullo stesso server Nginx, ma sono altrimenti distinti.
SFTP
SFTP, che sta per SSH File Transfer Protocol o Secure File Transfer Protocol, è un protocollo confezionato con SSH utilizzato per trasferire file tra computer tramite una connessione internet. A differenza del precedente FTP, SFTP consente agli utenti di trasferire file e navigare nel filesystem sia sui sistemi locali che remoti tramite una connessione sicura.
- Come utilizzare SFTP per trasferire file in modo sicuro con un server remoto.
- Come abilitare SFTP senza accesso alla shell su Ubuntu 16.04.
Sinatra
Sinatra è una libreria per applicazioni web gratuita e open-source e un linguaggio specifico di dominio scritto in Ruby, progettato per la rapida creazione di applicazioni web.
Shell
A shell is a user interface used to access services provided by a computer’s operating system. Shells are usually either command-line interfaces (CLIs) or graphical user interfaces (GUIs). The name comes from the fact that the interface represents the outermost layer (or shell) of an operating system.
Socket
I tipi più comuni di socket su una macchina Linux sono i socket IP e i socket Unix. Un socket IP è un’interfaccia di comunicazione su una rete che consente la comunicazione bidirezionale tra due nodi. Ciascun nodo è identificabile da un indirizzo di socket, che include un indirizzo IP e un numero di porta associato a quel nodo. Un socket Unix è un punto di comunicazione per i processi all’interno di un sistema operativo su singolo host. I processi utilizzano gli inode del filesystem per fare riferimento ai socket Unix all’interno del sistema, consentendo la trasmissione di dati.
SSD
A solid-state drive is a non-volatile computer storage device that uses electronic circuits to store and retrieve information. Most SSD devices use flash memory, which retains data even when power is lost or removed, but some use battery-powered RAM. SSDs are known for their low access times and latency when compared to hard disk drives.
SSH
Secure Shell è un protocollo di rete utilizzato per comunicazioni crittograficamente sicure con un server remoto. Costruendo un canale sicuro per la comunicazione su una connessione non sicura, SSH consente agli utenti di comunicare e amministrare comandi ai server remoti. Le funzioni comuni associate a SSH includono il login remoto dalla riga di comando, l’esecuzione di comandi e la configurazione dei servizi.
- Principi essenziali di SSH: Lavorare con Server, Client e Chiavi SSH.
- Comprensione del Processo di Crittografia e Connessione SSH.
Stack
A stack is a set of software components that together create a complete platform for running applications or programs. Stacks differ based on the needs of the developer and include the components necessary for the task at hand. A LAMP (Linux, Apache, MySQL, PHP) or LEMP (Linux, Nginx, MySQL, PHP) stack can serve dynamic web pages and applications, while an Elastic/ELK (Elasticsearch, Logstash, Kibana) stack can collect, store, and search log files.
- Come Installare lo Stack Linux, Apache, MySQL, PHP (LAMP) su Ubuntu 16.04.
- Come Installare lo Stack Linux, Nginx, MySQL, PHP (LEMP) in Ubuntu 16.04.
- Come Installare Elasticsearch, Logstash e Kibana (Stack ELK) su Ubuntu 16.04.
Archiviazione
l’archiviazione include qualsiasi hardware, software o sistemi informatici che consentono la conservazione di dati e informazioni. Esistono molti tipi diversi di archiviazione e architetture per la gestione dei dati memorizzati, come i sistemi di file, l’archiviazione a blocchi e l’archiviazione di oggetti.
Swap
Swap è una partizione su un disco rigido o un file speciale creato in un sistema di file regolare che è stato designato come luogo in cui il sistema operativo può memorizzare temporaneamente i dati che non può più mantenere nella RAM. Lo spazio di swap offre agli utenti la possibilità di aumentare la quantità di informazioni che il loro server può conservare nella sua memoria di lavoro.
Systemd
Systemd
è un sistema di inizializzazione utilizzato in molte distribuzioni Linux per avviare lo spazio utente e gestire i processi di sistema. Oltre a gestire il processo di avvio, systemd
controlla numerose risorse di sistema e funzioni di logging.
- Systemd Essentials: Lavorare con Servizi, Unità e il Journal.
- Comprensione delle Unità e dei File di Unità di Systemd.
Unix
Unix è una famiglia di sistemi operativi multitasking e multiutente derivati dall’originale Unix di AT&T, sviluppato nei primi anni ’70. I principi fondamentali di Unix, chiarezza, portabilità e simultaneità, hanno portato allo sviluppo della “filosofia Unix”, che ha influenzato molti sistemi operativi successivi (come numerose distribuzioni BSD e Linux, così come MacOS).
Software di Controllo Versione
Il software di controllo versione (anche noto come VCS) include qualsiasi sistema di controllo delle versioni utilizzato dagli sviluppatori per mantenere le versioni correnti e storiche del codice sorgente, della documentazione e delle pagine web.
Host virtuali
I virtual host sono siti web o applicazioni web che girano sullo stesso server Apache ma sono altrimenti completamente separati. Il concetto di virtual host su un server Apache è analogo a quello dei blocchi del server su un server Nginx.
Macchina virtuale
A virtual machine is an individual emulation of a computer system, typically achieved through the use of a hypervisor.
Memoria volatile
La memoria volatile dipende dall’alimentazione per lo stoccaggio e il mantenimento delle informazioni, ed è utilizzata per elaborare dati da programmi e applicazioni aperti.
VPC
A virtual private cloud is a configurable pool of resources, provisioned within a cloud hosting environment, that are isolated to and managed by a single individual or organization. Within a VPC, users can often create private subnets, configure routing tables, network gateways, and security settings, and connect securely to corporate datacenters and other VPCs.
VPN
A VPN, or virtual private network, is a means of establishing secure connections between remote computers. A VPN presents its connection as if it were a local private network, allowing for secure communications between servers.
WordPress
WordPress è un sistema di gestione dei contenuti web gratuito e open-source basato su PHP e MySQL. Il CMS più popolare al mondo, WordPress vanta una vasta libreria di plugin e una grande e attiva comunità di sviluppatori.
Source:
https://www.digitalocean.com/community/tutorials/digitalocean-community-glossary