Servizi DevOps per prodotti web e mobile
Configuriamo il modo in cui il vostro prodotto viene compilato, testato, distribuito e monitorato: pipeline CI/CD, container, infrastruttura cloud o VPS e ambienti separati. I rilasci diventano un passaggio di routine invece di un evento a tarda sera.
Quando il lavoro DevOps ripaga
Il segnale di solito è sempre lo stesso: i rilasci sono lenti, rischiosi e dipendono dall’unica persona che conosce i comandi.
- I deploy si fanno a mano via SSH e a volte mandano in crisi la produzione
- Non esiste un ambiente di staging, quindi le modifiche vengono testate sugli utenti reali
- Solo uno sviluppatore sa come fare il deploy, e sta per andarsene
- La bolletta del cloud cresce più in fretta del prodotto
- Gli errori li segnalano i clienti, perché non ci sono log né metriche
- Preparare l'ambiente per un nuovo sviluppatore richiede giorni
Cosa facciamo
Pipeline CI/CD
Ogni commit viene compilato e testato automaticamente, e un merge sul ramo principale esegue il deploy in staging o in produzione. Per le app mobili le build automatiche arrivano su TestFlight e sui canali di test di Google Play.
Container
Applicazioni e dipendenze impacchettate con Docker, così la stessa immagine gira sul portatile, in staging e in produzione.
Infrastruttura cloud e VPS
Infrastruttura su un cloud pubblico o su server dedicati e VPS, scelta in base al carico e al budget e non per abitudine, e configurata su account che vi appartengono.
Infrastruttura come codice
Server, reti, DNS e accessi descritti nel codice e conservati nel repository. L’ambiente si può revisionare, ricreare e modificare come qualsiasi altro codice.
Dev, stage e prod
Ambienti separati di sviluppo, staging e produzione, ciascuno con i propri dati e impostazioni, così ogni modifica viene verificata prima che la vedano gli utenti reali.
Monitoraggio e log
Metriche, log centralizzati e tracciamento degli errori con avvisi, così il team si accorge per primo dei problemi e li diagnostica sulla base dei dati, non delle ipotesi.
Deploy che non dipendono da una sola persona
Quando un rilascio significa che uno sviluppatore si collega al server ed esegue comandi a memoria, ogni rilascio è un rischio e ogni ferie un problema. Trasferiamo quella conoscenza in una pipeline: build, test, migrazioni del database e deploy si svolgono ogni volta allo stesso modo, e un rilascio fallito si annulla in un solo passaggio. Segreti e accessi sono conservati in modo centralizzato, non sui portatili personali.
- Build e test automatici a ogni commit
- Deploy e rollback in un solo passaggio
- Migrazioni del database come parte del rilascio
- Segreti e accessi gestiti in un unico posto
Un'infrastruttura che costa il giusto
Le bollette dell’infrastruttura crescono in silenzio: istanze sovradimensionate, server di test dimenticati, servizi a pagamento che si sovrappongono. Esaminiamo cosa è in esecuzione, a cosa serve e quanto costa, poi proponiamo modifiche con un risparmio stimato per ciascuna. A volte significa ridimensionare le risorse nello stesso cloud, a volte spostare i carichi stabili da un provider cloud a server dedicati.
- Inventario delle risorse e del loro costo mensile
- Eliminazione delle risorse inutilizzate e sovradimensionate
- Un risparmio stimato per ogni modifica proposta
- Un piano di migrazione dove spostare i carichi conviene economicamente
Sapere cosa succede in produzione
Senza monitoraggio, la prima segnalazione di un problema arriva da un cliente. Configuriamo metriche per server e applicazione, raccogliamo i log in un unico posto e colleghiamo il tracciamento degli errori per backend, web e client mobili. Gli avvisi arrivano alle persone che possono intervenire e sono calibrati in modo da non essere ignorati.
- Dashboard per server, database e metriche dell'applicazione
- Log centralizzati e ricercabili
- Tracciamento degli errori per backend, web e mobile
- Avvisi indirizzati alle persone giuste
Come si svolge il lavoro DevOps
Analisi
Esaminiamo i repository, l’attuale processo di deploy, l’infrastruttura e le bollette. Ricevete un report con i problemi e le modifiche proposte.
Piano
Le modifiche vengono ordinate per valore e rischio e stimate. Decidete voi da cosa partire.
Realizzazione
Pipeline, container, ambienti e monitoraggio vengono introdotti un passo alla volta, senza fermare i rilasci in corso.
Passaggio di consegne
Il vostro team riceve documentazione e una sessione di presentazione, così la configurazione è chiara a più di una persona.
Assistenza continuativa
Se volete, manteniamo e miglioriamo l’infrastruttura con un contratto di assistenza.
Strumenti che usiamo
CI/CD
- GitHub Actions
- GitLab CI
- Bitbucket Pipelines
- fastlane
Container
- Docker
- Docker Compose
- Kubernetes
Cloud e IaC
- AWS
- Google Cloud
- Hetzner
- DigitalOcean
- Terraform
- Ansible
Monitoraggio
- Prometheus
- Grafana
- Sentry
Come lavorare con noi
Progetto di configurazione
Un progetto a perimetro definito: ad esempio una pipeline CI/CD, la containerizzazione o il passaggio a una nuova infrastruttura.
Assistenza DevOps continuativa
Cura mensile di pipeline, ambienti e infrastruttura, abbinabile all’assistenza server se serve.
A ore o ingegnere dedicato
Consulenze e singole attività fatturate a ore, oppure un ingegnere assegnato al vostro team.
Recensioni
Il team di Revol continua a potenziare le capacità di sviluppo del cliente con un lavoro di alta qualità e un supporto affidabile. Comunica in modo efficace e dimostra una solida comprensione delle esigenze e del business del cliente.
Tomas
Il lavoro di Revol ha pienamente soddisfatto le aspettative del cliente. Il loro approccio fresco e la costante disponibilità al supporto si sono rivelati preziosi. Chi cerca un team comunicativo e orientato al cliente per raggiungere i propri obiettivi può affidarsi a loro.
Andrey
Domande frequenti
Ci serve Kubernetes?
Alla maggior parte dei prodotti no. Pochi server con Docker e una pipeline ben costruita coprono le esigenze della maggior parte dei backend web e mobile con una frazione della complessità. Proponiamo Kubernetes quando il numero di servizi e il carico lo richiedono davvero.
Potete lavorare sul nostro account cloud esistente?
Sì. Lavoriamo sui vostri account cloud o di hosting con gli accessi che ci concedete, e tutto ciò che realizziamo resta vostro. Non spostiamo la vostra infrastruttura su account controllati da noi.
Le modifiche interromperanno i nostri rilasci attuali?
No. Le modifiche vengono introdotte un passo alla volta, di solito partendo da una pipeline che esegue il deploy su un nuovo ambiente di staging. La produzione passa al nuovo processo quando questo ha dimostrato di funzionare.
Potete ridurre i nostri costi di hosting?
Spesso sì, ma di quanto dipende da ciò che avete. Dopo l'analisi ricevete un elenco di modifiche concrete con un risparmio stimato per ciascuna, e decidete voi quali applicare.
Configurate la CI/CD anche per le app mobili?
Sì: build automatiche, firma, test e distribuzione su TestFlight e sui canali di test di Google Play, così i tester ricevono ogni build senza passaggi manuali.
In cosa si differenzia il DevOps dall'assistenza server?
L'assistenza server mantiene in salute i server esistenti: aggiornamenti, backup, monitoraggio. Il DevOps cambia il modo in cui il prodotto viene compilato e distribuito. Molti clienti hanno bisogno di entrambi, e si possono combinare in un unico contratto.
Raccontateci il vostro progetto
Descrivete l'attività in poche righe. Entro un giorno lavorativo vi risponderemo con alcune domande o con una prima valutazione di perimetro e costi.
Preferite l'email o una telefonata?
welcome@revolsource.com
+38 097 662 23 20
Revol Software OÜ, Tallinn, Estonia. Il nostro team è distribuito in tutto il mondo.
Unisciti al nostro team
Invia il tuo CV a career@revolsource.com