Architettura iniziale
L'architettura Starter dell'infrastruttura cloud di Adobe Commerce supporta fino a quattro ambienti, incluso un ambiente master
che contiene il codice del progetto iniziale, l'ambiente di staging e fino a due ambienti di integrazione.
Tutti gli ambienti sono contenuti in contenitori PaaS (Platform as a service). Questi contenitori vengono distribuiti all'interno di contenitori con restrizioni elevate su una griglia di server. Questi ambienti sono di sola lettura e accettano le modifiche del codice distribuito dai rami inviati dall’area di lavoro locale. Ogni ambiente fornisce un database e un server web.
Puoi utilizzare qualsiasi metodologia di sviluppo e ramificazione che ti piace. Quando si ottiene l'accesso iniziale al progetto, creare un ambiente staging
dall'ambiente master
. Quindi, creare l'ambiente integration
ramificando da staging
.
Architettura dell’ambiente di partenza
Il diagramma seguente mostra le relazioni gerarchiche degli ambienti Starter.
Ambiente di produzione
L’ambiente di produzione fornisce il codice sorgente per implementare Adobe Commerce nell’infrastruttura Cloud che esegue le vetrine di singoli e più siti pubbliche. L'ambiente di produzione utilizza il codice del ramo master
per configurare e abilitare il server Web, il database, i servizi configurati e il codice dell'applicazione.
Poiché l'ambiente production
è di sola lettura, utilizzare l'ambiente integration
per apportare modifiche al codice, distribuire nell'architettura da integration
a staging
e infine nell'ambiente production
. Consulta Distribuire l'archivio e Lancio sito.
Adobe consiglia di eseguire test completi nel ramo staging
prima di eseguire il push al ramo master
, che viene distribuito nell'ambiente production
.
Ambiente di staging
Adobe consiglia di creare un ramo denominato staging
da master
. Il ramo staging
distribuisce il codice nell'ambiente di staging per fornire un ambiente di pre-produzione per testare codice, moduli ed estensioni, gateway di pagamento, spedizione, dati di prodotto e molto altro. Questo ambiente fornisce la configurazione per tutti i servizi in modo che corrispondano all’ambiente di produzione, inclusi Fastly, New Relic APM e search.
Altre sezioni in questa guida forniscono istruzioni per le distribuzioni finali del codice e il test delle interazioni a livello di produzione in un ambiente di staging sicuro. Per ottenere prestazioni ottimali e test delle funzionalità, replicare il database nell'ambiente di staging.
Ambiente di integrazione
Gli sviluppatori utilizzano l'ambiente integration
per sviluppare, distribuire e testare:
-
Codice dell’applicazione Adobe Commerce
-
Codice personalizzato
-
Estensioni
-
Servizi
Casi d'uso consigliati:
Gli ambienti di integrazione sono progettati per test e sviluppo limitati. Ad esempio, puoi utilizzare l’ambiente di integrazione per completare le seguenti attività:
-
Assicurati che le modifiche ai processi di integrazione continua (CI) siano compatibili con cloud
-
Verifica i flussi di lavoro critici su pagine chiave come Home, Categoria, Pagina dettagli prodotto (PDP), Pagamento e Amministratore
Per ottenere le migliori prestazioni nell’ambiente di integrazione, segui queste best practice:
-
Limita la dimensione del catalogo: per riferimento, i dati di esempio contengono circa 2.048 prodotti. Prova a ridurre la dimensione del catalogo a circa 4.000-5.000 prodotti.
Per verificare il numero di prodotti nel catalogo, eseguire la seguente query MySQL:code language-sql select distinct count(entity_id) from catalog_product_entity;
-
Riduci il numero di gruppi di clienti: troppi gruppi di clienti possono influire sulle prestazioni di indicizzazione e sulle prestazioni complessive.
-
Limita l'utilizzo a uno o due utenti simultanei
-
Disabilita i processi cron ed esegui manualmente in base alle esigenze
È possibile avere fino a due ambienti di integrazione attivi. Creare un ambiente di integrazione creando un ramo dal ramo staging
. Quando crei un ambiente di integrazione, il nome dell’ambiente corrisponde al nome del ramo. Un ambiente di integrazione include un server web e un database. Non include tutti i servizi, ad esempio Fastly CDN e New Relic non sono disponibili.
Puoi avere un numero illimitato di rami inattivi per l’archiviazione del codice. Per accedere, visualizzare e verificare un ramo inattivo, è necessario attivarlo
Stack di tecnologia di produzione e staging
Gli ambienti di produzione e staging includono le seguenti tecnologie. È possibile modificare e configurare queste tecnologie tramite il file .magento.app.yaml
.
- Fastly per il caching HTTP e CDN
- Server web Nginx che parla con PHP-FPM, un'istanza con più lavoratori
- Server Redis
- Elasticsearch di ricerca nel catalogo per Adobe Commerce da 2.2 a 2.4.3-p2
- OpenSearch per la ricerca di cataloghi per Adobe Commerce 2.3.7-p3, 2.4.3-p2, 2.4.4 e versioni successive
- Filtro in uscita (firewall in uscita)
Servizi
Adobe Commerce su infrastruttura cloud supporta attualmente i seguenti servizi: PHP, MySQL (MariaDB), Elasticsearch (Adobe Commerce da 2.2 a 2.4.3-p2), OpenSearch (2.3.7-p3, 2.4.3-p2, 2.4.4 e versioni successive), Redis e RabbitMQ.
Ogni servizio viene eseguito in un contenitore protetto separato. I contenitori vengono gestiti insieme nel progetto. Alcuni servizi sono standard, come i seguenti:
-
Router HTTP (gestione delle richieste in ingresso, ma anche caching e reindirizzamenti)
-
Server applicazioni PHP
-
Git
-
Secure Shell (SSH)
Versioni software
Adobe Commerce su infrastruttura cloud utilizza il sistema operativo Debian GNU/Linux e il server web NGINX. Non è possibile aggiornare questo software, ma è possibile configurare le versioni per i seguenti elementi:
Negli ambienti di staging e produzione, utilizzi Fastly per CDN e caching. La versione più recente dell’estensione Fastly CDN viene installata durante il provisioning iniziale del progetto. Puoi aggiornare l’estensione per ottenere le correzioni di bug e i miglioramenti più recenti. Consulta Modulo CDN finale per il Magento 2. Inoltre, puoi accedere a New Relic per il monitoraggio delle prestazioni.
Utilizzare i seguenti file per configurare le versioni del software da utilizzare nell'implementazione.
Backup e disaster recovery
È possibile creare un backup del database e del file system utilizzando Cloud Console o CLI. Consulta Gestione backup.
Prepararsi per lo sviluppo
Il flusso di lavoro seguente riepiloga il processo per diramare il codice, sviluppare e distribuire lo store:
-
Configurare l’ambiente locale
-
Clona il ramo
master
nell'ambiente locale -
Crea un ramo
staging
damaster
-
Crea rami per lo sviluppo da
staging
-
Invia il codice a Git che genera e distribuisce in un ambiente per il test
Consulta le sezioni seguenti per istruzioni dettagliate e procedure dettagliate per sviluppare, testare e distribuire lo store:
-
Sviluppo Docker (ambiente di sviluppo locale abilitato da Cloud Docker per Commerce)