Carichi di lavoro dell'applicazione

IBM Cloud® Code Engine è progettato per soddisfare le esigenze degli sviluppatori che desiderano che il codice venga eseguito. Code Engine astrae il carico operativo della creazione, della distribuzione e della gestione dei carichi di lavoro in Kubernetes in modo che gli sviluppatori possano concentrarsi su ciò che più conta per loro: il codice sorgente. Gli sviluppatori possono distribuire e ridimensionare le proprie applicazioni, scritte in qualsiasi framework o linguaggio, delegando la complessità della creazione e della gestione dei propri carichi di lavoro a Code Engine. Imparate a lavorare con le applicazioni in Code Engine.

Cosa sono i carichi di lavoro dell'applicazione?

Un'applicazione, o app, esegue il codice per servire le richieste HTTP. Oltre alle richieste HTTP tradizionali, IBM Cloud® Code Engine supporta anche le applicazioni che utilizzano i WebSockets come protocollo di comunicazione. Il numero di istanze in esecuzione di un'applicazione viene automaticamente aumentato o ridotto (a zero) in base alle richieste in entrata e alle tue impostazioni di configurazione. Un'app contiene una o più revisioni. Una revisione rappresenta una versione immutabile delle proprietà di configurazione dell'app. Ogni aggiornamento di una proprietà di configurazione dell'app crea una nuova revisione dell'applicazione.

Quali sono le funzioni principali dell'utilizzo delle applicazioni Code Engine ?

Esamina i seguenti argomenti per ulteriori informazioni sull'utilizzo delle applicazioni in Code Engine.

Isolamento

Code Engine è un servizio regionale a più tenant in cui i tenant condividono la stessa rete e infrastruttura di calcolo. In particolare, la rete e l'infrastruttura di elaborazione sono risorse condivise e alcuni componenti di gestione sono comuni a tutti i tenant. Tuttavia, i tenant e i loro carichi di lavoro sono isolati l'uno dall'altro utilizzando progetti Code Engine. Code Engine impedisce la comunicazione tra progetti, fornendo l'isolamento alle tue applicazioni all'interno di un ambiente a più tenant. Inoltre, ci sono controlli di accesso che vengono eseguiti a livello di risorsa per consentire solo agli utenti autorizzati di eseguire determinate operazioni sulle risorse del progetto, come applicazioni o altri carichi di lavoro Code Engine.

Per ulteriori informazioni sull'isolamento del carico di lavoro, vedi Isolamento del carico di lavoroCode Engine.

Registrazione

Quando si lavora con le applicazioni Code Engine con la console e con i log abilitati, i log vengono inoltrati a un'istanza del servizio IBM Cloud Logs associata al progetto Code Engine. Nell'istanza del servizio IBM Cloud Logs, i log sono indicizzati, consentendo la ricerca full-text di tutti i messaggi generati e una comoda interrogazione basata su campi specifici. Consultare Richiamo dei log per le applicazioni.

Le informazioni sugli eventi di sistema possono essere utili anche per risolvere i problemi quando si eseguono i lavori. Puoi visualizzare le informazioni sugli eventi di sistema con la CLI. Consultare Richiamo delle informazioni sugli eventi di sistema per le applicazioni.

Per ulteriori informazioni sulla registrazione, vedi Visualizzazione dei log.

Esecuzione di applicazioni

Se il tuo codice esiste come origine in un file locale o in un repository Git o se il tuo codice è un'immagine del contenitore che esiste in un registro pubblico o privato, Code Engine ti fornisce un modo semplificato per eseguire il codice come un'applicazione.

Puoi distribuire ed eseguire le applicazioni in Code Engine nei seguenti modi:

  • Esegui da un'immagine contenitore esistente. Crea un'applicazione e fornisci un riferimento alla tua immagine da usare quando distribuisci la tua applicazione con Code Engine.

  • Eseguire dal codice sorgente esistente senza alcuna immagine contenitore. Se stai iniziando con il codice sorgente che si trova in un repository Git o sulla tua workstation locale, puoi puntare all'ubicazione della tua origine e Code Engine si occupa della creazione dell'immagine per te. Code Engine supporta la creazione da un pacchetto di build Dockerfile e Cloud Native, che esamina il tuo codice sorgente per determinare come deve essere creato e impacchettato come immagine del contenitore.

Per ulteriori informazioni sulla distribuzione e l'esecuzione delle applicazioni, vedi Gestione delle applicazioni in Code Engine.

Ridimensionamento

Code Engine le applicazioni si scalano verso l'alto o verso il basso a seconda delle richieste in entrata. Le applicazioni seguono il modello scale - to - zero, dove non vengono create istanze in assenza di traffico, portando all'ottimizzazione dei costi. Quando c'è una richiesta in entrata, un'app si adatta automaticamente da zero per accogliere il carico di lavoro.

Con Code Engine, puoi controllare il ridimensionamento automatico impostando il numero minimo e massimo di istanze. È anche possibile specificare la simultaneità dell'applicazione specificando il numero di richieste da eseguire in parallelo per un'istanza dell'applicazione specifica per aiutare a determinare quando viene eseguito il provisioning di una nuova istanza.

Per ulteriori informazioni sul ridimensionamento della tua applicazione, vedi Configurazione del ridimensionamento dell'applicazione.

Sicurezza

Code Engine fornisce una protezione DDOS immediata per la tua applicazione. La protezione DDOS di Code Engineè fornita da Cloud Internet Services (CIS) senza costi aggiuntivi per te. La protezione DDoS copre gli attacchi di protocollo OSI (System Interconnection) Layer 3 e Layer 4 (TCP/IP), ma non gli attacchi Layer 7 HTTP ). Vedere protezione DDoS.

Code Engine fornisce anche una rete di servizi per utilizzare il proprio livello di rete, che abilita il traffico TLS (Transport Layer Security) reciproco sulle applicazioni, proteggendo così la comunicazione service - to - service e user - to - service.

Per ulteriori informazioni sulla sicurezza, vedi Code Engine e la sicurezza.

Attivazione di applicazioni con eventi

Puoi configurare le tue applicazioni Code Engine per ricevere gli eventi cron, gli eventi IBM Cloud Object Storage o gli argomenti Kafka. Quando si effettua la sottoscrizione a un produttore di eventi, è necessario specificare il nome dell'applicazione di destinazione per ricevere gli eventi.

Per ulteriori informazioni sull'utilizzo dei produttori di eventi, vedi Introduzione alle sottoscrizioni.

Visibilità

Con Code Engine, puoi determinare il giusto livello di visibilità per la tua applicazione definendo gli endpoint o le associazioni del dominio di sistema disponibili per ricevere le richieste. Un'applicazione può essere esposta a Internet, alla rete privata IBM Cloud o limitata solo ad altre risorse nello stesso progetto Code Engine.

Per impostazione predefinita, ogni applicazione in esecuzione ottiene il suo proprio endpoint protetto TLS, che puoi associare al tuo dominio.

Inoltre, è possibile mappare il proprio dominio personalizzato a un'applicazione Code Engine per instradare le richieste dall' URL personalizzato alla propria applicazione. Se si desidera indicare come destinazione l'applicazione con un dominio di cui si è proprietari, è possibile utilizzare un'associazione di dominio personalizzata. Quando si imposta una mappatura di dominio personalizzata in Code Engine, si definisce una mappatura 1-to-1 tra il nome di dominio completamente qualificato (FQDN) e un'applicazione Code Engine nel progetto.

Per ulteriori informazioni sulla visibilità, vedi Opzioni per la visibilità per un'applicazione Code Engine e Configurazione delle associazioni di dominio personalizzate per la tua applicazione.

Come posso iniziare con le applicazioni?

Per distribuire una semplice applicazione Code Engine con l'immagine di esempio icr.io/codeengine/helloworld, vedi Creazione della tua prima applicazione Code Engine.

Inoltre, puoi provare un'esercitazione dell'applicazione, vedi Distribuzione e ridimensionamento delle applicazioni.

Per approfondire l'utilizzo delle applicazioni, vedi Gestione delle applicazioni in Code Engine.