aws入门
Original article here: https://dashbird.io/blog/5-core-aws-serverless-tools-starterkit/
原始文章在这里: https : //dashbird.io/blog/5-core-aws-serverless-tools-starterkit/
When first looking into serverless migration and its architecture, it can feel like you’re staring down an endless shopping aisle of critical serverless tools that all need to be put into your basket straight away. Some services seem to offer the same function, while others can feel wildly different — both, as a result, can instill some doubts as to what is really necessary for your business and serverless application.
当初次研究无服务器迁移及其架构时,您会感觉到您注视着无休止的关键无服务器工具的购物通道,所有这些工具都必须立即放入购物篮中。 某些服务似乎提供相同的功能,而其他服务则感觉完全不同-因此,这两种服务都可能引起您对于业务和无服务器应用程序真正需要什么的怀疑。
In this article, we break down the key AWS serverless tools needed to make up the core of your architecture, looking at their function and purpose as well as how they are charged. We also discuss how they can connect with other components and AWS services as you continue to build and scale for a successful serverless workflow.
在本文中,我们将分解组成架构核心所需的关键AWS无服务器工具,并研究其功能和目的以及收费方式。 当您继续构建和扩展成功的无服务器工作流时,我们还将讨论它们如何与其他组件和AWS服务连接。
AWS Lambda (AWS Lambda)
Typically, we aren’t able to start discussing serverless applications without AWS Lambda being raised because of its centrality. Serverless applications are event-driven meaning its code is in response to an event, such as a request or a change in state.
通常,由于其中心性,如果没有提出AWS Lambda ,我们将无法开始讨论无服务器应用程序。 无服务器应用程序是事件驱动的,这意味着其代码是对事件(例如请求或状态更改)的响应。
AWS Lambda is a serverless compute service that lets you run code for virtually any type of application or backend service. Its functions are triggered by events, from integrated sources such as AWS Simple Queue Service (SQS) or AWS Simple Notification Service (SNS), with the Lambda functions consuming and then producing new events for other services.
AWS Lambda是一种无服务器计算服务,可让您为几乎任何类型的应用程序或后端服务运行代码。 它的功能由来自诸如AWS Simple Queue Service(SQS)或AWS Simple Notification Service(SNS)之类的集成源的事件触发,而Lambda函数会消耗并为其他服务生成新事件。
AWS Lambda is only charged on the compute time used through either every 100ms of code executed or the number of times code is triggered, making it incredibly cost-effective. For consistent high performance, you’re also able to optimize code execution time by selecting the right memory size for each function or set it so it’s able to respond within double-digit milliseconds.
AWS Lambda仅按执行的每100毫秒代码或触发代码的次数来计算使用的时间,这使其具有极高的成本效益。 为了获得一致的高性能,您还可以通过为每个函数选择合适的内存大小或对其进行设置来优化代码执行时间,以便能够在两位数毫秒内做出响应。
SQS (SQS)
AWS Simple Queuing Service (SQS) is a fully managed message queuing service. With SQS, you can send, store and receive messages between components at any volume without losing messages or needing additional services to be available for its use.
AWS Simple Queuing Service (SQS)是一项完全托管的消息队列服务。 使用SQS,您可以在任何数量的组件之间发送,存储和接收消息,而不会丢失消息或需要使用其他服务。
By decoupling from other application components, queues (and other components) can run and fail independently, which increases the fault tolerance on your system.
通过与其他应用程序组件分离,队列(和其他组件)可以独立运行和发生故障,从而提高了系统的容错能力。
AWS SQS is highly available and scalable, and manages all the ongoing operations, maintenance, and underlying infrastructure associated with middleware software. Its elasticity takes away capacity and pre-provisioning issues as there is no limit to the number of messages per queue, while standard queues provide nearly unlimited throughput.
AWS SQS具有高可用性和可扩展性,并管理与中间件软件相关的所有正在进行的操作,维护和基础架构。 它的弹性消除了容量和预配置问题,因为每个队列的消息数没有限制,而标准队列提供了几乎无限的吞吐量。
Once again, costs are based on usage only, which is a huge cost saving to the “always-on” mode of traditional self-managed messaging middleware.
同样,成本仅基于使用情况,与传统的自我管理消息中间件的“ always-on”模式相比,这可节省大量成本。
API网关 (API Gateway)
AWS API Gateway is a fully managed service making it easy for developers to create, publish, maintain, monitor and secure APIs. The service manages all tasks involved in accepting and processing up to hundreds of thousands of concurrent API calls, including traffic management, authorization and access control, monitoring, throttling, and API version management.
AWS API Gateway是一项完全托管的服务,使开发人员可以轻松创建,发布,维护,监控和保护API。 该服务管理与接受和处理多达数十万个并发API调用有关的所有任务,包括流量管理,授权和访问控制,监视,限制和API版本管理。
You can build REST APIs optimized for serverless workloads in order to provide more features and full control of responses and requests. Its pricing structure is budget-friendly with no minimum fees involved and a sliding scale model against API usage, with charges for only the API calls received and the data transferred out.
您可以构建针对无服务器工作负载而优化的REST API,以提供更多功能以及对响应和请求的完全控制。 它的价格结构是预算友好的,不涉及最低费用,并且针对API使用情况采用了滑动比例模型,仅对收到的API调用和传输的数据收取费用。
DynamoDB (DynamoDB)
AWS DynamoDB is a high-performance key-value and document database. Its multi-region, secure, durable and scalable service means that some of the world’s largest businesses and enterprises across various industries rely on DynamoDB.
AWS DynamoDB是高性能的键值和文档数据库。 其多区域,安全,持久和可扩展的服务意味着各个行业的一些全球最大企业和企业都依赖DynamoDB。
Being serverless and fully managed, availability and fault tolerance are built-in, with DynamoDB global tables replicate data across multiple AWS regions to provide fast, local access where needed and single-digit millisecond response times at all scales.
由于没有服务器且受到完全管理,因此内置了可用性和容错功能,DynamoDB全局表跨多个AWS区域复制数据,以在需要时提供快速的本地访问以及所有范围的单位毫秒响应时间。
The service automatically scales tables up and down to suit capacity without compromising on performance; it can handle more than 10 trillion requests per day and can support peaks of more than 20 million requests per second.
该服务会自动在不影响性能的情况下上下伸缩表以适应容量。 它每天可以处理超过10万亿个请求,并且可以支持每秒超过2000万个请求的峰值。
步骤功能 (Step Functions)
AWS Step Functions allows you to bring multiple AWS services together to create a serverless workflow, which can be updated and ran quickly. With this service, application development is simpler and more intuitive; it automatically starts and tracks each step in the workflow, and also retries when there are errors so there are no nasty surprises.
AWS Step Functions允许您将多个AWS服务整合在一起以创建无服务器工作流,该工作流可以更新并快速运行。 通过此服务,应用程序开发变得更简单,更直观。 它会自动启动并跟踪工作流程中的每个步骤,并在出现错误时重试,因此不会有令人讨厌的惊喜。
AWS Step Functions is also a great way to move away from monolithic applications and into microservices being used as a series of steps. This design principle enables users to work on code safely without disrupting operations while also being able to deliver new products and features ensuring business as usual.
AWS Step Functions也是从单一应用程序移到微服务(作为一系列步骤)的一种好方法。 这种设计原则使用户可以安全地处理代码,而不会中断操作,同时还能够提供新产品和新功能,确保照常营业。
With all of the above, the service means users don’t need to write additional code for workflow logic, timeouts, retries, or parallel processes. It’s essentially a neatly packaged way to bring together all of your curated AWS services and create a well-executed workflow for your application. You can find illustrated examples of some common and useful use cases for Step Functions in our Cloud Knowledge Base.
有了上述所有功能,该服务意味着用户无需为工作流程逻辑,超时,重试或并行进程编写其他代码。 从本质上讲,这是一种整齐的打包方式,可以将您所有精选的AWS服务整合在一起,并为您的应用程序创建执行良好的工作流。 您可以在我们的云知识库中找到有关步骤功能的一些常见和有用用例的图解示例。
最后的想法 (Final Thoughts)
The beauty of serverless is its scalability and so even if some of these serverless tools may seem a little advanced or too large for where your business is right now, remember that there is always flexibility in how you use each service and highly important, for any organization no matter the size, you are only charged based on usage.
无服务器的美丽在于它的可扩展性,因此即使对于您当前的业务而言,其中一些无服务器工具似乎有些高级或太大,但请记住,在使用每种服务的方式上始终具有灵活性,而对于任何服务而言,高度重要组织,无论大小,您都只会根据使用情况付费。
Serverless doesn’t mean having every service or functionality under the sun, but rather understanding the fundamentals needed within this type of architecture and how best to take advantage of the tools available so it works for your team and organization.For us, these five serverless tools — AWS Lambda, AWS SQS, AWS API Gateways, AWS DynamoDB and AWS Step Functions — are a great starting point for your serverless starter pack as they each adequately cover and can scale the various core components needed; computing, events, automation, database, message queues, APIs and how each can be brought together to create your application.
无服务器并不意味着要在阳光下拥有所有服务或功能,而是要了解这种架构类型所需的基础知识,以及如何最好地利用可用工具,从而使其对您的团队和组织有效。对我们来说,这五种无服务器工具-AWS Lambda,AWS SQS,AWS API网关,AWS DynamoDB和AWS Step Functions-是无服务器入门包的理想起点,因为它们各自可以充分覆盖并可以扩展所需的各种核心组件; 计算,事件,自动化,数据库,消息队列,API以及如何将它们组合在一起创建您的应用程序。
But of course, once you’ve decided to adopt them, it’s important to keep an eye on their performance, so as a bonus sixth starter-kit service for your serverless application, we’ll throw in Dashbird’s monitoring platform, which helps you easily visualize the data and thus understand what’s going on in your application within seconds, and receive alerts when something is not working properly so that you can jump in and fix it before it starts affecting your end-users’ experience.
但是,当然,一旦决定采用它们,重要的是要时刻关注它们的性能,因此作为针对您的无服务器应用程序的第六项入门套件服务的奖励,我们将使用Dashbird的监控平台 ,该平台可以轻松帮助您可视化数据,从而在几秒钟内了解应用程序中发生的事情,并在某些事情无法正常工作时收到警报,以便您可以在数据开始影响最终用户的体验之前对其进行修复。
aws入门