Cos’è Hasura?
Hasura è una piattaforma open source che fornisce accesso ai dati in tempo reale alle applicazioni attraverso un'API RESTful e GraphQL. Consente agli sviluppatori di creare rapidamente servizi di backend generando automaticamente API da schemi di database.
Storia di Hasura
Hasura è stato creato nel 2016 come progetto open source incentrato sulla semplificazione dello sviluppo di servizi di backend. Il progetto è cresciuto in modo significativo dalla sua nascita, con una forte attenzione all'esperienza degli sviluppatori e alle capacità di generazione rapida delle API.
Caratteristiche principali di Hasura
- Generazione automatica di API: genera automaticamente API RESTful e GraphQL da schemi di database senza richiedere la scrittura manuale di codice
- Accesso ai dati in tempo reale: fornisce accesso ai dati in tempo reale alle applicazioni tramite le API generate
- Policy Engine: include un motore di policy integrato per la gestione del controllo degli accessi a livello di riga
- Gestione Schema: Supporta la gestione dello schema con aggiornamenti automatici quando le strutture del database cambiano
- Supporto multi-tenant: progettato per supportare scenari di distribuzione multi-tenant
- Open Source: Disponibile come software open source con sviluppo guidato dalla comunità
Casi di utilizzo
- Creazione di servizi backend per applicazioni Web e mobili
- Creazione di API da schemi di database esistenti
- Implementazione di criteri di sicurezza a livello di riga
- Sviluppare architetture di microservizi
- Prototipazione rapida dei backend delle applicazioni
- Connessione di applicazioni frontend a fonti di dati senza sviluppo API personalizzato
Benefici di Hasura
- Riduce il time-to-market automatizzando la generazione delle API
- Fornisce una struttura API coerente tra diverse fonti di dati
- Offre funzionalità di sicurezza integrate per il controllo dell'accesso ai dati
- Supporta più formati API (REST e GraphQL)
- Mantiene lo schema del database come fonte di verità
- Consente cicli di sviluppo rapidi attraverso l'automazione
Come installare Hasura
Hasura può essere distribuito attraverso vari metodi tra cui Docker, Kubernetes o installazione diretta. Il processo di distribuzione prevede in genere:
- Scaricare la versione appropriata per il proprio ambiente
- Configurazione delle impostazioni di connessione al database
- Impostazione dei parametri di autenticazione e autorizzazione
- Implementazione nella tua infrastruttura
Sicurezza / amministrazione / configurazione
Hasura include funzionalità di sicurezza integrate che aiutano a proteggere i dati e l'accesso alle API:
- Sicurezza a livello di riga: il motore di policy consente di definire quali righe delle tabelle sono accessibili a diversi utenti o ruoli
- Controllo accesso API: autorizzazioni configurabili per diversi endpoint API
- Protezione dell'interfaccia amministrativa: il parametro admin secret aiuta a proteggere l'accesso amministrativo
Migliori pratiche per Hasura
- Utilizzare valori forti e univoci per il segreto di amministrazione
- Rivedere e aggiornare regolarmente le politiche di sicurezza in base alle modifiche dei dati
- Monitorare l'utilizzo delle API per rilevare modelli insoliti
- Mantieni la tua istanza Hasura aggiornata con le ultime patch di sicurezza
- Implementare una corretta registrazione e monitoraggio per gli ambienti di produzione
Parametri di configurazione
Dopo aver acquistato questa applicazione su Esadax, ti verrà richiesto di fornire i parametri di configurazione qui sotto. Esadax aggiunge le variabili fornite al deployment in modo che l'applicazione possa essere lanciata con la configurazione richiesta.
| Parametri |
Descrizione |
HASURA_ADMIN_SECRET |
Valore fornito alla distribuzione per HASURA_ADMIN_SECRET. |
Una volta configurati i valori, fare clic su Distribuisci per avviare l'applicazione. L'applicazione acquistata utilizzerà i valori di configurazione forniti, incluse le credenziali come nomi utente e password quando vengono forniti tali parametri.
Conclusione
Hasura fornisce una potente piattaforma per gli sviluppatori che hanno bisogno di costruire rapidamente servizi di backend. Automatizzando la generazione di API dagli schemi di database, riduce significativamente i tempi di sviluppo mantenendo al contempo forti controlli di sicurezza attraverso il suo motore di policy. La natura open-source del progetto consente flessibilità nella distribuzione fornendo al contempo funzionalità essenziali per le moderne architetture applicative.