Entrare in DevOps

Dec 04 2022
_Iniziare con AWS _Amazon VPC (Virtual Private Cloud) VPC è un Virtual Private Cloud e consente di eseguire il provisioning di una sezione logicamente isolata del cloud AWS in cui è possibile avviare le risorse AWS in una rete virtuale definita dall'utente. Consente di selezionare il proprio proprio intervallo di indirizzi IP, creazione di sottoreti e altro ancora.

_Iniziare con AWS

_Amazon VPC (nuvola privata virtuale)

VPC è un Virtual Private Cloud e ti consente di eseguire il provisioning di una
sezione logicamente isolata del cloud AWS in cui puoi avviare le risorse AWS in una rete virtuale definita da te.
Ti consente di selezionare il tuo intervallo di indirizzi IP, la creazione di sottoreti e altro.

VPC ci consente di limitare l'intervallo di IP consentito nella rete e ci consente di controllare quale traffico/pacchetti in entrata deve essere consentito e quale deve essere bloccato.

In un certo senso possiamo personalizzare il cloud privato secondo i requisiti e
possiamo imporre restrizioni al cloud virtuale in base ai requisiti.

VPC consente di creare una sezione logicamente separata del cloud AWS in cui è possibile avviare varie risorse in base ai requisiti nella rete virtuale fornita dal cloud.

VPC non è altro che un data center virtuale nel cloud.
Qui possiamo creare le nostre regole di rete per controllare il traffico.

_Database in AWS

Il database è fondamentalmente una raccolta strutturata e organizzata di dati o qualsiasi tipo di informazione. Qui i dati possono essere facilmente accessibili, gestiti e aggiornati secondo le esigenze dell'utente.

La ricerca dei dati, il recupero dei dati e altre operazioni di elaborazione dei dati vengono eseguite molto facilmente nel database.

Esistono due tipi di database:

  • Database relazionale
  • Database non relazionale

Il Database Relazionale si chiama RDS (Relational Database Service) I dati memorizzati in RDS sono in formato Row-Column cioè TABULAR.

Ogni tabella nel database relazionale ha una colonna in cui è scritto il titolo univoco che viene definito come chiave primaria e questa chiave può essere nuovamente riutilizzata come chiave esterna quando le relazioni devono essere definite tra più tabelle.

Possiamo interagire con il database relazionale utilizzando l'SQL ovvero lo Structured Query Language. Facendo uso di questo linguaggio di query strutturato possiamo eseguire le varie operazioni che sono operazioni CRUD, ovvero creare, leggere, aggiornare, eliminare.

Esempio

Nella tabella CUSTOMER, abbiamo più colonne e ogni colonna contiene alcuni dati univoci che sono le chiavi primarie e queste possono essere utilizzate come chiavi esterne quando necessario.

_Vantaggi dei database relazionali

  • Precisione dei dati
  • Normalizzazione
  • Conformità ACIDO
  • SQL Server di Microsoft
  • Oracolo
  • Server MySQL
  • PostgreSQL
  • Aurora Amazzonica
  • MariaDB

Due caratteristiche chiave RDS

  • Distribuzioni Multi-AZ (zone di disponibilità).
  • Leggi le repliche

I database non relazionali sono fondamentalmente database No-SQL che non memorizzano i dati in formato righe e colonne come il tradizionale database relazionale.

Memorizza i dati nei documenti o nel tipo di formato dei file JSON. Quindi lo rende più flessibile rispetto al tradizionale database relazionale.

Esempio

_Vantaggi dei database non relazionali

  • Flessibilità
  • adeguatezza
  • Precisione dei dati
  • Facile accesso ai dati
  • Sicurezza
  • Integrità dei dati
  • DynamoDB
  • MongoDB
  • Apache HBase
  • Redis

(Elaborazione di analisi online)

_OLTP

OLTP supporta principalmente le applicazioni orientate alle transazioni. L'obiettivo primario è l'elaborazione dei dati.

per esempio

  • Banca online
  • bancomat
  • Invio di un messaggio di testo

OLAP consiste in uno strumento utilizzato per l'analisi dei dati. I sistemi OLAP sono l'esempio del Data Warehousing. OLAP è caratterizzato da un grande volume di dati.

Archiviazione dati

Un data warehouse è fondamentalmente un'integrazione di dati provenienti da più fonti eterogenee. Il data warehousing include anche la pulizia dei dati, l'integrazione dei dati e il consolidamento dei dati.

per esempio

  • Sistema di consigli sui film Netflix.
OLTP contro OLAP

_Cos'è Cache?

  • Una cache è un componente software o hardware finalizzato alla memorizzazione dei dati in modo che le richieste future per gli stessi dati possano essere servite più velocemente.
  • La memorizzazione nella cache è un meccanismo per migliorare le prestazioni di qualsiasi tipo di applicazione.
    Tecnicamente, la memorizzazione nella cache è il processo di archiviazione e accesso ai dati da una cache.

È un servizio web che semplifica il funzionamento. Il servizio migliora le prestazioni delle applicazioni Web consentendo di recuperare informazioni da cache in memoria veloci invece di affidarsi interamente a database basati su disco più lenti.

ElastiCache supporta due motori di caching in memoria open source

  • Memcached
  • Redis

È un database che mantiene l'intero database nella RAM.

Ogni volta che si interroga un database o si aggiorna la data in un database, si accede solo alla memoria principale.

Non vi è alcun coinvolgimento del disco nell'operazione.

Esempi di tali database sono Redis e Memcached.

_Redis e Memcached

Redis e Memcached sono entrambi sistemi di archiviazione dati in memoria.

Entrambi possono aiutare a velocizzare la tua applicazione memorizzando nella cache i risultati del database, i frammenti HTML o qualsiasi altra cosa che potrebbe essere costosa da generare.

Redis è un archivio chiave-valore open source, che supporta operazioni su vari tipi di dati tra cui stringhe, tabelle hash, elenchi collegati.

Memcached è semplicemente un server cache volatile che fornisce servizi di cache di memoria distribuita ad alte prestazioni.

_Confronto efficienza utilizzo memoria

In memcached all'inserimento di elementi, il demone cresce rapidamente fino a raggiungere una dimensione leggermente superiore a quella specificata.

Quindi, non c'è mai davvero un modo per recuperare lo spazio specificato per l'inserimento degli elementi, a meno di riavviare memcached.

In Redis, l'impostazione di una dimensione massima dipende da noi, non utilizzerà mai più di quella che ha e ti restituirà la memoria che non è più in uso.

_Confronto delle prestazioni

Redis utilizza solo core singoli mentre memcached utilizza più core.

Quindi, in media, Redis vanta prestazioni più elevate rispetto a memcached nell'archiviazione di dati di piccole dimensioni se misurata in termini di core.

_Amazon DynamoDB Accelerator (DAX)

Amazon DynamoDB Accelerator (DAX) è una cache in memoria completamente gestita e altamente disponibile per Amazon DynamoDB che offre un miglioramento delle prestazioni fino a 10 volte, da millisecondi a microsecondi, anche a milioni di richieste al secondo.

L'acceleratore DynamoDB è un nuovo modo per ottenere prestazioni migliori. È ideale per applicazioni di lettura ad alte prestazioni.

È ideale per applicazioni di trading e social gaming in cui è previsto il tempo di risposta più rapido possibile.

Se questo post è stato utile, segui e fai clic sul pulsante clap qui ​​sotto per mostrare il tuo supporto

_ Grazie per aver letto

_Rajani ✨