如何构建云上智慧牧场

如何构建云上智慧牧场 日期: 2023-02-08   在亚马逊云科技,我们不仅热衷于为客户提供各种完善的技术方案,也非常乐意深入了解客户的业务流程。我们以第三方的姿态和客观的判断,帮助客户梳理价值,收集痛点,提出合适的方案,并且以最高性价比做出可使用的原型,以帮助客户一步步达到业务目标。 这样的工作方式,在亚马逊云科技被称作「逆向工作法」(Working Backwards),即抛开技术和解决方案,先从客户期待的结果出发,确认有价值,然后反向推导出需要做的事情,最后再实施。而在实施阶段,我们也遵循「最简可行产品」(Minimum Viable Product)的理念,力求在数周内快速形成一个可产生价值的原型,再做迭代。 今天,我们来看一个亚马逊云科技与新希望乳业合作构建云上智慧牧场的案例。       项目背景   牛奶是一种富含营养的饮品。出于对国民健康的考虑,我国一直在大力持续推动乳制品行业的发展。根据欧睿咨询数据,我国的乳制品销售规模在 2020 年就达到了 6385 亿,并且预计在 2025 年将达 8100 亿。此外,近 14 年的年均复合增长率也达到了 10%,可谓是高速发展。 另一方面,截止 2022 年,国内乳制品行业的收入大头仍然来自于液态奶,原料奶的 60% 都用作了液态奶和酸奶,还有 20% 是液态奶的直接衍伸品奶粉,仅极少数用于奶酪和奶油等深加工产品。 液态奶属于浅加工制品,其产量、品质、成本都与原料奶深度挂钩。这意味着,如果乳制品行业想腾出手来去攻关深加工产品、去创造新品、去做更前沿的生物科技研究,就得先做好液态奶这个「主战场」,提升和稳定原料奶的产量和品质。 作为乳制品标兵企业,新希望乳业也一直在思考如何提升牧场运营效率,提升原料奶的产量和品质。在与亚马逊云科技的合作过程中,新希望乳业希望能借助亚马逊云科技的第三方身份和对技术的深耕来促成乳业的创新。在新希望乳业 VP / CIO 胡柳通的大力支持和推动下,亚马逊云科技客户团队开始梳理乳业牧场的流程业务和潜在的创新点。   乳业牧场的挑战   亚马逊云科技在云技术领域是专家,但要把创新落地到行业,还得由内行人士提供专业意见。鉴于此,我们与新希望乳业生产技术中心副总监宋良荣、牧场管理团队以及营养师们做了数次深度访谈,了解了牧场的一些问题和挑战。 首先,是预备牛的盘点。 牧场的乳牛分为「奶牛」和「预备牛」两种,奶牛是成熟并持续在产奶的牛,预备牛则是尚未到产奶年龄阶段的牛。中大型牧场通常会给预备牛一个较大的开放式活动区域,以便让预备牛有更舒适的成长环境。 不过,奶牛和预备牛都属于牧场的资产,需要按月进行盘点。奶牛每天都要挤奶,挤奶时相对静止,所以盘点容易,但预备牛因为是在开放空间,牛会走来走去,所以不便盘点。每次盘点,都需要几个工人,从不同区域出发,反复盘点计数,最后核对数字。这个过程会消耗数个工人一到两天的时间,还经常出现很难对齐、不确定是否每头牛都数到之类的问题。 如果我们有一个办法,可以快速、精确地盘点预备牛,那么就可以省下不少人力来做别的更有价值的事情。 然后,是跛足牛的识别。 目前大部分乳品公司都使用一种叫做「荷斯坦」(Holstein)的品种来做奶牛,也就是我们认知中的黑白相间的奶牛,但不同公司和牧场,产奶的产量和品质仍然有差异。这是因为奶牛的健康会直接影响牛奶生产。 话虽如此,奶牛并不是人,无法主动言语或者表示自己不舒服,而兽医也不可能天天给成千上万的牛做体检,所以就只能找到一些外在指征来快速判断牛的健康状态。        …

使用 Lettuce 和 Redisson 对 Amazon Multi-AZ ElastiCache for Redis 实现就近读取

使用 Lettuce 和 Redisson 对 Amazon Multi-AZ ElastiCache for Redis 实现就近读取 日期: 2023-02-03 Amazon ElastiCache for Redis Multi-AZ 部署的必要性   Amazon ElastiCache for Redis 是一种 Web 服务,可让用户在云中轻松设置、管理和扩展分布式内存数据存储或缓存环境。它可以提供高性能、可扩展且具有成本效益的缓存解决方案。同时,它可以帮助消除与部署和管理分布式缓存环境相关的复杂性。在几乎所有的分布式应用系统当中,Redis 都是不可或缺的至关重要的中间件。 在使用 Amazon ElastiCache for Redis 过程中,集群的高可用对于关键的工作负载是至关重要的。在许多情况下,ElastiCache for Redis 可能需要替换主节点;这些情况包括特定类型的计划维护以及主节点或可用区出现故障的意外事件。根据良好架构设计的原则,我们通常都建议对 ElastiCache for Redis 启用多可用区(Multi-AZ)部署以提供更健壮的缓存服务。   Amazon ElastiCache for Redis Multi-AZ 部署带来的 Side Effect     多可用区部署 ElastiCache for…

从Vmware向AWS迁移

从Vmware向AWS迁移 日期: 2022-12-29 首先,从Vmware向AWS迁移,这是因为Vmware是目前用的最多的虚拟化平台,也是绝大多数企业在上云前用的最多的产品。 我们进入AWS console,选择Server Migration Service(SMS),打开以后,选择开始使用     这时候,SMS列出了3种迁移模式,Vcenter,SCVMM/Hyper-V还有Azure     我们要选择Vcenter环境里面的“下载OVA”,当然,也可以用这个S3链接。不过不推荐,毕竟最终还是要下载到Vcenter里面的。       下载完毕之后,你会得到一个AWS-SMS-Connector.ova 文件,然后打开ESXI或者Vcenter,选择新建虚拟机,然后点取“从OVF或者OVA文件部署虚拟机”       下一步,输入这台虚拟机的名字,我这里用了“AWS迁移”,然后把刚才下载的ova文件拖过来,或者直接选择       下一步,选择存储的位置,我这里就一个datastore1     设定网络和磁盘置备     最后一步,确认所有的设置,并选择开始部署,这里可以看到这个ova文件是一个基于FreeBSD的linux系统       创建好以后,这台虚拟机会在Vcenter里面出现,状态是警告,这个可以忽略       我们从“AWS迁移”的console中找到访问的web地址     用浏览器打开这个地址,可以看到这个新的connector的界面,然后点取“Get Started Now”     然后是一大段许可证条件,选择确认,然后下一步       这里要创建一个该迁移虚拟机的登录密码,这会在你下次登录该界面的时候需要输入,这里要注意密码的要求    …

如何做好AWS成本优化

如何做好AWS成本优化 日期: 2022-12-29 随着上云的企业越来越多,上云成本问题也受到越来越多的关注。 在上云之后,很多人觉得IT支出不但没有减少,还比以前花的更多了,这到底是什么原因呢? 企业如何通过成本优化,来降低上云的费用?       1 上云的成本     上云的成本包括:计算的成本、存储的成本、网络的成本、应用和管理成本。       首先我们要注意一点,成本的管理并不是在方案实施以后才需要关注的,而是在设计方案的时候就应该考虑了。 和迁移到云端一样,成本控制和优化需要事先规划,事中分析,并且做好事后评估,然后不断地改进。 任何方案都不是完美的,需要一直进行回顾,并且不断地,与时俱进的提高。     2 计算成本优化     EC2 :实例大小+使用时间 Lambda:请求数量+持续时间 ECS: EC2模式:实例大小+使用时间 Fargate模式:vCPU+内存资源 EC2的计费模式主要是4种,首先是最常见的按需模式OnDemand,然后是预留实例模式Reserved Instance, 也就是签约拿折扣的模式,1年或者3年。还有一种Spot模式,也就是投标模式,谁出的钱多就给谁,但是极不稳定。 目前还推出了一个新的模式,叫Saving Plans,也就是不再按照固定的大小和时长来决定,而是更加灵活的按照使用费用来决定,很多地方都比预留实例模式更加灵活。 EC2的计费模式是按照实例使用时间x实例类型的单价x折扣率来决定的。 Lambda相对于EC2而言,简单很多,计费方式是由请求的数量还有持续的时间来决定的。 当然,由于Lambda有一些免费的额度,使用的量里面可以事先扣除这一部分,只收额外的使用量的费用。         上图表格列举出了不同的EC2模式的适用范围,适用模型还有折扣度。 按照AWS过去的知识体系,Spot是最便宜的,但是极不稳定,只适合在无状态的应用下使用,也就是随时可以开始或者终止的应用。标准的RI折扣度可以高达75%, 但是非常的不灵活,基本不能调整,可变RI可以修改大小,但是折扣度掉到了最高62%。这里我比较推荐最新的Saving Plans, 既可对签约的实例进行一部分修改,也可以享受最高72%的折扣。Saving Plans也分2种模式。   计算成本优化建议:   1. 做好设计,选择合适的实例类型和大小…

通过 AWS Cloud9 使用 Amazon DocumentDB

通过 AWS Cloud9 使用 Amazon DocumentDB 日期: 2022-11-04 Amazon DocumentDB(兼容 MongoDB)是一种快速、可扩展、高度可用且完全托管的文档数据库服务,支持 MongoDB 工作负载,可让用户轻松存储、查询和索引 JSON 数据。 本文介绍如何通过 AWS Cloud9 开始使用 Amazon DocumentDB。您将了解如何通过 Mongo Shell 从 AWS Cloud9 环境连接到 Amazon DocumentDB 集群并运行一些查询。   架构图     实现过程   1.创建 AWS Cloud9 环境 使用 AWS 管理控制台,在 AWS Cloud9 管理控制台上选择创建环境。     输入名称 DocumentDBCloud9。     选择下一步。     在配置设置部分,接受所有默认设置。 选择下一步。…

Serverless告警

Serverless告警 日期: 2022-11-04 无服务器告警推送器(Serverless Alert Notifier) 是一键部署的告警推送解决方案,帮助客户将亚马逊云科技的资源告警信息推送到客户指定的通知平台。目前方案支持微信,下一步将支持钉钉和其他常用的统一告警平台。 此解决方案的 Amazon CloudFormation 模板会自动部署一套无服务器架构,包含 Amazon EventBridge、Amazon Simple Notification Service、 Amazon Lambda 等服务,以及用Amazon Secrets Manager 来存储第三方平台需要的凭证。您只需要从第三方平台获取凭证信息,安全存储到Amazon Secrets Manager,方案就会自动配置好告警推送功能。   使用场景 此解决方案适用于对亚马逊云科技资源的监控场景,例如 当亚马逊云科技服务中断、API不可用等事件发生时进行告警 当Amazon EC2 实例状态改变(新实例启动、有实例停止工作)时进行告警 当Amazon Simple Storage Service (S3)中有文件被删除时进行告警 当Amazon Elasticsearch 服务的JVM内存或容量达到80%时进行告警 当任何用户,或特定用户登录亚马逊云科技控制台时进行告警 当Amazon Security Hub发现安全风险和合规问题时进行告警 当Amazon EventBridge支持的SaaS合作伙伴,如Auth0、MongoDB等,产生告警消息时进行推送 客户自定义的业务指标在特定情况下发出告警   架构图与组件介绍     Amazon EventBridge Amazon EventBridge 事件总线:使用默认的事件总线…

快速构建一个三层应用的生产网络

快速构建一个三层应用的生产网络 日期: 2022-11-04 前言   Amazon Virtual Private Cloud (Amazon VPC) 让您能够全面地控制自己的虚拟网络环境,包括资源放置、连接性和安全性。首先在 AWS 服务控制台中设置 VPC。然后,向其中添加资源,例如 Amazon Elastic Compute Cloud (EC2) 和 Amazon Relational Database Service (RDS) 实例。最后,您可以定义 VPC 相互之间以及跨账户、可用区或 AWS 区域通信的方式。作为 Amazon 的基础服务之一,Amazon VPC 使得自定义 VPC 的网络配置变得容易。您可以为 Web 服务器创建一个能访问互联网的公有子网。您还可以将后端系统(如数据库或应用程序服务器)安置在无 Internet 访问的私有子网中。Amazon VPC 让您可以使用安全组和网络访问控制列表等多种安全层,帮助对各个子网中 Amazon Elastic Compute Cloud (Amazon EC2) 实例的访问进行控制。Elastic Load Balancing 在一个或多个可用区中的多个目标(如 EC2 实例、容器和…

通过 Peering 和 TGW 构建多网络互联

通过 Peering 和 TGW 构建多网络互联 日期: 2022-11-04 # 前言   通过 Amazon Virtual Private Cloud(Amazon VPC),您可以将 Amazon 资源启动到您定义的虚拟网络中。VPC peering 是两个 VPC 之间的网络连接,通过此连接,您可以使用私有 IPv4 地址或 IPv6 地址在两个 VPC 之间路由流量。这两个 VPC 中的实例可以彼此通信,就像它们在同一网络中一样。您可以在自己的 VPC 之间创建 VPC peering,或者在自己的 VPC 与其他Amazon账户中的 VPC 之间创建连接。VPC 可位于不同区域内(也称为区域间 VPC peering)。Transit Gateway 通过中央枢纽连接 VPC 和本地网络。这简化了您的网络,并且结束了复杂的对等关系。它用作云路由器 – 每个新连接都只进行一次。Transit Gateway 根据网络流量的规模灵活地进行扩展。Transit Gateway 支持多路由表,您可以将这些路由表配置为传播所连接的 VPC、VPN 连接和 Direct Connect…

使用 Babelfish for Aurora PostgreSQL 进行快速的数据库迁移

使用 Babelfish for Aurora PostgreSQL 进行快速的数据库迁移 日期: 2022-09-20 数据库的迁移是一项需要谨慎对待和全面考虑的工作,数据结构部分能较容易地评估迁移可行性,而更多的 SQL 程序对象如存储过程,函数,触发器等迁移则需要丰富的技术经验以及大量的时间成本才能完成。 在本次实验中,我们使用 Babelfish Compass 对当前的应用进行评估,熟悉如何生成评估结果并解读评估报告。完整的流程主要有以下几步: 在源库(SQL Server)上生成 DDL 脚本 执行 Babelfish Compass 程序生成评估报告 解读并分析评估报告     前言   Babelfish for Aurora PostgreSQL 是 Amazon Aurora PostgreSQL 兼容版本的一项新功能,它让 Aurora 能够理解来自为 Microsoft SQL Server 编写的应用程序命令。借助 Babelfish,Aurora PostgreSQL 现在可以理解 SQL Server 专有的 SQL 语言 T-SQL,并支持相同的通信协议,您最初为 SQL Server 编写的应用程序现在可以与…

云原生数据库 Amazon Aurora Serverless v2 极致弹性伸缩

云原生数据库 Amazon Aurora Serverless v2 极致弹性伸缩 日期: 2022-09-19 Amazon Aurora Serverless v2 非常适合各种应用程序。例如,面对业务快速增长场景与海量多租户场景时,当拥有数十万个应用程序的企业,或拥有具有成百上千个数据库的多租户环境的软件即服务 (SaaS) 供应商,可以使用 Amazon Aurora Serverless v2 来管理整个 SaaS 应用中众多数据库的容量,同时还适用于业务吞吐量波动明显的场景,如游戏业务、电商业务、测试环境等,以及无法预估吞吐量的新业务系统。对于大部分时间都处于低谷的业务系统,Amazon Aurora Serverless v2 可以有效地为客户节省成本。     前言   Aurora Serverless 是 Amazon Aurora 的按需自动扩展配置。Aurora Serverless v2 在几分之一秒内将数据库工作负载扩展到数十万个事务。它以细粒度的增量调整容量,为应用程序的需求提供适量的数据库资源。您无需管理数据库容量,只需为应用程序消耗的资源付费。早在2018年 Amazon Aurora 即提供了 Serverless 选项。 Amazon Aurora 最新提供的 Aurora Serverless V2 版本相比于上一代V1版本更上一层楼,重点提升部分:资源容量采用原地扩展,使资源容量扩展速度由V1分钟级提升到秒级,v2 版本能够在容量调整时做到更细粒度, 以0.5 ACU 作为扩展单元(V1翻倍扩展),并能够依据多个维度进行容量调整,通过持续的监控和尽可能大的利用缓冲池。Aurora…