服务器双栈
这是您需要将自己称为全栈开发人员的4个开发领域 (The are the 4 areas of development you need to know to call yourself a full-stack developer)
Becoming a full-stack developer is the goal of a lot of developers. Being able to create a complete software product, getting to understand how the whole system works, and the very nice wage increase (Over £5,500**) are all reasons people want to level up their skills and become a full-stack developer.
成为全栈开发人员是许多开发人员的目标。 能够创建完整的软件产品,了解整个系统的工作原理以及非常不错的工资增长(超过5500英镑**),都是人们希望提高自己的技能并成为全职开发人员的所有原因。
The issue is that learning all of the skills you need can take a lot of time. We’ll cover the 4 areas of development that you need to know, and discuss the best ways that you can learn them.
问题在于,学习所需的所有技能可能会花费很多时间。 我们将涵盖您需要了解的4个开发领域,并讨论学习它们的最佳方法。
前端/网站托管 (Front End /Website Hosting)
Whenever you build any sort of application, it needs to have a front end. This is what your users will see and how they interact with your product.
每当您构建任何类型的应用程序时,它都需要具有前端。 这是您的用户将看到的以及他们如何与您的产品进行交互。
This is often the first serverless skill that developers gain, often without realising it. This is often through GitHub pages or a hosting service.
这通常是开发人员获得的第一个无服务器技能,常常是没有意识到。 通常是通过GitHub页面或托管服务。
Whilst these services are great for quick and simple project hosting, you will need something more robust for larger and more technical serverless web hosting.
虽然这些服务非常适合快速和简单的项目托管,但对于大型和技术性更强的无服务器Web托管,您将需要更强大的功能。
您需要做的是 (What you’ll need to be able to do)
- To be able to host the files required for a front end application. 为了能够托管前端应用程序所需的文件。
- To be able to serve these files on a given URL at scale 为了能够在给定的URL上大规模投放这些文件
- Point a registered domain name at these files 将注册的域名指向这些文件
如何使用Serverless做到这一点? (How to do this with Serverless?)
- Host the files on Amazon S3 (file storage system) 将文件托管在Amazon S3(文件存储系统)上
- Create a CloudFront distribution to serve the files at scale 创建一个CloudFront发行版以大规模提供文件
- Use Route 53 to register a domain name and point it at the Cloudfront Distribution 使用Route 53注册域名并将其指向Cloudfront Distribution
为什么无服务器是做到这一点的最佳方法 (Why Serverless is the best way to do this)
S3, CloudFront and Route 53 all scale so you don’t have to work out (guess) how many visitors your site will get
S3,CloudFront和Route 53均可扩展,因此您不必计算(猜测)您的网站将获得多少访问者
- You don’t need to set up or maintain the servers 您不需要设置或维护服务器
- You don’t need to set up DNS, nameservers or anything else to get the site up on your URL. Route 53 handles all of this. 您无需设置DNS,名称服务器或其他任何内容即可在您的URL上建立站点。 53号公路可处理所有这些问题。
创建一个API (Create an API)
Every app needs APIs so that the front end can interact with the back end (databases, storage, email, etc.) which is where most of the power of a full-stack app comes from.
每个应用程序都需要API,以便前端可以与后端(数据库,存储,电子邮件等)进行交互,而这正是全栈应用程序大多数功能的来源。
您需要做的是 (What you’ll need to be able to do)
- To be able to create restful API endpoints 能够创建宁静的API端点
- To be able to access your databases 能够访问您的数据库
- To be able to access other services (Storage, SMS, email, other APIs) 能够访问其他服务(存储,短信,电子邮件,其他API)
- Protect your endpoints with API keys 使用API密钥保护端点
这该怎么做? (How to do this?)
- Use API Gateway to build the API endpoints 使用API网关构建API端点
- Create Lambda functions to execute your logic and access other services (database access, SMS, email, etc.) 创建Lambda函数以执行逻辑并访问其他服务(数据库访问,SMS,电子邮件等)
- Create API keys that provide access to your API endpoints 创建提供对API端点的访问的API密钥
为什么无服务器是做到这一点的最佳方法 (Why Serverless is the best way to do this)
- Each endpoint is an isolated function, so if one breaks it doesn’t crash the others 每个端点都是一个隔离的函数,因此,如果一个端点中断,则不会崩溃其他端点
- You have very easy access to the rest of the serverless services through the aws-sdk, reducing code and speeding up development 您可以通过aws-sdk轻松访问其余的无服务器服务,从而减少了代码并加快了开发速度
- You can easily create, limit and remove API keys to make sure that the right people are able to invoke your API endpoints. 您可以轻松创建,限制和删除API密钥,以确保合适的人能够调用您的API端点。
资料库 (Databases)
All full-stack services need a way to store data about users, products, and everything else. This might be in a relational or non-relational database but you need to store the data somewhere organised.
所有全栈服务都需要一种存储有关用户,产品和其他所有数据的方法。 这可能在关系数据库或非关系数据库中,但是您需要将数据存储在组织好的地方。
您需要做的是 (What you’ll need to be able to do)
- Create a scalable non-relational or relational database 创建可伸缩的非关系或关系数据库
- Access this database 访问该数据库
这该怎么做? (How to do this?)
- Create a DynamoDB (non-relational) or Aurora (relational) database 创建DynamoDB(非关系)或Aurora(关系)数据库
- Access your tables within your API Lambdas using the built-in tools within the AWS SDK 使用AWS开发工具包中的内置工具访问API Lambda中的表
为什么无服务器是做到这一点的最佳方法 (Why Serverless is the best way to do this)
- Your tables automatically scale and have built-in redundancy, removing the need to manage and sync multiple copies of databases 您的表会自动扩展并具有内置冗余,从而无需管理和同步数据库的多个副本
- You can easily access the databases with the AWS SDK without having to expose it to the outside world. 您可以使用AWS开发工具包轻松访问数据库,而无需将其暴露给外界。
部署与维护 (Deployment and Maintainance)
Once you’ve designed and built all of your systems, you need to deploy them into a production environment, maintain and upgrade them.
一旦设计并构建了所有系统,就需要将它们部署到生产环境中,进行维护和升级。
您需要做的是 (What you’ll need to be able to do)
- Deploy all of the resources we’ve talked about so far 部署到目前为止我们讨论过的所有资源
- Provide version-controlled configuration for all of the resources 为所有资源提供版本控制的配置
- Maintain and update the software and hardware that your systems are running on 维护和更新系统所运行的软件和硬件
这该怎么做? (How to do this?)
- Create the resources using the Serverless framework 使用无服务器框架创建资源
为什么无服务器是做到这一点的最佳方法 (Why Serverless is the best way to do this)
- When you create your serverless.yml file, you define all of the resources that you need to get your application running 创建serverless.yml文件时,您定义了使应用程序运行所需的所有资源。
- This serverless.yml file can be version controlled to track changes over time 可以对这个serverless.yml文件进行版本控制,以跟踪随着时间的变化
- You can deploy your whole architecture in minutes with a single command 您可以通过一个命令在几分钟内部署整个架构
- All of the underlying software and hardware is maintained, updated and upgraded by your service provider (AWS) so you don’t need to worry about it 所有基础软件和硬件均由服务提供商(AWS)维护,更新和升级,因此您无需担心
If you’ve liked this article and want to start learning how you can become a full-stack developer, I have a free 3 part video course on how to build and deploy your own serverless API.
如果您喜欢本文,并且想开始学习如何成为一名全栈开发人员,那么我将提供一个免费的三部分视频课程,介绍如何构建和部署自己的无服务器API。
** London Front end developer (£42,994) vs London Fullstack Developer (48,767)
**伦敦前端开发人员(42,994英镑)vs伦敦全栈开发人员(48,767)
翻译自: https://www.freecodecamp.org/news/what-you-need-to-become-a-full-stack-serverless-developer/
服务器双栈