Thierry  Perret

Thierry Perret

1650254653

Comment Déployer Un Microservice Kotlin Sur AWS Avec App Runner

Bonjour à tous. Dans ce didacticiel pas à pas, je voudrais vous montrer comment déployer un microservice Kotlin à l'aide de Docker et d'AWS App Runner.

Ensemble, nous apprendrons :

  • Qu'est-ce qu'AWS App Runner exactement ?
  • comment configurer l'interface de ligne de commande AWS sur votre machine locale
  • comment transférer des images Docker vers Amazon Elastic Container Registry (ECR)
  • et enfin, comment déployer notre application conteneurisée avec AWS App Runner

Je sais, cela peut sembler être une énorme quantité de travail. Mais je suis convaincu que vous découvrirez à quel point cela peut être simple avec la pile technologique ci-dessus.

Conditions préalables

Avant de commencer, assurez-vous que Docker est déjà installé sur votre machine locale. Nous devrons conteneuriser notre application.

Si vous n'avez pas Docker, la documentation officielle de Docker vous aidera à le configurer en quelques minutes.

Qu'est-ce qu'AWS App Runner exactement ?

Tout d'abord, prenons quelques minutes pour comprendre ce qu'est exactement AWS App Runner .

Pour le dire simplement, il s'agit d'un service entièrement géré qui vous permet de créer et de déployer facilement des applications Web et des API conteneurisées.

Il prend en charge de nombreuses choses, comme l'équilibrage de la charge du trafic ou la mise à l'échelle, ce qui aide les développeurs comme vous et moi à se concentrer sur le code.

AWS App Runner est souvent un excellent choix lors de la création d'une démonstration ou d'une preuve de concept, mais cela vaut également la peine d'être envisagé pour les petites équipes sans personne dédiée travaillant sur l'infrastructure.

Comment créer un microservice Kotlin simple

Cela étant dit, préparons une API REST simple en utilisant Kotlin et Ktor.

Si vous n'êtes pas intéressé par l'implémentation de Ktor, vous pouvez simplement cloner ce référentiel GitHub et passer à l' étape Comment créer l'image Docker .

Si vous utilisez IntelliJ IDEA Ultimate Edition, vous pouvez créer un projet Ktor à l'aide de l'application. Sinon, vous pouvez utiliser l' outil Ktor Project Generator et télécharger le projet sur votre ordinateur local.

Quel que soit votre choix, assurez-vous d'importer les plugins suivants :

  • ContenuNégociation
  • kotlinx.sérialisation
  • Routage

Comment configurer la sérialisation

Après avoir importé le projet, créez le Serialization.ktfichier et enregistrez application/jsonle type de contenu dans la fonctionnalité ContentNegotiation :

fun Application.configureSerialization() {
    install(ContentNegotiation) {
        json()
    }
}

En termes simples, avec cet extrait de code, nous pourrons sérialiser des objets Kotlin en JSON (et désérialiser également le JSON en objets).

Comment créer un DTO

Implémentons maintenant une MessageDtoclasse de données comme celle-ci :

@Serializable
data class MessageDto(val message: String)

Fondamentalement, nous utiliserons cette classe générique pour fournir des messages à nos consommateurs d'API.

Comment exposer les terminaux

À l'étape suivante, créons un Routing.ktfichier et exposons un nouveau point de terminaison :

fun Application.configureRouting() {
    routing {
        helloWorldRoute()
    }
}

fun Routing.helloWorldRoute() {
    route("/hello") {
        get {
            call.respond(HttpStatusCode.OK, MessageDto("Hello World!"))
        }
    }
}

Comme vous pouvez le voir, notre application répondra avec un code d'état 200 OKGET à chaque demande au /hellochemin.

Comment configurer l'application

Maintenant, combinons tout à l'intérieur du Application.ktfichier :

fun main() {
    embeddedServer(Netty, port = 8080, host = "0.0.0.0") {
        configureRouting()
        configureSerialization()
    }.start(wait = true)
}

Comme vous pouvez le voir, notre microservice Kotlin sera un serveur embarqué Netty fonctionnant sur localhost:8080.

Je vous encourage vivement à lancer l'application et à vérifier que tout fonctionne correctement :

GET localhost:8080/hello

Status: 200 OK
Response Body: 
{
    "message": "Hello World!"
}

Comment implémenter le Dockerfile

Enfin, ajoutons le Dockerfileau répertoire racine de notre projet :

FROM openjdk:8-jdk
EXPOSE 8080:8080
RUN mkdir /app
COPY ./build/install/com.codersee.ktor-app-runner/ /app/
WORKDIR /app/bin
CMD ["./com.codersee.ktor-app-runner"]

Assurez-vous que le répertoire spécifié pour les commandes COPYet CMDcorrespond à la valeur de rootProject.namedans le settings.gradle.ktsfichier. Si le nom du projet est xyz, ces commandes doivent refléter cela :

...
COPY ./build/install/xyz/ /app/
...
CMD ["./xyz"]

Comment construire l'image Docker

À ce stade, nous avons tout ce dont nous avons besoin pour créer notre Docker Image , que nous utiliserons plus tard pour le déploiement d' AWS App Runner .

Exécutez la commande Gradle

Dans un premier temps, exécutons la installDistcommande avec Gradle Wrapper :

./gradlew installDist

La commande ci-dessus est responsable de l'assemblage du contenu de la distribution et de son installation sur la machine actuelle. Bien que cela puisse sembler difficile, cela créera simplement les fichiers nécessaires dans le ./build/install/{project-name}/répertoire.

Créer l'image Docker

À l'étape suivante, construisons une image Docker :

 docker build -t ktor-aws-runner . 

Comme vous pouvez le voir, nous avons nommé notre image souhaitée ktor-aws-runneravec l' -toption (un raccourci pour --tag).

Vérifier la configuration Docker

Enfin, exécutons notre conteneur pour nous assurer que notre microservice Kotlin fonctionne correctement :

docker run -p 8080:8080 ktor-aws-runner

En guise d'explication, le -pdrapeau ( --port) est responsable de la publication du port du conteneur sur le 8080port hôte 8080.

Cela étant fait, après quelques secondes, nous devrions voir le message suivant dans les journaux :

Application started in 0.078 seconds

De même, nous pouvons effectuer une requête GET pour vérifier si le point de terminaison exposé répond correctement.

Comment créer et configurer un utilisateur AWS

Avec tout cela fait, nous pouvons enfin commencer à travailler avec AWS. Mais avant de pouvoir pousser notre image Docker, nous devons nous assurer que l' AWS CLI est installée sur notre machine locale.

Nous pouvons le faire facilement avec la commande ci-dessous :

 aws --version
 
 # Result:
 aws-cli/2.5.3 Python/3.9.11 Windows/10 exe/AMD64 prompt/off

Le résultat ci-dessus indique que tout est configuré correctement. Néanmoins, si nous souhaitons installer ou mettre à jour la CLI, alors AWS est livré avec un très bon article à ce sujet dans leur documentation officielle .

De plus, nous devons avoir accès à AWS Cloud depuis notre ordinateur - et c'est ce que nous allons configurer dans cette étape.

Afin de configurer l'accès, connectons-nous à AWS Management Console et naviguons jusqu'à la fonction Utilisateurs de la console IAM . Nous pouvons le faire facilement avec la barre de recherche en haut :

L'image montre les résultats de la recherche pour la requête des utilisateurs dans AWS Management Console

Sur la page suivante, cliquons sur le bouton Ajouter des utilisateurs :

L'image montre une liste vide d'utilisateurs dans la console AWS IAM

Ensuite, nous spécifierons le nom d'utilisateur préféré avec la clé d'accès - type d'informations d'identification d'accès programmatique :

L'image montre les options de nom d'utilisateur et de type d'accès AWS pour le nouvel utilisateur

Avec ces paramètres, nous pourrons accéder à AWS en utilisant une combinaison de clé d'accès et de secret.

Ceci étant fait, cliquons sur le bouton Suivant. Sur cette page, nous devons sélectionner le groupe pour notre utilisateur. Pour les besoins de ce tutoriel, créons-en un nouveau, en utilisant le bouton visible ci-dessous :

L'image montre les autorisations et les paramètres de limite d'autorisations pour le nouvel utilisateur

Ensuite, spécifions un nom de groupe ( admin-groupdans mon cas) dans le modal et sélectionnons AdministratorAccess :

Pour plus de simplicité, nous allons utiliser l'AdministratorAccess. Mais dans des scénarios réels, nous devons toujours nous en tenir au principe du moindre privilège.

L'image montre le nouveau nom de groupe avec la stratégie sélectionnée - AdministratorAccess

Une fois le groupe créé, cliquons à nouveau sur le bouton Suivant :

L'image montre les groupes existants et le groupe d'administrateurs sélectionné

Sur la page suivante, nous avons la possibilité d'ajouter des balises personnalisées en tant que paires clé-valeur.

Mais nous n'en aurons pas besoin aujourd'hui, alors sautons simplement cette page :

L'image montre le formulaire d'ajout de balises (facultatif)

Enfin, nous serons redirigés vers la page Review , où nous pourrons valider nos étapes précédentes :

L'image présente Examiner les détails du nouvel utilisateur

Comme vous pouvez le voir, tout semble bon, alors cliquons sur Créer un utilisateur :

L'image montre l'utilisateur créé

L'utilisateur a été créé avec succès, nous pouvons donc enfin importer nos clés d'accès et secrètes.

Gardez à l'esprit que les clés d'accès et secrètes sont des données hautement confidentielles et que vous ne devez jamais les partager avec qui que ce soit !

Cliquons sur le bouton Télécharger .csv et récupérons le fichier. Personnellement, je l'ai nommé some_user_credentials.csv, mais n'hésitez pas à choisir le nom que vous aimez (et souvenez-vous-en :) ).

Ensuite, naviguons jusqu'au répertoire de téléchargement et exécutons la commande suivante :

 aws configure import --csv file://some_user_credentials.csv
 
 # Result:
 Successfully imported 1 profile(s)

Compte tenu du message ci-dessus, nous pouvons nous attendre à ce que tout soit correctement configuré. De plus, nous pouvons vérifier qu'un nouveau fichier appelé credentialsa été créé (ou mis à jour) dans le .awsrépertoire.

Si vous utilisez Windows alors votre chemin sera   C:\Users\[your_user_name]\.aws:

[some-admin]
aws_access_key_id = [your access key id] 
aws_secret_access_key = [your secret] 

Comment pousser l'image Docker vers ECR

À ce stade, notre CLI est correctement préparée, nous pouvons donc apprendre à pousser notre image Docker locale vers Elastic Container Registry .

Dans un premier temps, revenons à la console de gestion et saisissez registre de conteneurs dans la barre de recherche :

L'image montre les résultats de la recherche pour la requête "reqistry de conteneurs"

Cliquons sur Elastic Container Registry et sur la page suivante, le bouton Create repository . Sur la page suivante, sélectionnons un dépôt privé et spécifions-lui un nom :

L'image montre la création des paramètres généraux du référentiel

Pour le reste des paramètres, laissons les valeurs par défaut, comme ci-dessous :

L'image montre les paramètres de numérisation et de cryptage des images

Enfin, cliquons sur le bouton Créer un référentiel .

Après cela, nous serons redirigés vers la liste des référentiels privés, qui contient désormais notre référentiel nouvellement créé :

L'image présente des référentiels privés avec un élément - my-ktor-registry sur la liste

Copions l'URI et spécifions la commande suivante dans le terminal sur notre machine locale :

docker tag ktor-aws-runner:latest [your_registry_uri]:latest

# Example: docker tag ktor-aws-runner:latest 111111111111.dkr.ecr.us-east-1.amazonaws.com/my-ktor-registry:latest

Pourquoi avons-nous besoin de cela? Eh bien, en gros, lorsque nous travaillons avec Docker, nous devons baliser les images avec l'hôte et le port de registre (si nécessaire) afin de les pousser vers n'importe quel référentiel privé.

Cela étant fait, authentifions-nous auprès du registre Amazon ECR :

aws ecr get-login-password --profile some-admin --region us-east-1 | docker login --username AWS --password-stdin [your registry URI]

# Result:
Login Succeeded

Après cela, nous pouvons exécuter la git pushcommande afin de pousser l'image vers ECR :

docker push [your_tagged_image] 

# Example: docker push 111111111111.dkr.ecr.us-east-1.amazonaws.com/my-ktor-registry:latest

Selon votre connexion, cela peut prendre un certain temps, mais finalement, nous devrions voir la liste des mises à jour dans notre référentiel :

L'image montre les images my-ktor-registry avec un élément - le dernier sur la liste

Comment déployer l'application sur AWS App Runner

Nous avons maintenant tout ce dont nous avons besoin pour partager notre microservice Kotlin avec le monde :)

Revenons à la console de gestion et recherchons l'exécuteur d'application :

L'image présente les résultats de la recherche pour la requête de l'exécuteur d'application

Sur la page suivante, cliquons sur le bouton Créer un service .

Pour la configuration Source, choisissons le registre Container avec Amazon ECR :

L'image présente les paramètres de source et de déploiement pour le nouveau déploiement

Comme vous l'avez peut-être remarqué, AWS App Runner peut déployer des services directement à partir d'un référentiel de code source. Si vous êtes intéressé par une telle configuration, contactez-moi simplement par e-mail (contact[at]codersee[dot]com).

Ensuite, cliquons sur Parcourir et sélectionnons l'image créée précédemment :

L'image présente le référentiel d'images sélectionné et la balise d'image

Cliquons sur Continuer et pour les paramètres de déploiement, choisissons Manuel et Créer un nouveau rôle de service :

L'image montre le déclencheur de déploiement, le rôle d'accès ECR et le nom du rôle de service

Le nom du rôle n'est pas important dans ce didacticiel, nous pouvons donc spécifier n'importe quelle valeur.

À l'étape suivante, cliquons sur Suivant et sur la page suivante, fournissons un nom de service ainsi que des informations sur le processeur , la mémoire et le port :

19

L'image présente le nom du service, le processeur, la mémoire, les variables d'environnement, le port et les paramètres de configuration supplémentaires

Comme vous pouvez le voir, nous avons choisi la combinaison minimale disponible (et c'est ce que je vous suggère de faire également).

Si nous souhaitons spécifier des variables d'environnement supplémentaires ou une commande de démarrage personnalisée, cette page nous permet de le faire. Mais nous n'aurons besoin d'aucune variable d'environnement et nous avons déjà ajouté une commande de démarrage à notre image Docker, alors laissons-la telle quelle.

Sur la page Auto scaling, sélectionnez la configuration personnalisée :

L'image montre les paramètres de mise à l'échelle automatique avec un jeu de configuration personnalisé

Ensuite, créons une nouvelle configuration appelée my-configuration :

L'image montre l'ajout d'un module de configuration de mise à l'échelle automatique personnalisée

Comme je l'ai mentionné au début, AWS App Runner s'occupe de beaucoup de choses prêtes à l'emploi. L'un d'eux est la mise à l'échelle automatique. Bien qu'il s'agisse d'une fonctionnalité intéressante, nous devons la limiter à nos préférences et toujours nous rappeler que plus de ressources signifient des coûts plus élevés.

Comme vous pouvez le voir ci-dessus, cet exemple de configuration ne fera pas évoluer notre microservice Kotlin . Cependant, si nous augmentons la taille maximale, une nouvelle instance sera créée à chaque fois que le nombre de requêtes simultanées augmente de 10.

Ajoutons la configuration ci-dessus et laissons le reste des éléments avec leurs valeurs par défaut. Après avoir cliqué sur Suivant, nous verrons la page de révision avec le résumé du déploiement.

Sur cette page, cliquons sur le Create and Deploybouton qui lancera le processus de déploiement :

L'image présente le processus de déploiement AWS App Runner démarré

L'image présente l'événement de journaux de déploiement appelé Créer un service

Et encore une fois, ce processus peut prendre quelques minutes. Une fois terminé, le statut passera de Operation in progressà Runninget nous pourrons tester notre API REST Ktor.

Comme précédemment, testons le point de GET /helloterminaison. Mais cette fois, en tant que nom d'hôte de notre microservice, nous devons utiliser la valeur de Default domain:

#Example: 

GET https://aaaaaaaaaa.us-east-1.awsapprunner.com/hello

Status: 200 OK
Response Body: 
{
    "message": "Hello World!"
}

🛑 Avis important

N'oubliez pas de supprimer toutes les ressources que nous avons créées aujourd'hui , afin qu'elles ne vous soient pas facturées.

Il est vraiment facile d'oublier tout ce que nous créons lors de l'apprentissage d'AWS Cloud et à un moment donné, vous pouvez dépasser votre quota gratuit. Il est donc recommandé de supprimer tout cela.

Résumé

Et c'est tout pour ce didacticiel sur le déploiement du microservice Kotlin sur le cloud AWS avec AWS App Runner. J'espère vraiment qu'après avoir suivi ce guide, vous pourrez facilement déployer vos applications sur Amazon Cloud.

Si vous avez apprécié ce matériel, vous voudrez peut-être consulter mes autres articles . Sur mon blog, je couvre de nombreux sujets liés à Kotlin, Ktor et Spring Boot.

Link: https://www.freecodecamp.org/news/kotlin-aws-app-runner/

#aws #kotlin #microservice 

What is GEEK

Buddha Community

Comment Déployer Un Microservice Kotlin Sur AWS Avec App Runner
Thierry  Perret

Thierry Perret

1650254653

Comment Déployer Un Microservice Kotlin Sur AWS Avec App Runner

Bonjour à tous. Dans ce didacticiel pas à pas, je voudrais vous montrer comment déployer un microservice Kotlin à l'aide de Docker et d'AWS App Runner.

Ensemble, nous apprendrons :

  • Qu'est-ce qu'AWS App Runner exactement ?
  • comment configurer l'interface de ligne de commande AWS sur votre machine locale
  • comment transférer des images Docker vers Amazon Elastic Container Registry (ECR)
  • et enfin, comment déployer notre application conteneurisée avec AWS App Runner

Je sais, cela peut sembler être une énorme quantité de travail. Mais je suis convaincu que vous découvrirez à quel point cela peut être simple avec la pile technologique ci-dessus.

Conditions préalables

Avant de commencer, assurez-vous que Docker est déjà installé sur votre machine locale. Nous devrons conteneuriser notre application.

Si vous n'avez pas Docker, la documentation officielle de Docker vous aidera à le configurer en quelques minutes.

Qu'est-ce qu'AWS App Runner exactement ?

Tout d'abord, prenons quelques minutes pour comprendre ce qu'est exactement AWS App Runner .

Pour le dire simplement, il s'agit d'un service entièrement géré qui vous permet de créer et de déployer facilement des applications Web et des API conteneurisées.

Il prend en charge de nombreuses choses, comme l'équilibrage de la charge du trafic ou la mise à l'échelle, ce qui aide les développeurs comme vous et moi à se concentrer sur le code.

AWS App Runner est souvent un excellent choix lors de la création d'une démonstration ou d'une preuve de concept, mais cela vaut également la peine d'être envisagé pour les petites équipes sans personne dédiée travaillant sur l'infrastructure.

Comment créer un microservice Kotlin simple

Cela étant dit, préparons une API REST simple en utilisant Kotlin et Ktor.

Si vous n'êtes pas intéressé par l'implémentation de Ktor, vous pouvez simplement cloner ce référentiel GitHub et passer à l' étape Comment créer l'image Docker .

Si vous utilisez IntelliJ IDEA Ultimate Edition, vous pouvez créer un projet Ktor à l'aide de l'application. Sinon, vous pouvez utiliser l' outil Ktor Project Generator et télécharger le projet sur votre ordinateur local.

Quel que soit votre choix, assurez-vous d'importer les plugins suivants :

  • ContenuNégociation
  • kotlinx.sérialisation
  • Routage

Comment configurer la sérialisation

Après avoir importé le projet, créez le Serialization.ktfichier et enregistrez application/jsonle type de contenu dans la fonctionnalité ContentNegotiation :

fun Application.configureSerialization() {
    install(ContentNegotiation) {
        json()
    }
}

En termes simples, avec cet extrait de code, nous pourrons sérialiser des objets Kotlin en JSON (et désérialiser également le JSON en objets).

Comment créer un DTO

Implémentons maintenant une MessageDtoclasse de données comme celle-ci :

@Serializable
data class MessageDto(val message: String)

Fondamentalement, nous utiliserons cette classe générique pour fournir des messages à nos consommateurs d'API.

Comment exposer les terminaux

À l'étape suivante, créons un Routing.ktfichier et exposons un nouveau point de terminaison :

fun Application.configureRouting() {
    routing {
        helloWorldRoute()
    }
}

fun Routing.helloWorldRoute() {
    route("/hello") {
        get {
            call.respond(HttpStatusCode.OK, MessageDto("Hello World!"))
        }
    }
}

Comme vous pouvez le voir, notre application répondra avec un code d'état 200 OKGET à chaque demande au /hellochemin.

Comment configurer l'application

Maintenant, combinons tout à l'intérieur du Application.ktfichier :

fun main() {
    embeddedServer(Netty, port = 8080, host = "0.0.0.0") {
        configureRouting()
        configureSerialization()
    }.start(wait = true)
}

Comme vous pouvez le voir, notre microservice Kotlin sera un serveur embarqué Netty fonctionnant sur localhost:8080.

Je vous encourage vivement à lancer l'application et à vérifier que tout fonctionne correctement :

GET localhost:8080/hello

Status: 200 OK
Response Body: 
{
    "message": "Hello World!"
}

Comment implémenter le Dockerfile

Enfin, ajoutons le Dockerfileau répertoire racine de notre projet :

FROM openjdk:8-jdk
EXPOSE 8080:8080
RUN mkdir /app
COPY ./build/install/com.codersee.ktor-app-runner/ /app/
WORKDIR /app/bin
CMD ["./com.codersee.ktor-app-runner"]

Assurez-vous que le répertoire spécifié pour les commandes COPYet CMDcorrespond à la valeur de rootProject.namedans le settings.gradle.ktsfichier. Si le nom du projet est xyz, ces commandes doivent refléter cela :

...
COPY ./build/install/xyz/ /app/
...
CMD ["./xyz"]

Comment construire l'image Docker

À ce stade, nous avons tout ce dont nous avons besoin pour créer notre Docker Image , que nous utiliserons plus tard pour le déploiement d' AWS App Runner .

Exécutez la commande Gradle

Dans un premier temps, exécutons la installDistcommande avec Gradle Wrapper :

./gradlew installDist

La commande ci-dessus est responsable de l'assemblage du contenu de la distribution et de son installation sur la machine actuelle. Bien que cela puisse sembler difficile, cela créera simplement les fichiers nécessaires dans le ./build/install/{project-name}/répertoire.

Créer l'image Docker

À l'étape suivante, construisons une image Docker :

 docker build -t ktor-aws-runner . 

Comme vous pouvez le voir, nous avons nommé notre image souhaitée ktor-aws-runneravec l' -toption (un raccourci pour --tag).

Vérifier la configuration Docker

Enfin, exécutons notre conteneur pour nous assurer que notre microservice Kotlin fonctionne correctement :

docker run -p 8080:8080 ktor-aws-runner

En guise d'explication, le -pdrapeau ( --port) est responsable de la publication du port du conteneur sur le 8080port hôte 8080.

Cela étant fait, après quelques secondes, nous devrions voir le message suivant dans les journaux :

Application started in 0.078 seconds

De même, nous pouvons effectuer une requête GET pour vérifier si le point de terminaison exposé répond correctement.

Comment créer et configurer un utilisateur AWS

Avec tout cela fait, nous pouvons enfin commencer à travailler avec AWS. Mais avant de pouvoir pousser notre image Docker, nous devons nous assurer que l' AWS CLI est installée sur notre machine locale.

Nous pouvons le faire facilement avec la commande ci-dessous :

 aws --version
 
 # Result:
 aws-cli/2.5.3 Python/3.9.11 Windows/10 exe/AMD64 prompt/off

Le résultat ci-dessus indique que tout est configuré correctement. Néanmoins, si nous souhaitons installer ou mettre à jour la CLI, alors AWS est livré avec un très bon article à ce sujet dans leur documentation officielle .

De plus, nous devons avoir accès à AWS Cloud depuis notre ordinateur - et c'est ce que nous allons configurer dans cette étape.

Afin de configurer l'accès, connectons-nous à AWS Management Console et naviguons jusqu'à la fonction Utilisateurs de la console IAM . Nous pouvons le faire facilement avec la barre de recherche en haut :

L'image montre les résultats de la recherche pour la requête des utilisateurs dans AWS Management Console

Sur la page suivante, cliquons sur le bouton Ajouter des utilisateurs :

L'image montre une liste vide d'utilisateurs dans la console AWS IAM

Ensuite, nous spécifierons le nom d'utilisateur préféré avec la clé d'accès - type d'informations d'identification d'accès programmatique :

L'image montre les options de nom d'utilisateur et de type d'accès AWS pour le nouvel utilisateur

Avec ces paramètres, nous pourrons accéder à AWS en utilisant une combinaison de clé d'accès et de secret.

Ceci étant fait, cliquons sur le bouton Suivant. Sur cette page, nous devons sélectionner le groupe pour notre utilisateur. Pour les besoins de ce tutoriel, créons-en un nouveau, en utilisant le bouton visible ci-dessous :

L'image montre les autorisations et les paramètres de limite d'autorisations pour le nouvel utilisateur

Ensuite, spécifions un nom de groupe ( admin-groupdans mon cas) dans le modal et sélectionnons AdministratorAccess :

Pour plus de simplicité, nous allons utiliser l'AdministratorAccess. Mais dans des scénarios réels, nous devons toujours nous en tenir au principe du moindre privilège.

L'image montre le nouveau nom de groupe avec la stratégie sélectionnée - AdministratorAccess

Une fois le groupe créé, cliquons à nouveau sur le bouton Suivant :

L'image montre les groupes existants et le groupe d'administrateurs sélectionné

Sur la page suivante, nous avons la possibilité d'ajouter des balises personnalisées en tant que paires clé-valeur.

Mais nous n'en aurons pas besoin aujourd'hui, alors sautons simplement cette page :

L'image montre le formulaire d'ajout de balises (facultatif)

Enfin, nous serons redirigés vers la page Review , où nous pourrons valider nos étapes précédentes :

L'image présente Examiner les détails du nouvel utilisateur

Comme vous pouvez le voir, tout semble bon, alors cliquons sur Créer un utilisateur :

L'image montre l'utilisateur créé

L'utilisateur a été créé avec succès, nous pouvons donc enfin importer nos clés d'accès et secrètes.

Gardez à l'esprit que les clés d'accès et secrètes sont des données hautement confidentielles et que vous ne devez jamais les partager avec qui que ce soit !

Cliquons sur le bouton Télécharger .csv et récupérons le fichier. Personnellement, je l'ai nommé some_user_credentials.csv, mais n'hésitez pas à choisir le nom que vous aimez (et souvenez-vous-en :) ).

Ensuite, naviguons jusqu'au répertoire de téléchargement et exécutons la commande suivante :

 aws configure import --csv file://some_user_credentials.csv
 
 # Result:
 Successfully imported 1 profile(s)

Compte tenu du message ci-dessus, nous pouvons nous attendre à ce que tout soit correctement configuré. De plus, nous pouvons vérifier qu'un nouveau fichier appelé credentialsa été créé (ou mis à jour) dans le .awsrépertoire.

Si vous utilisez Windows alors votre chemin sera   C:\Users\[your_user_name]\.aws:

[some-admin]
aws_access_key_id = [your access key id] 
aws_secret_access_key = [your secret] 

Comment pousser l'image Docker vers ECR

À ce stade, notre CLI est correctement préparée, nous pouvons donc apprendre à pousser notre image Docker locale vers Elastic Container Registry .

Dans un premier temps, revenons à la console de gestion et saisissez registre de conteneurs dans la barre de recherche :

L'image montre les résultats de la recherche pour la requête "reqistry de conteneurs"

Cliquons sur Elastic Container Registry et sur la page suivante, le bouton Create repository . Sur la page suivante, sélectionnons un dépôt privé et spécifions-lui un nom :

L'image montre la création des paramètres généraux du référentiel

Pour le reste des paramètres, laissons les valeurs par défaut, comme ci-dessous :

L'image montre les paramètres de numérisation et de cryptage des images

Enfin, cliquons sur le bouton Créer un référentiel .

Après cela, nous serons redirigés vers la liste des référentiels privés, qui contient désormais notre référentiel nouvellement créé :

L'image présente des référentiels privés avec un élément - my-ktor-registry sur la liste

Copions l'URI et spécifions la commande suivante dans le terminal sur notre machine locale :

docker tag ktor-aws-runner:latest [your_registry_uri]:latest

# Example: docker tag ktor-aws-runner:latest 111111111111.dkr.ecr.us-east-1.amazonaws.com/my-ktor-registry:latest

Pourquoi avons-nous besoin de cela? Eh bien, en gros, lorsque nous travaillons avec Docker, nous devons baliser les images avec l'hôte et le port de registre (si nécessaire) afin de les pousser vers n'importe quel référentiel privé.

Cela étant fait, authentifions-nous auprès du registre Amazon ECR :

aws ecr get-login-password --profile some-admin --region us-east-1 | docker login --username AWS --password-stdin [your registry URI]

# Result:
Login Succeeded

Après cela, nous pouvons exécuter la git pushcommande afin de pousser l'image vers ECR :

docker push [your_tagged_image] 

# Example: docker push 111111111111.dkr.ecr.us-east-1.amazonaws.com/my-ktor-registry:latest

Selon votre connexion, cela peut prendre un certain temps, mais finalement, nous devrions voir la liste des mises à jour dans notre référentiel :

L'image montre les images my-ktor-registry avec un élément - le dernier sur la liste

Comment déployer l'application sur AWS App Runner

Nous avons maintenant tout ce dont nous avons besoin pour partager notre microservice Kotlin avec le monde :)

Revenons à la console de gestion et recherchons l'exécuteur d'application :

L'image présente les résultats de la recherche pour la requête de l'exécuteur d'application

Sur la page suivante, cliquons sur le bouton Créer un service .

Pour la configuration Source, choisissons le registre Container avec Amazon ECR :

L'image présente les paramètres de source et de déploiement pour le nouveau déploiement

Comme vous l'avez peut-être remarqué, AWS App Runner peut déployer des services directement à partir d'un référentiel de code source. Si vous êtes intéressé par une telle configuration, contactez-moi simplement par e-mail (contact[at]codersee[dot]com).

Ensuite, cliquons sur Parcourir et sélectionnons l'image créée précédemment :

L'image présente le référentiel d'images sélectionné et la balise d'image

Cliquons sur Continuer et pour les paramètres de déploiement, choisissons Manuel et Créer un nouveau rôle de service :

L'image montre le déclencheur de déploiement, le rôle d'accès ECR et le nom du rôle de service

Le nom du rôle n'est pas important dans ce didacticiel, nous pouvons donc spécifier n'importe quelle valeur.

À l'étape suivante, cliquons sur Suivant et sur la page suivante, fournissons un nom de service ainsi que des informations sur le processeur , la mémoire et le port :

19

L'image présente le nom du service, le processeur, la mémoire, les variables d'environnement, le port et les paramètres de configuration supplémentaires

Comme vous pouvez le voir, nous avons choisi la combinaison minimale disponible (et c'est ce que je vous suggère de faire également).

Si nous souhaitons spécifier des variables d'environnement supplémentaires ou une commande de démarrage personnalisée, cette page nous permet de le faire. Mais nous n'aurons besoin d'aucune variable d'environnement et nous avons déjà ajouté une commande de démarrage à notre image Docker, alors laissons-la telle quelle.

Sur la page Auto scaling, sélectionnez la configuration personnalisée :

L'image montre les paramètres de mise à l'échelle automatique avec un jeu de configuration personnalisé

Ensuite, créons une nouvelle configuration appelée my-configuration :

L'image montre l'ajout d'un module de configuration de mise à l'échelle automatique personnalisée

Comme je l'ai mentionné au début, AWS App Runner s'occupe de beaucoup de choses prêtes à l'emploi. L'un d'eux est la mise à l'échelle automatique. Bien qu'il s'agisse d'une fonctionnalité intéressante, nous devons la limiter à nos préférences et toujours nous rappeler que plus de ressources signifient des coûts plus élevés.

Comme vous pouvez le voir ci-dessus, cet exemple de configuration ne fera pas évoluer notre microservice Kotlin . Cependant, si nous augmentons la taille maximale, une nouvelle instance sera créée à chaque fois que le nombre de requêtes simultanées augmente de 10.

Ajoutons la configuration ci-dessus et laissons le reste des éléments avec leurs valeurs par défaut. Après avoir cliqué sur Suivant, nous verrons la page de révision avec le résumé du déploiement.

Sur cette page, cliquons sur le Create and Deploybouton qui lancera le processus de déploiement :

L'image présente le processus de déploiement AWS App Runner démarré

L'image présente l'événement de journaux de déploiement appelé Créer un service

Et encore une fois, ce processus peut prendre quelques minutes. Une fois terminé, le statut passera de Operation in progressà Runninget nous pourrons tester notre API REST Ktor.

Comme précédemment, testons le point de GET /helloterminaison. Mais cette fois, en tant que nom d'hôte de notre microservice, nous devons utiliser la valeur de Default domain:

#Example: 

GET https://aaaaaaaaaa.us-east-1.awsapprunner.com/hello

Status: 200 OK
Response Body: 
{
    "message": "Hello World!"
}

🛑 Avis important

N'oubliez pas de supprimer toutes les ressources que nous avons créées aujourd'hui , afin qu'elles ne vous soient pas facturées.

Il est vraiment facile d'oublier tout ce que nous créons lors de l'apprentissage d'AWS Cloud et à un moment donné, vous pouvez dépasser votre quota gratuit. Il est donc recommandé de supprimer tout cela.

Résumé

Et c'est tout pour ce didacticiel sur le déploiement du microservice Kotlin sur le cloud AWS avec AWS App Runner. J'espère vraiment qu'après avoir suivi ce guide, vous pourrez facilement déployer vos applications sur Amazon Cloud.

Si vous avez apprécié ce matériel, vous voudrez peut-être consulter mes autres articles . Sur mon blog, je couvre de nombreux sujets liés à Kotlin, Ktor et Spring Boot.

Link: https://www.freecodecamp.org/news/kotlin-aws-app-runner/

#aws #kotlin #microservice 

How to Develop an Android App with Kotlin?

Do you have an idea to develop an android app using Kotlin?

Are you looking for the best Kotlin app development company in the USA? We at AppClues Infotech offering versatile mobile app development services in the USA. We provide custom mobile app development solutions as per your specific business needs with the prevailing market trending technology & features.

Hire our top-notch Kotlin app designers & developers for your project at a cost-effective price.

Our Kotlin App Development Services:
• Custom Android App Development
• Kotlin AR/VR App Development
• Kotlin App UI/UX Design
• Kotlin App QA & Testing- code Optimization
• Kotlin App Migrations
• Kotlin App Maintenance and Upgrades

For more info:
Website: https://www.appcluesinfotech.com/
Email: info@appcluesinfotech.com
Call: +1-978-309-9910

#kotlin android app development company #best kotlin android app development usa #kotlin android app development #kotlin for android app development #kotlin mobile app development service #create android app with kotlin

Top Kotlin Android App Development Company in USA

Looking for a top Kotlin Android app development company for creating an Android app project? AppClues Infotech is a top Kotlin Android app development company in USA that delivers the most scalable and efficient Kotlin app development services globally.

For more info:
Website: https://www.appcluesinfotech.com/
Email: info@appcluesinfotech.com
Call: +1-978-309-9910

#kotlin android app development company #best kotlin android app development usa #kotlin android app development #kotlin for android app development #kotlin mobile app development service #create android app with kotlin

Top-notch Kotlin App Development Company in USA

Are you looking for the best Kotlin Android App Development Company in USA? We at AppClues Infotech help to create a successful kotlin Android App with creative technology & features at competitive price.

For more info:
Website: https://www.appcluesinfotech.com/
Email: info@appcluesinfotech.com
Call: +1-978-309-9910

#kotlin android app development company #best kotlin android app development usa #kotlin android app development #kotlin for android app development #kotlin mobile app development service #create android app with kotlin

Carmen  Grimes

Carmen Grimes

1595494844

How to start an electric scooter facility/fleet in a university campus/IT park

Are you leading an organization that has a large campus, e.g., a large university? You are probably thinking of introducing an electric scooter/bicycle fleet on the campus, and why wouldn’t you?

Introducing micro-mobility in your campus with the help of such a fleet would help the people on the campus significantly. People would save money since they don’t need to use a car for a short distance. Your campus will see a drastic reduction in congestion, moreover, its carbon footprint will reduce.

Micro-mobility is relatively new though and you would need help. You would need to select an appropriate fleet of vehicles. The people on your campus would need to find electric scooters or electric bikes for commuting, and you need to provide a solution for this.

To be more specific, you need a short-term electric bike rental app. With such an app, you will be able to easily offer micro-mobility to the people on the campus. We at Devathon have built Autorent exactly for this.

What does Autorent do and how can it help you? How does it enable you to introduce micro-mobility on your campus? We explain these in this article, however, we will touch upon a few basics first.

Micro-mobility: What it is

micro-mobility

You are probably thinking about micro-mobility relatively recently, aren’t you? A few relevant insights about it could help you to better appreciate its importance.

Micro-mobility is a new trend in transportation, and it uses vehicles that are considerably smaller than cars. Electric scooters (e-scooters) and electric bikes (e-bikes) are the most popular forms of micro-mobility, however, there are also e-unicycles and e-skateboards.

You might have already seen e-scooters, which are kick scooters that come with a motor. Thanks to its motor, an e-scooter can achieve a speed of up to 20 km/h. On the other hand, e-bikes are popular in China and Japan, and they come with a motor, and you can reach a speed of 40 km/h.

You obviously can’t use these vehicles for very long commutes, however, what if you need to travel a short distance? Even if you have a reasonable public transport facility in the city, it might not cover the route you need to take. Take the example of a large university campus. Such a campus is often at a considerable distance from the central business district of the city where it’s located. While public transport facilities may serve the central business district, they wouldn’t serve this large campus. Currently, many people drive their cars even for short distances.

As you know, that brings its own set of challenges. Vehicular traffic adds significantly to pollution, moreover, finding a parking spot can be hard in crowded urban districts.

Well, you can reduce your carbon footprint if you use an electric car. However, electric cars are still new, and many countries are still building the necessary infrastructure for them. Your large campus might not have the necessary infrastructure for them either. Presently, electric cars don’t represent a viable option in most geographies.

As a result, you need to buy and maintain a car even if your commute is short. In addition to dealing with parking problems, you need to spend significantly on your car.

All of these factors have combined to make people sit up and think seriously about cars. Many people are now seriously considering whether a car is really the best option even if they have to commute only a short distance.

This is where micro-mobility enters the picture. When you commute a short distance regularly, e-scooters or e-bikes are viable options. You limit your carbon footprints and you cut costs!

Businesses have seen this shift in thinking, and e-scooter companies like Lime and Bird have entered this field in a big way. They let you rent e-scooters by the minute. On the other hand, start-ups like Jump and Lyft have entered the e-bike market.

Think of your campus now! The people there might need to travel short distances within the campus, and e-scooters can really help them.

How micro-mobility can benefit you

benefits-micromobility

What advantages can you get from micro-mobility? Let’s take a deeper look into this question.

Micro-mobility can offer several advantages to the people on your campus, e.g.:

  • Affordability: Shared e-scooters are cheaper than other mass transportation options. Remember that the people on your campus will use them on a shared basis, and they will pay for their short commutes only. Well, depending on your operating model, you might even let them use shared e-scooters or e-bikes for free!
  • Convenience: Users don’t need to worry about finding parking spots for shared e-scooters since these are small. They can easily travel from point A to point B on your campus with the help of these e-scooters.
  • Environmentally sustainable: Shared e-scooters reduce the carbon footprint, moreover, they decongest the roads. Statistics from the pilot programs in cities like Portland and Denver showimpressive gains around this key aspect.
  • Safety: This one’s obvious, isn’t it? When people on your campus use small e-scooters or e-bikes instead of cars, the problem of overspeeding will disappear. you will see fewer accidents.

#android app #autorent #ios app #mobile app development #app like bird #app like bounce #app like lime #autorent #bird scooter business model #bird scooter rental #bird scooter rental cost #bird scooter rental price #clone app like bird #clone app like bounce #clone app like lime #electric rental scooters #electric scooter company #electric scooter rental business #how do you start a moped #how to start a moped #how to start a scooter rental business #how to start an electric company #how to start electric scooterrental business #lime scooter business model #scooter franchise #scooter rental business #scooter rental business for sale #scooter rental business insurance #scooters franchise cost #white label app like bird #white label app like bounce #white label app like lime