节省 60% 成本还能加速业务扩展,ScraperAPI 在云基础设施上的多年实践

对于流量密集型的业务来讲,在创业初期,最头疼的就是数据库的管理,以及大量流量带来的高额账单。然而,ScraperAPI 通过结合使用 DigitalOcean 的 Droplet、托管数据库、应用托管服务和 Kubernetes,一箭三雕,不仅减轻了数据库的管理复杂度,加快了新功能的上线部署,还只用了在大厂那里需要支付的费用的 1/3。

精益团队如何使用托管数据库

ScraperAPI 是一个致力于让公共数据收集变得简单的服务,他们多年来一直在使用 DigitalOcean 的基础设施。最初使用 DigitalOcean 的 Droplets 云主机和托管数据库,ScraperAPI 现在也在利用 DigitalOcean 应用托管(App Platform)实现快速部署和轻松扩展,以及 DigitalOcean Kubernetes 来处理更进一步的基础设施配置,这让他们能够在减少基础设施管理时间的同时,推出更多产品功能。

作为一个已经实现盈利的创业公司,ScraperAPI 提供了一个易于使用的 API,用于大规模地从互联网上收集公开数据。用户利用 ScraperAPI 可以进行电商价格分析、搜索引擎数据收集、训练人工智能模型等。

ScraperAPI 多年来一直是 DigitalOcean 托管数据库的重度用户。在加入 ScraperAPI 之前,首席技术官 Zoltan Bettenbuk 在之前的职位上有着多年的数据库经验,他发现公司自行管理数据库是一项负担繁重的任务。Zoltan 分享道:“自行管理数据库的压力是非常大的。你要确保公司数据始终安全、可用、有备份和有故障转移,因为数据是公司最重要的资产。坦白地说,我再也不希望公司自行管理数据库了。”

为了寻找更好的解决方案,ScraperAPI 采用了 DigitalOcean 的托管数据库,包括 PostgreSQL 托管数据库和 Redis 托管数据库。这一转变让他们能够轻松地扩展数据库操作。Zoltan 说:“这里最棒的是,如果我想扩展到两倍,我可以在大约一分钟内完成。”

通过应用托管和 Kubernetes 快速部署

在被另一家公司收购后,ScraperAPI 希望将他们在托管数据库中体验到的“效率提升”扩展到他们的技术栈的其他部分,于是开始探索 DigitalOcean 的应用托管服务(App Platform),它是 DigitalOcean 的一个 PaaS 解决方案,可以为他们的部署流程提效。Zoltan 回忆到这一变化时表示:“我们发现,使用应用托管服务将新功能或服务推向市场要快得多,也容易得多。这真的只是几分钟的事情。”这种快速部署能力使 ScraperAPI 能够迅速创新和推出新功能。

高效是应用托管服务给 ScraperAPI 带来的主要优势之一,它使新功能在几分钟内就能上线。Zoltan 强调了其易用性,他说:“从工程师写下最后一行代码到功能上线,实际上只需要 2-3 分钟。”

应用托管服务已经成为 ScraperAPI 新服务的孵化器。最初在应用托管服务上部署功能,允许快速开发和测试。当功能扩展并需要更强大的基础设施时,它们就会转移到 Kubernetes 托管服务上,以实现更有效的资源管理,并获得更强的性能。这种方法使 ScraperAPI 能够在保持可扩展的基础设施的同时推出更多功能。

此外,ScraperAPI 还能够平衡关键工作负载中高级功能的使用,并为要求较低的任务提供更具成本效益的解决方案。由于 ScraperAPI 的业务是带宽密集型业务,他们也非常欣赏 DigitalOcean 通过 Droplets 和应用托管服务为客户提供的带宽量,并估计“由于我们处理的数据量如此之大,在 AWS 上的花费可能会是现在的 3 倍。”

ScraperAPI 的年收入增长率达到 30-35%,并且正在将业务重心扩展到有结构化数据需求的企业客户。DigitalOcean 的托管数据库、应用托管服务和 Kubernetes 托管服务,这一产品组合对其成功起到了关键作用。随着业务的增长,他们也很满意 DigitalOcean 提供的技术支持,并表示“总的来说,基本上在我们需要的时候,DigitalOcean 的支持都在。这即便是在更大的供应商那里,通常是得不到这么好的技术支持的。”

ScraperAPI 团队期待 DigitalOcean 为应用托管服务推出更多的功能,并将继续利用 PaaS 解决方案作为快速部署新想法、新功能的方式。Zoltan 也在开展新项目,如初创公司 SendStreak,他很高兴能够继续利用 DigitalOcean 解决方案的简单性和易于部署的特性,用在这些新的业务上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/52581.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于信号量和环形队列的生产者消费者模型

文章目录 POSIX信号量信号量接口初始化信号量销毁信号量等待信号量发布信号量 基于环形队列的生产者消费者模型单生产单消费多生产多消费 POSIX信号量 POSIX信号量和SystemV信号量作用相同,都是用于同步操作,达到无冲突的访问共享资源目的。 但POSIX可以…

接口返回结果封装

接口返回结果封装 1、错误信息枚举 package com.zhw.enums;public enum AppHttpCodeEnum {// 成功SUCCESS(200,"操作成功"),// 登录NEED_LOGIN(401,"需要登录后操作"),NO_OPERATOR_AUTH(403,"无权限操作"),SYSTEM_ERROR(500,"出现错误&quo…

K-medoids算法原理及Python实践

一、原理 K-medoids算法是一种聚类算法,它的原理与K-Means算法相似,但关键区别在于它使用数据集中的实际点(称为medoids)作为簇的中心点,而不是像K-Means那样使用簇内所有点的平均值。以下是K-medoids算法的主要原理&…

Excel 保持原序时计算组内排名

Excel某表格第1列是分组,第2列是日期,未排序。 AB1Agent IDDate of Sale2Agent107-12-20233Agent105-12-20234Agent209-12-20235Agent313-12-20236Agent214-12-20237Agent222-12-20238Agent115-12-20239Agent117-12-202310Agent213-12-202311Agent120-1…

wooyu漏洞库YYDS!!!入门之道:重现乌云漏洞库

目录 wooyun乌云漏洞库搭建 1、搭建资料 文件结构分析: ​编辑2、搭建过程 2.1、搭建wooyun网站 2.2、配置数据库 2.2.1、修改数据库配置文件conn.php 2.2.2、创建wooyun数据库,并解压数据库文件 2.2.3、连接数据库(数据库默认连接密…

24.8.26学习心得

验证数据集(Validation Set)和测试数据集(Test Set)在机器学习和深度学习中都是非常重要的概念。它们各自有不同的用途和目的。下面详细解释两者之间的区别: 1. 验证数据集(Validation Set) 目…

计算机基础知识总结(八股文--计算机网络、操作系统、数据库、c++、数据结构与算法)

一、操作系统 0.内存管理 01.什么是虚拟内存?为什么需要虚拟内存? 虚拟内存为程序提供比实际物理内存更大的内存空间,同时提高内存管理的灵活性和系统的多任务处理能力。虚拟地址空间就是进程所能看到的内存空间,这段空间是连续…

【案例61】update driver error

问题现象 顾问在保存数据源时报“update driver error”错误,重启服务器,重启sysConfig.bat后问题依旧。 问题分析 之前碰到这类问题发现是权限的问题。所以先去检查了相关文件夹的权限。 查看控制台发现客户用的是非Administrator用户登录&#xff0…

数学建模2024国赛时间及事项安排

2024年的全国大学生数学建模竞赛即将拉开帷幕。考虑到许多同学可能是首次参与此类赛事,尚不清楚如何进行有效的时间安排,博主在此整理了以往参赛的经验和时间管理策略,希望能为大家提供一些有益的参考,更从容地应对国赛。 本届全国…

网络安全 DVWA通关指南 DVWA File Upload(文件上传)

DVWA File Upload(文件上传) 文章目录 DVWA File Upload(文件上传)修复建议 LowMediumHighImpossible 修复建议 1、使用白名单限制可以上传的文件扩展名 2、注意0x00截断攻击(PHP更新到最新版本) 3、对上传…

Ubuntu 20.04 源码编译安装OpenCV 4.5.0

源码安装 OpenCV 4.5 官方文档: OpenCV: Install OpenCV-Python in Ubuntu 1. 安装编译依赖 sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev …

出口MID电能表到欧洲市场

出口MID电能表到欧洲市场! 浙江永泰隆电子有限公司在研发和将MID能量计出口到欧盟市场方面具有丰富的经验。以下是突显该公司专业性的概述: 公司概况: 浙江永泰隆电子有限公司是一家专注于先进能量测量解决方案的制造商,特别是…

【栈】| 力扣高频题: 有效的括号

🎗️ 主页:小夜时雨 🎗️专栏:算法题 🎗️如何活着,是我找寻的方向 目录 1. 题目解析2. 代码 1. 题目解析 题目链接: 力扣20:https://leetcode.cn/problems/valid-parentheses/description/ 本…

linux系统中USB模块基本原理分析

大家好,今天主要给大家分享一下,USB设备的发展历程。 第一:USB发展变化 随着时代的发展,USB模块也随之不断的升级。 USB1.1:规范了USB低全速传输; USB2.0:规范了USB高速传输,采用NRZI(反向不归零)编码(NRZI采用8bit编码方式),位填充(在数据进行NRZI编码前…

虚幻5|制作玩家血量,体力(还未编辑,只用于引用)

未编写,仅引用 优化后: 把增加生命,减少生命,也可以用在体力里,更改如下 限制浮点,如果血量或体力按10来扣,如果你的血量降低到5,那么就会以5的数值来扣,而不会扣成-5…

es 7.17.23安装ik插件启动失败,access denied,Permission

情况简述 windows平台,下载了7.17.23的es以及7.17.23的ik分词器的zip包之后( 下载地址(官方推荐的):Index of: analysis-ik/stable/ ),解压该ik的包到es的plugins下,目录结构&…

Webpack中的 HTTP 压缩

http压缩介绍 http压缩,是指一种内置在服务器和客户端之间改进传输速度和带宽利用率的方式。 http 压缩的流程: http 数据在服务器发送前,通过 webpack配置进行压缩;兼容的浏览器在向服务器发送请求时,在请求头中会…

ElasticSearch 的单点部署环境搭建

一、摘要 ElasticSearch 是一个开源的 分布式、RESTful 的 搜索和分析引擎 ,可以用来解决使用数据库进行模糊搜索时存在的性能问题,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据 ElasticSearch 使用 Java 语言开发&…

删除Vue2残留配置文件解决异常:Cannot find module ‘@vue/babel-plugin-transform-vue-jsx‘

背景 完成Vue2代码升级为Vue3后,将新代码上传至代码库。在修改源代码库代码后,启动项目,提示:Cannot find module ‘vue/babel-plugin-transform-vue-jsx‘,尝试安装该第三方库后仍然无效。 解决方案: 删…

带你快速了解WEB应用服务器TOMCAT

目录 一、WEB技术 1.1 HTTP协议和B/S 结构 1.2 前端三大核心技术 1.2.1 HTML 1.2.2 CSS(Cascading Style Sheets)层叠样式表 1.2.3 JavaScript 二 WEB框架 2.1 web资源和访问 2.2 后台应用架构 2.2.1 单体架构 2.2.2 微服务 2.2.3 单体架构和…