2020 年你应该使用的 6 个云平台

2025-06-05

2020 年你应该使用的 6 个云平台

云平台通常是一个交钥匙解决方案,可以让您的生活更轻松,并减轻您的一些复杂性。

如果不使用至少一个云平台,您可能无法构建完整且可扩展的应用程序。

以下是列表:

1.亚马逊网络服务

即使您在当前工作中没有使用它,您至少也应该熟悉EC2S3组件。

您无需报名参加昂贵的课程即可学习基本知识。

EC2 的基本流程:

  1. 启动实例
  2. 启动/重启/停止实例
  3. 创建备份
  4. 从备份还原
  5. 配置安全组

S3 的基本流程:

  1. 创建存储桶
  2. 创建文件夹
  3. 上传文件
  4. 设置权限
  5. 下载文件

虽然您可能希望使用 UI 来处理 EC2 中的非重复任务,但您很可能会使用AWS CLI来处理 S3 中的所有操作。

请记住,AWS 有很多组件,几乎包括您在云计算和 API 方面能想到的一切。

2. Twilio

Twilio 是一家云通信公司,它使用户能够使用标准 Web 语言通过 Web API 构建语音、VoIP 和 SMS 应用程序。

您并不想从头开始构建发送短信的功能。

以下是使用 Twilio 发送短信的 Python 示例:

from twilio.rest import Client

account_sid = 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)

message = client.messages.create(
                              body='Hi there!',
                              from_='+15017122661',
                              to='+15558675310'
                          )

print(message.sid)
Enter fullscreen mode Exit fullscreen mode

您可以在此处阅读简短的教程

3.发送网格

SendGrid 是一个基于云的电子邮件传递平台,用于交易电子邮件和营销电子邮件。

当然,您无需 SendGrid 或任何其他外部提供商即可发送电子邮件,您所需要的只是一台服务器。

它非常简单:

<?php
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";

mail($to,$subject,$txt,$headers);
?>
Enter fullscreen mode Exit fullscreen mode

但是使用自己的电子邮件服务器而不是 SendGrid 不是一个好主意。

原因如下:

  1. 您的服务器可能无法处理您发送的电子邮件数量。
  2. 由于您的IP 信誉较低,从您的服务器发送的电子邮件可能会进入垃圾邮件文件夹。
  3. 您必须构建自己的工具来监控电子邮件活动

SendGrid 不仅适用于营销人员,它还提供了强大的 Web API。

以下是发送电子邮件的基本 Python 示例:

import os
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail

message = Mail(
    from_email='from_email@example.com',
    to_emails='to@example.com',
    subject='Sending with SendGrid is Fun',
    html_content='<strong>and easy to do anywhere, even with Python</strong>')
try:
    sg = SendGridAPIClient(os.environ.get('SENDGRID_API_KEY'))
    response = sg.send(message)
    print(response.status_code)
    print(response.body)
    print(response.headers)
except Exception as e:
    print(e.message)
Enter fullscreen mode Exit fullscreen mode

如您所见,我们还检查了前面示例中的状态代码。

4.最终测试

Endtest 是一个云平台,您可以在其中为您的 Web 应用程序和移动应用程序创建和执行自动化测试

为用户提供完美的体验至关重要。

实现这一目标的一个好方法是依靠自动化测试,并成为第一个发现某些东西何时停止工作的人。

单元测试和 API 请求不足以验证您的产品是否按用户预期运行。

Endtest 提供了一种简单的方法来创建功能自动化测试并在跨浏览器云和移动设备实验室上执行它们。

结束测试执行测试

而且您无需编写任何代码即可做到这一点。

有一个用于 Web 测试的记录器和一个用于移动测试的记录器,它们都依赖于元素识别,而不是图像识别或 OCR。

Endtest 移动录音机

它还提供API并与 Jenkins、Jira、Slack 等解决方案集成。
期末测试结果

为什么要使用这个云平台?

是一个很好的答案。

5.振幅分析

这不是您通常的分析解决方案,您在页面中导入一些 JavaScript 并开始跟踪访问者。

Amplitude 可以帮助您跟踪用户事件并生成非常有用的信息。

例如,您可以查看 6 周前注册的用户中有多少仍在使用您的产品,这个指标称为保留率

幅度保持

关键在于使用事件跟踪功能并将其集成到您的代码中。

对于用户执行的每个操作,您可以向Amplitude API发送请求,以存储用户的标识符、事件类型以及您需要的任何其他内容。

以下是如何从 Python 代码向 Amplitude 发送事件:

import amplitude    

# initialize amplitude logger
amplitude_logger = amplitude.AmplitudeLogger(api_key = "SOME_API_KEY_STRING")

# example event
event_args = {"device_id":"somedeviceid", "event_type":"justtesting", 
              "event_properties":{"property1":"somevalue", "propertyN":"anothervalue"}
event = amplitude_logger.create_event(**event_args)

# send event to amplitude
amplitude_logger.log_event(event)
Enter fullscreen mode Exit fullscreen mode

这使您可以为所有用户和细分生成事件时间线。

6.条纹

Stripe 是一套支付 API,为各种规模的在线企业提供商务支持。

处理付款是另一件您不想从头开始的事情。

Stripe 以对开发人员友好而闻名,并为其 API提供了详细的文档。

拥有一个令人惊叹的结帐页面确实可以提高这些转化率。
Stripe 结账

处理付款不仅仅是处理信用卡付款,Stripe 还涵盖其他重要方面,例如欺诈和合规性。

以下是使用 JavaScript 的示例:

var stripe = Stripe('_____YOUR_STRIPE_PUBLISHABLE_KEY___');
var elements = stripe.elements();

// Create an instance of the card Element
var card = elements.create('card', {style: style});
// Add an instance of the card Element into the `card-element` <div>
card.mount('#card-element');

// Handle real-time validation errors from the card Element.
card.addEventListener('change', function(event) {
    var displayError = document.getElementById('card-errors');
if (event.error) {
        displayError.textContent = event.error.message;
    } else {
        displayError.textContent = '';
    }
});

// Handle form submission
var form = document.getElementById('payment-form');
form.addEventListener('submit', function(event) {
    event.preventDefault();
stripe.createToken(card).then(function(result) {
        if (result.error) {
            // Inform the user if there was an error
            var errorElement = document.getElementById('card-errors');
            errorElement.textContent = result.error.message;
        } else {
            stripeTokenHandler(result.token);
        }
    });
});

// Send Stripe Token to Server
function stripeTokenHandler(token) {
    // Insert the token ID into the form so it gets submitted to the server
    var form = document.getElementById('payment-form');
// Add Stripe Token to hidden input
    var hiddenInput = document.createElement('input');
    hiddenInput.setAttribute('type', 'hidden');
    hiddenInput.setAttribute('name', 'stripeToken');
    hiddenInput.setAttribute('value', token.id);
    form.appendChild(hiddenInput);
// Submit form
    form.submit();
}
Enter fullscreen mode Exit fullscreen mode
文章来源:https://dev.to/ernestthecoder/6-cloud-platforms-you-should-be-using-in-2020-4poj
PREV
你应该知道的 7 个 CSS 技巧!1. 禁用链接 2. 禁用文本选择 3. 调整图片大小以适应页面 4. 自定义插入符号颜色 5. 禁用文本区域大小调整 6. 使图片适应页面 7. 占位符颜色
NEXT
初级开发人员提出更好问题的 3 种方法