2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Aujourd'hui, Brother Li vous présentera l'utilisation d'IaC (Infrastructure as Code) pour concevoir et construire l'architecture native du cloud AWS d'Amazon Cloud Technology. Cet article expliquera comment créer des services sans serveur natifs cloud sur la technologie Amazon Cloud, présentera les services de développement utilisés et montrera le code cdk pour créer une architecture cloud native. Frère Li partagera également avec vous des ressources d'apprentissage gratuites pour apprendre rapidement les technologies populaires et de pointe d'Amazon Cloud Technology, et vous pourrez recevoir un certificat après avoir terminé le cours.
AWS Lambda est un service informatique sans serveur qui permet aux utilisateurs d'exécuter du code sans provisionner ni gérer de serveurs. Les utilisateurs peuvent directement télécharger du code et définir des déclencheurs en amont pour exécuter le service, puis Lambda exécutera automatiquement le code lorsque l'événement est déclenché et ne paiera que le temps d'exécution du code. Lambda prend en charge plusieurs langages de programmation, tels que Node.js, Python, Java, etc., et peut être intégré de manière transparente à d'autres services AWS (tels que S3, DynamoDB, Kinesis, etc.), ce qui en fait un choix idéal pour créer des événements. applications pilotées.
Amazon API Gateway est un service entièrement géré qui permet aux développeurs de créer, publier, maintenir, surveiller et sécuriser facilement des API. API Gateway prend en charge les API RESTful et WebSocket et peut s'intégrer à AWS Lambda, aux points de terminaison HTTP, aux services AWS et à d'autres systèmes backend. Grâce à API Gateway, les utilisateurs peuvent créer des API sécurisées et évolutives et tirer parti des capacités intégrées de contrôle du trafic, de surveillance et de gestion des versions pour simplifier la gestion des API.
Amazon Simple Queue Service (SQS) est un service de file d'attente de messages entièrement géré (Message Queue dans le cloud) conçu pour découpler et faire évoluer les microservices, les systèmes distribués et les applications sans serveur. SQS propose deux types : les files d'attente standard et les files d'attente FIFO. La première garantit un débit élevé mais ne garantit pas l'ordre des messages, tandis que la seconde garantit que les messages sont strictement ordonnés et traités en même temps à la demande. Avec SQS, vous pouvez envoyer, stocker et recevoir des messages de manière fiable, garantissant un couplage lâche et une haute disponibilité entre les différents composants du système.
Après avoir compris les principaux services cloud natifs, apprenons à utiliser le code pour définir et créer une infrastructure cloud technologique Amazon Cloud (IaC). L'outil que nous utilisons est AWS SDK et le langage de script est le langage spécial AWS CDK.
AWS Cloud Development Kit (AWS CDK) est un cadre de développement logiciel open source qui permet aux développeurs de définir une infrastructure cloud à l'aide de langages de programmation familiers. L'émergence de CDK rend la création et la gestion des ressources AWS plus faciles et plus efficaces. En utilisant AWS CDK, les développeurs peuvent écrire une infrastructure sous forme de code, mettant ainsi en œuvre la pratique de l'Infrastructure as Code (IaC).
L'installation de CDK nécessite l'installation préalable d'une série de dépendances Node.js, npm et aws cli. Après avoir installé les dépendances ci-dessus, suivez les étapes spécifiques :
npm install -g aws-cdk
cdk --version
- mkdir my-cdk
- cd my-cdk
- cdk init app --language typescript
npm install @aws-cdk/aws-ec2 @aws-cdk/core
Dossier de candidature principal (app.ts)
- import * as cdk from '@aws-cdk/core';
- import { SqsStack } from './sqs-stack';
- import { LambdaStack } from './lambda-stack';
- import { ApiGatewayStack } from './api-gateway-stack';
-
- const app = new cdk.App();
-
- const sqsStack = new SqsStack(app, 'SqsStack');
- const lambdaStack = new LambdaStack(app, 'LambdaStack', sqsStack);
- new ApiGatewayStack(app, 'ApiGatewayStack', lambdaStack);
-
- app.synth();
Créer une fonction Lambda
- import * as cdk from '@aws-cdk/core';
- import * as lambda from '@aws-cdk/aws-lambda';
-
- export class LambdaStack extends cdk.Stack {
- constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
- super(scope, id, props);
-
- // 创建 Lambda 函数
- const myLambda = new lambda.Function(this, 'MyLambda', {
- runtime: lambda.Runtime.NODEJS_14_X,
- handler: 'index.handler',
- code: lambda.Code.fromAsset('lambda'),
- });
- }
- }
Créer une passerelle API
- import * as cdk from '@aws-cdk/core';
- import * as apigateway from '@aws-cdk/aws-apigateway';
- import { LambdaStack } from './lambda-stack';
-
- export class ApiGatewayStack extends cdk.Stack {
- constructor(scope: cdk.Construct, id: string, lambdaStack: LambdaStack, props?: cdk.StackProps) {
- super(scope, id, props);
-
- // 创建 API Gateway REST API 并与 Lambda 集成
- const api = new apigateway.RestApi(this, 'MyApi', {
- restApiName: 'My Service',
- description: 'This service serves as an example.',
- });
-
- const lambdaIntegration = new apigateway.LambdaIntegration(lambdaStack.myLambda, {
- requestTemplates: { 'application/json': '{ "statusCode": "200" }' }
- });
-
- api.root.addMethod('GET', lambdaIntegration); // GET / 触发 Lambda
- }
- }
Créer une file d'attente SQS
- import * as cdk from '@aws-cdk/core';
- import * as sqs from '@aws-cdk/aws-sqs';
-
- export class SqsStack extends cdk.Stack {
- public readonly myQueue: sqs.Queue;
-
- constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
- super(scope, id, props);
-
- // 创建 SQS 队列
- this.myQueue = new sqs.Queue(this, 'MyQueue', {
- visibilityTimeout: cdk.Duration.seconds(300)
- });
- }
- }
本次课程和证书是关于目前云上开发最🔥的Serverless无服务器开发,Serverless服务说白了就是一台服务器,大家可以部署写好的代码,但是服务器是由AWS帮忙维护的,减轻了基础设施维护压力,而且基础设施可以根据并发请求数量自动扩容,保证系统性能。证书名字叫AWS Educate Getting Start with Serverless,内含免费课程和经典AWS实验(没听错,免费给你用AWS做实验,通过10道测试题后拿证书(5分钟就能拿到)。
Frère Xiao Li a également préparé les 12 banques de questions d'examen de certificat AWS et la banque de questions de certificat. Veuillez suivre le chat privé de Xiao Li pour l'obtenir.
Il s'agit d'un projet gratuit destiné aux étudiants et aux débutants AWS pour les aider à apprendre et à maîtriser AWS. Il comprend des centaines d'heures de cours + des expériences gratuites. Les expériences se déroulent dans un véritable environnement AWS. Vous n'avez pas besoin de payer pour créer vous-même des ressources AWS. En plus de ce certificat de développeur, il existe 9 autres certificats gratuits disponibles pour les bases d'AWS☁️, le développement de systèmes Web, la base de données, le réseau, DevOps, la sécurité et DeepRacer (service sans pilote AWS). Venez suivre Brother Li. Obtention de 52 certifications AWS !
Y compris certains des points de connaissances les plus populaires actuellement dans le développement sans serveur
▶️ Entrez le cours depuis la page d'accueil
▶️ Entrez dans l'interface de connexion, entrez le mot de passe de votre compte et connectez-vous
▶️Cliquez sur le DashBoard dans la colonne de gauche de l'image et cliquez sur la case rouge pour accéder au cours
▶️ Le cours comprend 1 vidéo et 1 expérience (vous pouvez la sauter, cliquez sur Suivant pour passer au test final)
▶️ Vous pouvez obtenir le certificat après avoir réussi l'évaluation finale (10 questions, 70 % de réussite)