Mi informacion de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Hoy, el hermano Li le presentará el uso de IaC (Infraestructura como código) para diseñar y construir la arquitectura nativa de la nube de AWS de Amazon Cloud Technology. Este artículo presentará cómo crear servicios sin servidor nativos en la nube en Amazon Cloud Technology, presentará los servicios de desarrollo utilizados y mostrará el código cdk para crear una arquitectura nativa en la nube. El hermano Li también compartirá con usted recursos de aprendizaje gratuitos para aprender rápidamente tecnologías populares y de vanguardia de Amazon Cloud Technology, y podrá recibir un certificado después de completar el curso.
AWS Lambda es un servicio informático sin servidor que permite a los usuarios ejecutar código sin aprovisionar ni administrar servidores. Los usuarios pueden cargar código directamente y configurar activadores ascendentes para ejecutar el servicio, y luego Lambda ejecutará automáticamente el código cuando se active el evento y solo pagará por el tiempo de ejecución del código. Lambda admite múltiples lenguajes de programación, como Node.js, Python, Java, etc., y se puede integrar perfectamente con otros servicios de AWS (como S3, DynamoDB, Kinesis, etc.), lo que lo convierte en una opción ideal para crear eventos. aplicaciones impulsadas.
Amazon API Gateway es un servicio totalmente administrado que permite a los desarrolladores crear, publicar, mantener, monitorear y proteger API fácilmente. API Gateway admite API RESTful y API WebSocket, y puede integrarse con AWS Lambda, puntos finales HTTP, servicios de AWS y otros sistemas backend. A través de API Gateway, los usuarios pueden crear API seguras y escalables y aprovechar las capacidades integradas de control de tráfico, monitoreo y control de versiones para simplificar la administración de API.
Amazon Simple Queue Service (SQS) es un servicio de cola de mensajes totalmente administrado (Message Queue en la nube) diseñado para desacoplar y escalar microservicios, sistemas distribuidos y aplicaciones sin servidor. SQS proporciona dos tipos: colas estándar y colas FIFO. La primera garantiza un alto rendimiento pero no garantiza el orden de los mensajes, mientras que la segunda garantiza que los mensajes se ordenen y procesen estrictamente al mismo tiempo según demanda. Con SQS, puede enviar, almacenar y recibir mensajes de manera confiable, lo que garantiza un acoplamiento flexible y una alta disponibilidad entre los diferentes componentes del sistema.
Después de comprender los principales servicios nativos de la nube, aprendamos cómo usar el código para definir y crear la infraestructura de nube (IaC) de Amazon Cloud Technology. La herramienta que utilizamos es AWS SDK y el lenguaje de secuencias de comandos es el lenguaje especial mecanografiado de AWS CDK.
AWS Cloud Development Kit (AWS CDK) es un marco de desarrollo de software de código abierto que permite a los desarrolladores definir la infraestructura de la nube utilizando lenguajes de programación familiares. La aparición de CDK hace que la creación y administración de recursos de AWS sea más fácil y eficiente. Al utilizar AWS CDK, los desarrolladores pueden escribir infraestructura en forma de código, implementando así la práctica de infraestructura como código (IaC).
La instalación de CDK requiere instalar una serie de dependencias Node.js, npm y aws cli por adelantado. Después de instalar las dependencias anteriores, siga los pasos específicos:
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
Archivo de aplicación 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();
Crear función 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'),
- });
- }
- }
Crear puerta de enlace 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
- }
- }
Crear cola 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分钟就能拿到)。
El hermano Xiao Li también preparó los 12 bancos de preguntas del examen de certificado de AWS y el banco de preguntas del certificado. Siga el chat privado de Xiao Li para obtenerlo.
Es un proyecto gratuito para estudiantes escolares y principiantes de AWS para ayudarlos a aprender y dominar AWS. Incluye cientos de horas de cursos + experimentos gratuitos. Los experimentos se realizan en un entorno real de AWS. No necesita pagar para crear recursos de AWS usted mismo. Además de este certificado de desarrollador, hay otros 9 certificados gratuitos disponibles para conceptos básicos de AWS☁️, desarrollo de sistemas web, bases de datos, redes, DevOps, seguridad y DeepRacer (servicio sin controlador de AWS). ¡Ven y sigue al hermano Li!
Incluyendo algunos de los puntos de conocimiento más populares en el desarrollo sin servidor en la actualidad.
▶️ Ingresa al curso desde la página de inicio
▶️ Ingrese a la interfaz de inicio de sesión, ingrese la contraseña de su cuenta e inicie sesión
▶️Haga clic en el Tablero en la columna izquierda de la imagen y haga clic en el cuadro rojo para ingresar al curso
▶️ El curso incluye 1 vídeo y 1 experimento (puedes omitirlo, haz clic en Siguiente para pasar a la prueba final)
▶️ Podrás obtener el certificado tras aprobar la Evaluación Final (10 preguntas, 70% aprobado)