首页 文章 精选 留言 我的

精选列表

搜索[首次公开募股],共10000篇文章
优秀的个人博客,低调大师

只需三分钟,让红薯在朋友圈公开赞美我

小编在开源世界网上冲浪的时候,突然看到一个很有意思的开源软件:WechatMomentScreenshot ,这是一款可以生成朋友圈转发截图的工具。 除了可自定义朋友圈的文案和图片,这款工具还支持自定义评论者的名称、头像和评论等内容。总而言之,常规截图上能看到的内容均可自定义,排版和自己发的朋友圈完全一致。 尝试一下:https://akarin.dev/WechatMomentScreenshot/ 需要注意的是,作者在源码仓库和在线页面强调了用户不可使用该工具作恶:本工具生成的截图,只可用于应付各类强制要求转发朋友圈的场景,或者好友之间图一乐。切勿批量生成截图或将截图用于造谣诽谤、微商宣传、灰色产业等非法或令人反感的用途。 小编浅浅试了一下,只需两分钟即可生成一张”由红薯发布的夸夸朋友圈“,且排版相当精美。当然,生成的图片仅供一笑。 该工具开发的初衷是用以对抗各种强制转发微信朋友圈的场景,作者本人对微信并没有太多好感,源代码中有一个名为 ”f**kWechat“ 的 JavaScript 文件。这是一个针对微信 app 的遮罩,从微信中打开该工具的网址,会弹出该提示框: 用户也可以下载工具源代码到自己的服务器上来部署一个镜像站,然后通过 Issue 在仓库中提交镜像站地址。但二次部署时请不要删除原作者相关信息,也勿用于商业用途。 以下网站在二次部署时故意抹去该软件的作者信息和代码库链接, 已被软件作者钉入耻辱墙: h**ps://www (dot) 41661 (dot) com/ 移除原作者信息和源代码链接,目前以 “本工具全新开发中” 为理由关闭了截图生成功能,但实际上也并没有为本仓库提交过任何代码 h**ps://dz (dot) luyashe (dot) top/ 移除原作者信息 h**p://zan (dot) liflag (dot) cn/ “立 flag 网” 移除原作者信息和源代码链接 h**ps://zxxgj (dot) net/tools/tuxiang/pyqjietu/ “在线小工具” 移除原作者信息和源代码链接 h**ps://oss (dot) 361s (dot) cn/tool/pyq/ “天乐博客” 移除原作者信息和源代码链接 h**p://www (dot) chwl2015 (dot) cn/ 移除原作者信息和源代码链接 h**ps://www (dot) yeyulingfeng (dot) com/tools/zan/ “夜雨聆风” 移除原作者信息和源代码链接 h**p://pyq (dot) cttuwen (dot) cn/ 移除源代码链接 h**p://wxpyq (dot) ssltgm (dot) com/ “三石论坛” 移除原作者信息和源代码链接 h**ps://www (dot) dkewl (dot) com/code/detail2196.html “刀客源码” 移除原作者信息和源代码链接 h**ps://www (dot) chichisvip (dot) com/post/37497.html “痴痴资源网” 有偿售卖源代码 h**ps://mirror (dot) xyz/z22222.eth/2DBLOfyd05xlHqOdBD0-ZI1pejXp009838kLvrVSDv0 “Free DAO” 在介绍中诱导将生成的截图有偿售卖和用于灰产,公众号和私域流量引流 h**p://www (dot) jikexq (dot) cc/pyq/ “极客星球 / 宇宙领域科技” 移除原作者信息和源代码链接 h**p://xnw (dot) 51tongxin (dot) cn/ 移除原作者信息和源代码链接 h**p://h5 (dot) 05zh (dot) com/erji/pyqdzsc/ “库简盒 APP” 移除原作者信息

优秀的个人博客,低调大师

30款提升组织效能 SaaS 工具,我们的宝藏工具箱大公开

熟悉 Juicedata 的小伙伴知道,从2017年成立到第一款产品发布、从寻找PMF(Product Market Fit) 到开源,我们一直保持着一个精简的团队配置,不少人都很好奇我们是如何做到的?今天邀请Juicedata的合伙人苏锐,为大家分享各阶段用到的趁手工具。 大家好,我是 Juicedata 的合伙人苏锐,Juicedata 是一家开源基础软件公司,创立于 2017 年,核心产品 JuiceFS 是一款为云设计的分布式文件存储产品。 开发存储产品需要时间和场景的考验,过往的很多存储公司从创立公司到产品发布,往往要经历三到四年的时间,构建几十甚至上百人的团队。深知这其中的挑战和考验,创立 Juicedata 的时候我们也问自己这样的问题:产品多久能发布?需要多少人? 当时我们也给不出一个准确的答案,但我们确信要实践互联网产品快速迭代的思想,要让公司保持非常精简的团队,非常高的组织效能,这样才能应对在产品研发、市场销售和企业发展与管理中的重重挑战。 先简单介绍 Juicedata 的过去,方便大家理解背后所需的工作。 JuiceFS 的开发始于 2016 年,2017 年底在全球公有云上发布了云服务的第一个版本。此时我们有 2 名全职员工。 然后,我们用三年时间打磨产品,过程中落地到 20 家商业客户的生产环境中,完成了存储稳定性和可用性考验,在 DevOps、大数据、AI、容器存储等多个业务场景中使用,完成了 PMF(product market fit) 的过程,此时我们有 6 名全职员工。 为了能让 JuiceFS 被更多企业了解并应用,2021 年我们将 JuiceFS 开源。开放共建的方式让更多的用户和贡献者加入进来,产品迭代的速度也更快,仅1年时间,在 GitHub 上已经有 5.4K stargazers。此时,我们有 15 名全职员工,开发运营着 JuiceFS 的社区版和云服务,服务6000多位开源用户、数百家企业,其中不少是大型上市公司。 很多客户都好奇 Juicedata 如何做到这么少人把 JuiceFS 这个产品发展起来的。我认为组织效能是创业团队的核心,容不得一丝浪费。保持高组织效能的关键是专注,不是加班。 今天给大家分享一下陪我们一路走来,帮助我们释放 10 x 人效的 SaaS 工具箱,让我们可以专注在核心业务上。没有这些工具,真的不行! 打开 Juicedata 的宝藏工具箱之前,先谈几点我们选择工具的原则: 创业之初我们就确定要做一个全球化的产品,工作中用到的各种工具也会有优先选择全球化的,方便组建全球化的团队,也可以从中学习优秀产品的设计。 选择最优秀的工具,甚至付费的优先,优秀的工具通常意味着更好地实践和体验,少走弯路,也能从他们的产品和服务中受到启发来改进我们的产品。 SaaS 优先,不要私有部署,不用开源产品自建。这样能最大程度减少维护成本,不要花精力在这些维护工作上。 在线工具优先,比如把 Office 换成在线文档,协作效率高很多,数据也更安全,不用担心硬盘坏掉,也不用费心备份。 选择低学习门槛的工具,比如"稿定设计" 比 Photoshop 简单,每个人都能学会。 让工具保持简单,够用就好,不要过多考虑未来的需求,警惕 Over design。比如我们用 GitHub Wiki 做内部知识库,而没有买单独的产品,等未来不能满足需求的时候再换不迟。 有些工具要考虑本地化需求,比如运营设计产品,接地气的模板才是关键,这时全球通用就应该让步了。 我将按照创业发展的过程来介绍这些工具,方便读者理解选择这些工具的原因和实现了什么价值。在文章的最后,我还会晒一下公司的 SaaS 账单,看看我们一个月使用各种 SaaS 工具究竟花了多少钱。 Day 1, 创业开始 2017年,在产品研发启动之前,最先需要工具的是沟通和 BackOffice。 消息中心:Slack 网址:https://slack.com/ 价格:$8/账号/月 Slack 作为团队协作的即时通讯工具,有一些产品设计是我们非常喜欢的: 所有的 Channel 都是开放的,所有信息都能看到,这代表着开放透明的团队文化; 任何时间加入可以看到、搜索到过往所有消息,方便新成员了解工作历史; 每条消息都可以用 emoji 响应一下,给队友回应,又避免「收到」、「赞」刷屏; 每条消息都可以成为一个 Thread,在里面持续讨论,方便跟进,还不会打扰到其他人。 Slack 已经使用了五年,现在它不仅是沟通工具,也是所有工作事项的集合地,可以把各种日常用到的 App 集成进来。 比如: GitHub 仓库收到的 issue、PR 还有 CI 结果会通知; PagerDuty 的告警会通知; 分享给我的 Docs 和 Comments 会通知; Pipedrive 里新的销售变化会通知; 用 Zapier 订阅的关键词更新会通知; Intercom 上的对话会通知; 我们云服务的一些业务状态也写了 Bot 通过 Slack API 通知。 上面提到很多工具名字,都会在下面一一分享给大家。这些工具的通知会分门别类发到指定的 #channel,发给指定的人。收到通知后,甚至不用切换到对应的 App,在 Slack 里就能完成处理。 2021 年 JuiceFS 开源后,我们也使用开放的 Slack channel 作为社区交流的场地,所有人都可以通过一个 URL 加入进来,社区用户之间就能建立起连接,这种交流的方式比使用论坛更亲切。 P.S. Slack 还提供了精细的提醒设置,让我能收到重要消息的提醒,又不会被过度打扰。 电子合同:DocuSign 网址:https://www.docusign.com/ 价格:$15/账号/月 海外的签约我们都用 DocuSign,几年下来没用 UPS 快递过合同。别小看这件事,一次跨国快递往返通常要 10 天以上,疫情期间这个等待时间还要多几倍,还有寄丢的风险。 使用 DocuSign 签电子合同只需要几分钟,还能帮你管理归档,再也不用去文件柜里翻了。没有电子合同之前,这件事往往是有专门的人来负责。国内电子合同服务我也调研过,企业之间签电子合同的接受度不高,还是要求打印、盖章、一式 N 份、快递邮寄、实体存档。这些问题并不是因为国内电子合同服务不够好用,与企业审计标准、BackOffice 的流程、从业人员的习惯都有很强的相关性。在快递、外卖、物流等灵活用工招聘很多的企业,已经在用电子合同了,期待在国内也能广泛用起来。 费用报销:Expensify 网址:https://www.expensify.com/ 价格:$20/账号/月 Expensify 是用来管理报销的工具,通过它导入信用卡账单,再生成报告申请报销。美国公司每年的报税,也是通过它跟第三方机构协作,省时省力。除了报销,还可以做员工费控,可惜和国内的财税体系不兼容,对国内部分用处不大。 上面几个产品的注册、配置,一个人一上午肯定能搞定。基本的协作、交流搞定,就可以专注研发产品了。 从 Idea 到产品发布 产品研发需要趁手的兵器,工程师们也最喜欢研究各种工具,下面这些是比较通用的工具,每个工程师都需要的。可靠的服务减轻了我们很多负担,如果没有这些可靠的「轮子」,很难想象 JuiceFS 服务要开发多久! 代码与项目管理:GitHub 网址:https://github.com/ 价格:$4/账号/月 很多公司会自己部署一套 Gitlab,理由大多是觉得放在自己服务器上踏实,觉得有可能自己定制一下。都有道理,但我们认为更重要的是省事,所以我们使用 GitHub。 Juicedata 不仅把代码放在 GitHub,项目管理也用 GitHub Issue + Project,不再用单独的工具,公司内部的 Knowledge Base 也是用 GitHub Wiki。这是我们的另一个原则,保持简单。 GitHub 同时也是最大的开发者社区,2021 我们将 JuiceFS 开源时,也是选择将源代码和开发流程放在 Github,便于我们跟全球的开发者一起协作沟通。内外部项目都使用相同的工具和流程,同时在多个内外部项目工作也几乎没有切换成本。 持续集成:Travis CI + GitHub Action Travis CI 网址:https://www.travis-ci.com/ 价格:5 个并发,$249/月 GitHub Action 网址:https://github.com/features/actions 价格:对开源项目都是免费的,对私有项目 GitHub Team Plan 包含 3000 分钟,超出部分按使用量付费,可以设定配额。 我们一直使用 SaaS 化的 CI 服务,几年来没有为 CI 投入过任何额外精力。起初使用 Travis CI,后来 GitHub 推出 Action 之后,对开源项目是免费的,且没有并发限制,将部分任务迁移到 GitHub Action 以缩短测试用时,目前两个工具同时用。 支付:Stripe 网址:https://stripe.com/ 价格:每笔扣款的 %2.9 + $0.3 手续费 从创业初始,我们就坚信,与私有部署方式相比,云服务可以提供最好的用户体验,可以为我们提供很高的服务支持和产品迭代的杠杆率。云服务需要用户尽量多地自助服务,账单和支付是必需的。 我们选择 Stripe 搞定所有账单和支付相关的事情。开发接入门槛低,而且 Stripe 在用户群体中也已经获得了信任,大家可以信任在 Stripe 的弹窗中输入信用卡信息,但不一定信任在你的网页表单中输入。对于国内用户,Stripe 支持支付宝,可以扫码充值,我们也用 Stripe 来管理充值和账号余额。对于需要走对公付款的国内客户,仍然可以使用 Stripe 来管理账单,并跟踪付款状态。此外的发票等流程管理,我们用 Google Workspace 的一张表格搞定。 Stripe 的 API 与文档设计非常好,确保你第一次上手能顺利搞定,这是 to developer 生意的核心要素! Stripe 最近还开源了自己的文档框架 Markdoc | A powerful, flexible, Markdown-based authoring framework (https://markdoc.io/) 邮件服务:SendGrid + SendCloud 网址:https://sendgrid.com/ 价格:$14.95/月 我们在云服务中使用 SendGrid 发送邮件。比如注册通知、账号激活、找回密码等重要邮件,还有内部一些自动化邮件通知。老牌服务了,值得信赖。部分国内的邮件服务商在接收 SendGrid 的邮件容易进垃圾箱,我们也用了 SendCloud 作为补充,部分国内的邮箱地址会用它来发送。2022 年了,应该不会有任何一个 创业公司自建邮件服务来做这件事了。 产品发布 在线客服:Intercom 网址:https://www.intercom.com/ 价格:$74/月 2018 年初,我们在全球公有云发布了 JuiceFS 云服务,如何让用户方便的与我们联系是提升用户转化率和服务支持满意度的重要能力。以往很多服务会在网站页面上放置一个浮窗,上面写着电话、QQ,可能还有一个表单。后来开始有在线客服,但是体验并不好,常遇到「连不上服务器」,「我们尽快回复您」但是永远得不到回复等问题。 我在调研客服系统之后,毫不犹豫的选择了 Intercom。Intercom 的内容营销做的非常棒,每次看它的 Email Campaign 都是享受,用上产品之后我还把他们发行的电子书都下载看了一遍,这样的内容营销能力绝对是数一数二了。也正是他们的优质内容说服了我,这么会和用户交流互动的公司,他们做的交流和营销产品也一定不会差。 从产品发布我们就用 Intercom 在网站上提供在线聊天窗口,初始的作用就是在网站上提供一个对话框,Intercom 还提供了手机 App,我们可以随时随地可以回复网站上的用户提问。成了高阶玩家,还可以配置对话模板进行自动回复,提高效率,提升用户 Engagement。我们通过它的 API 和 JuiceFS 网站用户账号关联,之后就能用 Intercom 给注册用户发邮件了。Intercom 的自动化邮件也很方便,我会用它来群发产品升级通知、客户案例文章等。 缺点是 Intercom 的网站在国内访问有点慢,好在可以用它的 integration 与 Slack 关联,然后可以直接在 Slack 里面收到并回复 Intercom 消息。 这个产品已经用到第五年,真的帮我们节省了很多时间和心力,只需要把精力专注在与用户沟通的内容上,剩下的事情都被 Intercom 搞定了。 监控报警: PagerDuty 网址:https://www.pagerduty.com/ 价格:$34/账号/月 和一般的 SaaS 不同,JuiceFS 需要在每一家公有云的每一个区域上部署服务,这对 SRE 要求很高,我们也尽量使用 SaaS 服务简化工作。 靠好工具的加持,负责维护 JuiceFS 十几个公有云 100 多个 Region 的服务,SRE < 0.5 人。 我们使用 PagerDuty 发送 JuiceFS 云服务的报警通知,报警事件按严重程度分为 2 级:WARNING 和 CRITICAL,前者发送 Slack 通知,后者要同时发送 SMS 消息和打电话。 P.S. 如果是自己维护的告警系统,一定还需要另一套告警系统来给它报警吧,这个套娃问题信任 SaaS 服务吧 ;) 日志服务:Solarwinds-papertrail 网址:https://www.solarwinds.com/papertrail 价格:10G 数据量,$10/月 我们使用 Solarwinds - papertrail 搜集全球所有服务节点最重要的关键日志,可以在统一的界面搜索所有节点的实时日志,对于分析分布式系统的问题非常有帮助。它还可以配置关键字进行报警,发送到 Slack。我知道也有不少用户使用公有云自带的日志服务,但是 JuiceFS 需要在十几个不同的公有云上部署,学习十几家不同的日志服务是崩溃的,一个好用的 SaaS 日志服务才是解决之道。 迭代,寻找PMF 产品发布了,但可能连站在起跑线上都不算,只能算是热身吧,接下来的销售工作才更艰巨。我们用了三年时间迭代产品,向客户证明可靠性、可用性,找到 PMF(product market fit) 的客户和场景。在这 1000 多天里,我的工作就是用各种方式约用户,去公司拜访介绍 JuiceFS,为潜在客户设计方案,推动测试,签单。客户规模从最早的 Startup 逐渐扩展到上市公司,场景从边缘的数据备份逐渐变为企业核心的数据湖。这个过程最重要的首先是 CRM 工具。 CRM: Pipedrive 网址:https://www.pipedrive.com/ 价格:$19.9/账号/月 我们最初使用 Salesforce, 强大的功能让人眼花缭乱,在缺乏足够的客户销售数据时也完全体会不到它的强大,在试用半年后就不再续费了。后来尝试过 Google Sheet 做 CRM,每行一条客户信息,详细的记录要附加一个 Doc,里面记录着每一次的沟通记录,记录到 100 个客户信息后,用一张表来跟踪变得越来越麻烦,信息呈现不直观,统计汇总不方便。 我也调研了国内的几个工具,大多是面向大型销售团队管理短平快的交易的。而 JuiceFS 作为企业 IT 基础设施软件,在销售中有几个特点: 销售流程中涉及的人员多,需要交易记录中有详细的 Contact 管理; 需要和客户讨论的问题复杂,很多的业务、技术问题都需要详细记录,还有很多表格、图片甚至代码等附件; 销售周期相对长,所以每一个 deal 都需要能长期跟进,通常是 1-6 个月,签单之后还有更长的客户成功阶段,通常有 3-5 年甚至更长,沉淀下来每一个客户的信息都形成了一个知识库。 这些特点就是对 CRM 的需求,最后我们选择了 Pipedrive,它能满足这些信息管理需要,而且以直观的看板方式呈现 Pipeline,上手门槛特别低,几年用下来我觉得不错。 我认为 CRM 是 toB 企业必备,选择一个适合你的工具,帮助非常大! 开会用到的 现代企业的线下拜访越来越少,线上会议让客户和我们都更有效率。客户不用再为拜访预约会议室,不用再因为大厦安保要求下楼接人,客户的行政同事不用再给我们送水。这些动作看起来也不是多大的负担,但对于一家大型企业每年上万场会议下来,节省的资源和时间是很客观的。客户接受并习惯了线上会议,我们做乙方的也能少跑些路,但是和客户开会用到的软件可真是五花八门,通常我会按客户的习惯,使用他们的日常会议软件,这样做不需要客户安装额外的软件,做额外的配置,方便接入他们的会议室系统。 我们日常能用到的会议软件有 腾讯会议、Zoom、钉钉、飞书会议、微软 Teams、Chime、小鱼、UMeet、WebEx 等等,使用体验上大同小异。 沟通用到的 即时通信软件和会议软件一样五花八门,前面说过我们团队内部沟通、协作主要用 Slack。 但是和客户沟通只用 Slack 不行,都用微信行不行?我会优先选择使用客户团队的即时沟通工具,这样做有一个好处。客户工作时段很忙,注意力都在自己内部的沟通工具上,经常是不看微信的。如果用客户日常的 即时沟通工具,他们少了切换成本,还方便和其他同事拉群,交流响应上更及时。所以,我日常就会开着微信、企业微信、钉钉、飞书、Slack。 远程桌面: TeamViewer + 向日葵 网址:https://www.teamviewer.com/ 价格:$24.90/月 为用户提供 IT 基础设施软件,软件本身的边界看似清晰明确,但是用户的使用场景和使用方法也是千变万化,所以能直接看到用户使用的现场是至关重要的。JuiceFS 提供云服务,用户也会在安全策略允许的条件下上报监控数据给 JuiceFS,这样运维与问题的排查方便了不少,但是在支持客户过程中有时仍然需要连接到客户环境进一步排查。我们会使用 TeamViewer 连接客户操作用户的桌面。如果没有远程桌面,大家只能发截图,这样的画面就很常见了: 就这样,很多来来回回的沟通是免不了的。根据用户习惯,我们也用向日葵等其他远程桌面工具,现在腾讯会议、飞书会议也支持远程操作了。 在线设计: 稿定设计 + 即时设计 稿定设计网址:https://gaoding.com/ 价格:个人专业版 ¥158/年 即时设计网址:https://js.design/ 价格:免费 产品发布之后一定少不了运营和市场工作,虽然我们团队人少,但是工作内容一个不少。 做市场活动经常需要一些海报、头图,这些内容的创作已经不再需要 Photoshop 和 Illustrator 这些大家伙了。我们使用稿定设计,没有任何学习门槛,更好的是它提供的海量模板,我要做的只是像逛淘宝一下找到自己喜欢的模板,改改即可。 即时(js.design)设计和 Figma 是类似的在线设计工具,对于画流程图、原型图等,也同样比 Photoshop、PowerPoint 好用的多,相比 Axure、OmniGraffle 又在协作上带来了巨大的方便,发个链接就能邀请伙伴进来看,还能随时评论、一起设计,再也不用把截图、PDF 在微信和邮件里传来传去了。 开源,面向更多用户 2021 年我们发布了 JuiceFS 社区版,这让更多开发者可以关注到 JuiceFS,并且能看看 JuiceFS 代码写的怎么样,也更容易上手体验,不需要云账号了,自己的电脑上就能安装试用。开源社区也给了我们产品发展、迭代更大的空间,同时也多了很多工作。我们要倾听社区中用户的声音,响应他们的需要,这个过程中也是一系列好工具帮助了我们。 社区运营: Orbit.love 网址:https://orbit.love/ 价格:对开源项目免费 Orbit.love 是支持社区运营的工具,可以把 GitHub、Twitter、Slack channel 这些有你用户的平台、社交媒体关联到 Orbit,它能汇总、分析、统计这些用户在各个平台上的行为。 举个例子,作为一个开源软件社区,如果一个用户在 GitHub 上给你的项目加星,说明他有了最初的关注。如果接下来他又加入了 Slack channel,在 GitHub 上提了 issue,转发了项目的 tweet,每一个动作都代表这他对产品的关注和参与程度。这些行为都能汇总到 Orbit.love 上,让我有很容易看出哪些是新用户,哪些是深度用户,哪些是流失用户,社区运营工作就有了参考依据。 Orbit.love 是我今年用过最有趣的工具,没有之一! 邮件列表:Mailchimp 网址:https://mailchimp.com/ 价格:2000 联系人以下免费 我在「产品发布」一段提到使用 Intercom 给网站用户群发邮件,但是 JuiceFS 开源后,会有一些用户仅仅是关注 JuiceFS 社区版,并不需要注册 juicefs.com 云服务。所以我们又为社区用户提供了一个邮件列表,使用的 Mailchimp,老牌邮件营销服务,但目前我们使用的功能比较浅。 万能的自动化工具:Zapier 网址:https://zapier.com/ 价格:$29.99/月,包含 750 个自动任务 Zapier 是一个自动工作流工具,玩法很多。我用它来监控 Twitter 和 HackerNews 关键词,一有新内容就往 Slack 上发个消息,可以帮助了解 Voice of Customer。同事会使用 Zapier 将邮箱中的新邮件转发到 Slack,很多邮件都是通知提醒,都汇总到 Slack 更方便查看,减少打开邮件的次数。 Zapier 的产品体验做的非常棒,值得每一位 PM 都好好体验一下。 最后,上账单! 公司一个月的账单还不到一个人一周的工资,这些 SaaS 工具帮助我们每个人保持专注、高效。有朋友问我们为什么你们的工具箱中来自中国团队开发的 SaaS 工具很少?主要原因是 Juicedata 面向全球用户交付产品,在团队工作流程里选择国际流行的工具,更容易实现全球招聘、与不同国家地区的同事协作。 同时,海外 SaaS 工具发展时间比较长,产品选择多,生态集成完善,很方便我们为不同的需求选择最顺手的工具,我们还能从工具中学习一些最佳实践。需要本地化的工具我们会选择最适合本地情况的,比如制作市场宣传海报的稿定设计,会跟着国内的设计趋势和日历提供丰富的模板。访问远程桌面的向日葵,线上会议和即时通讯的 Apps,都是非常本地化的。 还想提一句,这些 SaaS 工具没有一个是销售或营销邮件、广告触达到我们的,都是我们自己从需求出发,通过搜索、看文章、朋友分享主动了解后注册体验,然后绑卡付费的,这些 SaaS 产品都是 PLG (Product Led Growth)产品,也让我们会思考这个过程,想实现产品的 增长,需要做到什么?用户体验会卡在哪里? 好了,这篇万字长文终于码完了。 得益于这些软件,让我们一直保持专注和高效,如果这些工具的选择和使用经验对你有启发,请转发给更多的创业团队和开发者,也欢迎向我们推荐你的宝藏工具。 如有帮助的话欢迎关注我们项目 Juicedata/JuiceFS 哟! (0ᴗ0✿)

优秀的个人博客,低调大师

【Elasticsearch 入门公开课】Elasticsearch 搜索、文档CRUD、索引及分词原理介绍-回顾篇

讲师:阮一鸣——eBay Pronto 平台技术负责人、极客时间『Elasticsearch 核心技术与实战』课程讲师课程为了更多同学能快速体验 Elasticsearch,为大家提供了免费的阿里云 Elasticsearch (3节点1核2G)的测试环境>>>>去开通 课程回顾 11 | 文档的基本CRUD与批量操作12 | 倒排索引入门13 | 通过Analyzer进行分词14 | Search API概览 知识点 1 :文档的基本CRUD与批量操作 Create 一种文档 Create 支持两种方式• 第一:通过程序指定 ID• 第二:调用系统“post/users/_doc”生成文档 ID Get 一个文档 仅需执行 get users/_ doc/1,就可以看到文档信息 Index 文档 与Create 区别,当

优秀的个人博客,低调大师

阿里工程师公开高可用架构笔记

阿里妹导读: 在这场抗击新型冠状肺炎的战役中,普通人能做些什么呢?可能「宅」是现在大多数人能作出的重要贡献之一。在这些深「宅」时光里,用手机或电脑打打游戏、追追剧成了很多人暂时忘掉现实的「良药」。可是!正要上分的游戏突然崩了,正演到关键的剧情突然挂掉,最近“某某 app 崩了”带着广大网友都能领悟的痛频上热搜。网友纷纷呼唤程序员小哥哥快上班,其实疫情期间线上流量激增,很多线上应用都面临着巨大挑战……要解决高流量和突发流量这种业务冲击下,线上应用频繁崩溃的问题,首先需要审视企业目前 IT 架构是否能支撑未来的业务发展 阿里巴巴在多年 双11 高并发,高可用和高客户体验要求背景下积累了相应的技术体系,并赋能罗辑思维等客户,帮助他们落地全链路压测。本文整理自高用户、突发高流量场景下的真实案例,公布阿里在高可用架构建设过程中的实践笔记,期待帮助更多企业从容应对接下来的高流量场景。 你的应用为什么崩了? 非常复杂的服务端 在我们的日常生活中因为 app 侧相对稳定,“崩”一般发生在看不见摸不着的“服务端”(或者叫云端),而这个服务端有多复杂? 以一个较为成熟的云上架构为例,光是阿里云中构建一个在线服务可以用到的云计算基础、安全和企业应用三个分类的云产品数量就达到几乎 200 款。而我们从客户端(App/PC)到达服务端会涉及到的关键节点就有 CDN、动态加速、高防、应用防火墙、4/7 层负载均衡、前后端服务集、缓存、数据库存储、中间件、基础设施层等等,整个链路都面临着不确定性,比如负载均衡中影响流量的产品规格就有 5 个,后端服务的服务规模化问题更是复杂和难以评估检验,这其中任何一个节点出问题都会导致服务不可用,给最终用户一个“崩”的感觉。同样的问题在专有云、混合云和自建 IDC 都有。 如何能有效的全面检验服务端吞吐能力、发现所有问题甚至是做好容量规划,具备对峰值的流控调度能力是所有企业都需要思考和应对的。 没有提前规划的服务能力 如果应用没有对自己的服务能力进行提前规划,没有提前做好关键节点的规划,对线上的应急措施如弹性扩容,线上防护,熔断降级等都不具备,在面对业务突发时,就很难保证核心接口能够稳定对外服务。一旦,出现应用“崩了”的情况下,很多企业无法采取正确的手段,匆匆扩容非但不能解决问题,反而带来更多不可预期的问题,导致“崩了”进一步的恶化。 除去因问题发现、容量规划、流控和熔断降级引起的“崩”外,运维态的隐患问题如故障影响面、配置一致性、监控和根因分析相关工具、复杂的人员组织的高可用程度等,如果没有足够的演练和验证方案,一样会在关键时刻让你的应用出现“崩”的情况。 阿里巴巴工程师的高可用架构建设笔记 下面我们将阿里巴巴工程师在高可用架构建设实践中,积累的真实经验以笔记的形式分享给大家。 架构设计 首先要实现架构可视化。利用 AHAS 的架构感知可以全面了解云上系统架构,以可视化的方式直观呈现云资源、容器和应用间分层依赖关系。服务器、存储、网络是现代云平台的基础设施。随着上云战略的推进,越来越多的企业将业务、服务、系统构建在云平台上。 开源软件和云服务的多样性,开发语言的异构性,以及企业 IT 团队的组织和能力差异,都提高了标准化的复杂性。架构感知功能应运而生,通过采集和分析操作系统及第三方标准接口,捕捉进程级的调用关系,并使用特征库算法识别进程所使用的技术组件,最后在服务器、容器和进程这三个维度上以可视化的方式展示应用架构,给用户一张全面清晰的云上架构地图。围绕这张基础的视图,会持续衍生出云资源、容器和应用架构多维度的架构视图,还有搬站、重构梳理和资产管理等场景化的视图,真正做到CMDB可视化,驱动问题发现助推业务增长,释放云上的更多维度的红利。 而关于强弱依赖治理,因为强依赖本身意味着一荣俱荣,一损俱损。结合 AHAS SDK 的引入和预埋,一旦当平台最大吞吐能力到达瓶颈时,除了入口或者web类应用的业务峰值流量限流可以起到第一层的保护作用外,还可以将预先标记为弱依赖的服务平滑下线,从而达到节省更多资源保障核心计算能力的目的,同时还可以去除非核心对核心服务的影响,最终通过合理高效的服务降级最大程度获得业务和成本的平衡。而使用了AHAS SDK之后在编码时,只需要关心如何定义资源,即哪些方法/代码块需要保护,而不需要关注如何保护这个资源。然后通过添加规则来保护资源,规则添加即时生效。 容量规划 外网仿真压测:首先可以通过 PTS 高效快速构建同模型和量级的业务流量,对于开源主流的 JMeter 脚本可以直接 100%兼容,对于没有现成脚本的情况可以使用PTS自研的可视化交互进行0编码编排,编排完成后从公网的各地域运营商发起,真实模拟特定业务场景下的外网流量,从而全面验证和探测云上或云下整体架构(从网络接入到应用服务内再到存储层和基础设施)的瓶颈和问题。 全链路压测:更进一步的,如果在生产环境想直接精准衡量业务容量的情况,可以通过 PTS 相关解决方案使生产环境具备压测流量识别和路由到指定影子存储区域的能力,结合相关影子存储区域的准备,然后做到同样规模基础数据上的业务流量压测同样的生产环境,最终达到精准衡量线上生产环境的能力,当然,对于压测流水数据由于已经隔离开,所以可以方便安全的清理和维护。 业务监控 面对复杂的应用环境和高速增长的业务,ARMS 能帮助用户快速构建各种环境下完整的监控体系,实现从页面到数据库、从应用性能到基础架构资源、从 IT 到业务的端到端监控。减少故障排查时间,降低跨部门沟通成本,最终降低因为故障和体验差给企业带来的损失。 线上管控 于运行态或已有应用可以通过 AHAS 探针形态(除AHAS SDK外更轻的方案)在不修改代码的情况下进行业务洪峰的流量强力控制、消息场景的削峰填谷,而对于结构复杂的可以将系统内或外不稳定的因素迅速降级让业务保持稳定,同时还有单机过载保护(根据 RT 动态调节入口流量)的兜底能力,甚至很多时候系统来不及压测或者不知道配置什么规则的时候单机智能过载保护是个很好的功能和方法。以上都在运行态和运维侧即可完成引入和控制。对于线上配置项和业务属性值通过 AHAS 开关模块的轻量级方案进行安全和统一管控,这部分能力即将开放,敬请期待。 日常巡检 风险的提前暴露,通过 Advisor 智能顾问对云上主要云资源进行全面的巡检和风险识别,规则都来自于阿里云一线TAM同学面向客户的技术体系积累及阿里生态内 SRE 最佳实践的融合。基于前述的架构地图和用户的输入,可进行更深层次的应用/业务架构层面的巡检和建议。 常态化演练 AHAS 的故障演练模块遵循混沌工程实验原理并融合了阿里巴巴内部实践的经验,基于此用户可以建立流程完整而且可视化程度很高的故障演练体系,可方便的对基础资源、应用服务、容器服务和云平台4层进行超多维度的编排和定制,同时产品还提供了丰富的成熟故障经验库。从而帮助用户实现包括架构、业务、人员的全面高可用提升。故障演练在依赖治理、业务连续性提升和故障修复验证等场景中都有巨大作用。 工具一览表 1、应用高可用服务 AHAS 专注于提高应用高可用能力的云工具产品,提供应用架构自动探测,故障注入式高可用能力评测和一键流控降级等功能,可以快速低成本的提升应用可用性。 https://www.aliyun.com/product/ahas 2、性能测试 PTS 面向所有技术背景人员的云化测试工具。有别于传统工具的繁复,PTS以互联网化的交互,提供性能测试、API调试和监测等多种能力。自研和适配开源的功能都可以轻松模拟任意体量的用户访问业务的场景,任务随时发起,免去繁琐的搭建和维护成本。更是紧密结合监控、流控等兄弟产品提供一站式高可用能力,高效检验和管理业务性能。 https://www.aliyun.com/product/pts 3、智能顾问Advisor 智能顾问 Advisor 根据用户情况,结合阿里云长期以来的客户侧最佳实践,基于TAM(Technical Account Management)服务体系的核心基础能力,全方位地为用户提供云资源、应用架构、业务性能及安全上的诊断和优化建议。现在,越来越多的阿里云云原生客户可以通过 Advisor 便捷地享受专业的 TAM基 础服务,更好地用好云。同时,我们也会围绕 Advisor 为有相关需求的客户提供专项深度的 TAM 服务。 https://www.aliyun.com/product/advisor 4、企业级高可用架构解决方案 脱胎于阿里巴巴电商业务下的高可用技术体系经过所有的双11流量洪峰考验、日常稳定性考验,已经服务于阿里全生态并开始服务外部的企业客户,解决方案为企业提供的包括营销活动支撑、整体成本控制(全链路压测、容量规划、流量控制、调度)、应急应对能力(开关和预案)、容灾逃逸能力(架构感知、故障演练、异地多活、单元化)。 https://www.aliyun.com/solution/ehasl 5、混沌测试工具 ChaosBlade ChaosBlade 是一款遵循混沌工程实验原理,建立在阿里巴巴近十年故障测试和演练实践基础上,并结合了集团各业务的最佳创意和实践,提供丰富故障场景实现,帮助分布式系统提升容错性和可恢复性的混沌工程工具。 https://github.com/chaosblade-io/chaosblade 6、轻量级流量控制框架 sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助您保护服务的稳定性。

优秀的个人博客,低调大师

Flutter+Serverless 研发实践公开

阿里妹导读:Serverless(无服务架构)被誉为下一代云计算,自概念推出以来,因为能带来研发交付速度提升与成本的降低在业内异常火爆。闲鱼客户端基于Flutter进行架构演进与创新,通过Flutter统一Android和iOS双端提升研发效能之后,希望通过Flutter+Serverless 解决各角色间存在大量的协同,导致整体研发效率低,移动端离业务越来越远,服务端没有时间做底层领域沉淀的问题,从而进一步提升整体研发效率。 研发架构的演进 接下来我们带着这里两个问题回顾前后端研发架构演进的历史。 PC互联网早期没有还没有前后端的概念,此阶段单个业务需求通常一个开发人员可以完成研发,前端网页与后端逻辑都写在一个工程中。随着业务越来越复杂,原本开发者负责前后端研发已经变得效率低下,此阶段随着移动互联网的爆发,服务端需要服务与PC、Android、iOS等多种前端。 服务端总是有一个疑问:服务端设计接口时,是应该面向 UI,还是应该面向通用服务?一个方案是抽取一部分服务端做 BFF(Backend For Frontend服务于前端的后端),作为前后端之间的适配层,核心是解决数据的聚合与编排,重新探索更合理的分层协作模式。 服务端写BFF带来新的问题,总是包接口无法提升个人能力。如果BFF由端侧同学开发可以解决这个问题,具体技术方案也是接下来我们要思考的问题。 云端一体化技术方案 Serverless 由 BaaS(Backend as a Sevice)与 FaaS(Function as a Service)两部分组成。BaaS 主要包括数据库存储、消息队列等能力,针对复杂的需求建议由服务端在 BaaS 层封装领域服务供 FaaS 层使用。作为端侧开发,核心关注客户端与FaaS层的代码开发。 目前公司 FaaS 环境已经支持 Java、Kotlin、Swift、Dart、Node.js 等多种语言与框架,闲鱼通过 Android(Flutter)、iOS(Flutter)、FaaS(Dart Runtime)都使用Dart 达到语言一体,并且实现协议一体与工程一体。 语言一体:Android、iOS、FaaS层使用 Dart 语言开发,实现三端语言统一,有效屏蔽FaaS层语言学习成本。 协议一体:通过一体化框架屏蔽通信细节,前后端同一份State,减少协议转换,前端同学调用FaaS服务时,如同调用本地函数一样简洁。 工程一体:前后端可以在同一个工程中进行开发,利用Dart特性可以通过Hot Reload机制进行快速开发联调。 下单页一体化实践 下面以闲鱼下单页一体化为例,通过页面渲染与交互两部分展开一体化实践过程。 下单渲染一体化 从上图左侧可以看出,客户端渲染此页面需要在端侧请求5个接口,处理渲染接口之间的逻辑,把接口返回的Data转为为ViewModel。经过一体化改造之后,原有在端侧的逻辑都移到FaaS层,包括聚合5个领域服务,处理业务逻辑,进行字段映射与页面编排,端侧无任何渲染与业务逻辑,直接获取返回的ViewModel刷新页面。以下是云端一体之后的流程图。 下单页交互操作一体化 从上图右侧可以看出,有4种操作都会改变实付款,原本这些操作处理逻辑都在端侧处理,一体化改造之后,端侧不存在任何计算逻辑,客户端每次操作都会请求服务端,有FaaS进行红包是否过期等数据校验,再返回页面数据进行刷新。 一体化研发框架 Nexus Framework:基于Flutter的一体化移动端UI框架。Logic Engine:基于Flutter的一体化通信与调度框架。Nexus Server:基于Dart Runtime的一体化服务端框架。 代码示例 下图为客户端下单页初始化的代码示例: 下图为FaaS层对客户端发起的初始化请求的处理: 以上是Flutter+FaaS双端协议一体的开发示例,双端都是通过BinderAction进行交互,Action中的State是同一个类型,从而有效屏蔽通信细节,提高研发效率。 收益与效果 下单页已经上线,回顾整个研发过程,云端一体研发架构不仅仅只是新的技术方案,价值在于扩展端侧工作边界,带来生产关系的重塑。 协同效率提升:相比Flutter带来的双端一体来说,该三端一体的架构进一步提升了30%整体研发效率。 业务闭环:端侧还可以更快速地反馈与响应业务,不断尝试,从而搭建起更完善的产品模型,为业务创造更多的价值。 人员成长:端侧从只关注用户体验的开发资源,转变为整个业务研发的技术负责人,从只关注端侧的局部视角到更专注业务闭环的全局视角。Faas层调用底层领域服务来完成自己的业务,原来服务端可以更加地去专注领域服务的沉淀。 总结与展望 Flutter+Serverless 三端一体研发架构,能够解决本篇提出的原有研发架构的两个问题,通过改变端侧职能边界有效减少协同,客户端可以负责整个业务,服务端有更多的时间进行领域沉淀,但是闲鱼实践Flutter+Serverless三端一体研发架构时也遇到以下挑战: FaaS层研发体验需要继续提升、调试只能通过GAIA日志查看,目前规划是把平台日志抓取到本地,并且提供FaaS代码远程调试功能。 运维成本增加 问题定位、请求链路、压测、安全生产的工作转移,如何抹平与服务的差异。 以上是实践过程中发现的新的挑战,现在都已经列入到下一阶段的工作中,我们通过优化技术方案完成这些挑战。 原文发布时间:2019-12-27作者:古风本文来自阿里云合作伙伴“阿里技术”,了解相关信息可以关注“阿里技术”。

优秀的个人博客,低调大师

30分钟全方位了解阿里云Elasticsearch(附公开课完整视频)

摘要:阿里云Elasticsearch提供100%兼容开源Elasticsearch的功能,以及Security、Machine Learning、Graph、APM等商业功能,致力于数据分析、数据搜索等场景服务。与开源社区背后商业公司Elastic战略合作,为客户提供企业级权限管控、安全监控告警、自动报表生成等场景服务。本文中,阿里云产品专家沐泽为大家介绍了阿里云Elasticsearch产品的相关情况。 产品介绍 Elasticsearch(简称ES)是2010年推出的一款开源产品,本质上是一个实时的分布式实时搜索与分析引擎。随着这些年来Elasticsearch生态的演进,逐渐发展成为ELK即Elasticsearch、Logstash、Kibana的生态。Elasticsearch属于搜索引擎,Logstash负责数据的采集、转化以及输出,Kibana则提供了强大的数据可视化功能。对于Elasticsearch而言,其在DB-Engines中的开源数据库排行榜中位列第一。可以看出,Elasticsearch受到了广泛的认可,并且也有大量的开发者正在使用。 阿里云Elasticsearch提供了全托管的Elasticsearch服务,并且100%兼容开源版本,并且对于内核进行了针对性优化,提供了商业功能(原‘X-Pack’),即开即用,高可用服务,弹性伸缩,按需付费。在下图中,在阿里云Elasticsearch的可靠性、安全性、系统托管等方面与友商的产品进行了对比。在可靠性方面,阿里云Elasticsearch具有99.9%的数据可靠性,并且会定时地向OSS进行数据备份,方便用户在数据出现问题的时候进行恢复。此外,通过同城多活,提供了较强的容灾能力。在开源差异部分,阿里云Elasticsearch也做了大量的工作。在内核性能优化部分,不仅做了存储与计算分离,还提供了ECS本身的调优。在Index Build服务部分,Elasticsearch本身支持高并发的数据写入加速,这样会使得数据的写入和查询相互影响,阿里云Elasticsearch则通过Index Build服务离线地构建索引,并将原生索引切换成比较小的片并与线上索引进行Merge,这样就避免了用户线上集群的I/O开销,在一定场景下保障了高并发写入场景下的查询服务的稳定性。在智能运维方面,阿里云Elasticsearch提供了EU智能运维系统,能够帮助用户运维和监控集群并且进行智能分析,方便用户更好地了解集群的健康状况,并且还提供了预警以及改进建议等功能。此外,阿里云Elasticsearch近期还集成了阿里达摩院的NLP分词器和分析器,能够更好地完成业务的分析和检索任务。在商业插件部分,X-Pack服务本身集成在Elasticsearch和Kibana里面的。以往这样的商业版插件包对于用户而言,需要付费使用,阿里云Elasticsearch通过这样的方式为用户提供了很多功能,如认证授权、权限管理、报表可视化以及机器学习等。总体来看,相比友商的ES方案以及用户自建ES,阿里云Elasticsearch的价格也具有较强的优势,并且具有更加丰富的产品能力,同时也具有比较高的性价比。 基于以上的目标能力,阿里云Elasticsearch也具有非常丰富的目标场景,主要集中在IT运维、信息检索以及日志分析等方面。在IT运维方面,用户可以做Metric监控、网络日志分析等相关工作。信息检索方面,不仅支持APP检索,也可以用于数据库加速以及聚合搜索等场景。在日志分析方面,可以用于Web日志分析、风控/审计/分析、用户行为分析/用户画像以及BI分析和Ad-hoc等场景下。最后,阿里云Elasticsearch的主要购买方式就是包年包月预付费和按量后付费两种。 产品输出形式 对于阿里云Elasticsearch产品的输出形式而言,主要在公共云和专有云这两个方面。在公共云上,阿里云Elasticsearch支持了金融云、零售云以及菜鸟云,并且在日本站和国际站进行了售卖。在专有云方面,8月底的时候阿里云Elasticsearch也提供了轻量PaaS独立输出,并且可以在企业版On ECS和企业版On物理机上进行部署。 产品架构 在产品架构部分,阿里云Elasticsearch部署在ECS网段,相当于购买了大量的ECS服务器拉起了ES镜像。对用户而言,可以购买很多的ES集群,每个ES集群中都会有很多的Node,每个Node就是一台ECS。整个ECS部署在系统方VPC内,并且支持跨可用区的同城容灾能力,也就是说在同一个区域下面,可以在不同的可用区内部署服务,通过阿里云VPC和用户VPC之间的IP映射使得每个集群的Node分布在不同的可用区之内。 除此之外,在保证容灾方面,用户的数据节点会定时地向OSS做快照备份,当用户的数据出现问题的时候,可以快速地通过OSS实现数据恢复。整体的数据存储类型支持高效云盘、SSD云盘以及本地磁盘。在存储计算分离方面,阿里云Elasticsearch近期也在内核方面进行了优化。本身Elasticsearch索引为了方便存储需要做分片,为了提升查询效率,每个分片会有多个副本,但是这样属于用空间换时间的方式,因此会造成大量的数据冗余,为用户带来很高的存储成本。另外一方面,为了提升查询效率,用户在写入数据的时候,就会增加更多的内存开销,进而造成写入速度较慢。在这样的背景之下,阿里云Elasticsearch做了存储与计算分离的内核优化,将用户数据的多个副本进行分片映射到同一块的物理介质之上,与原生的ES相比,阿里云Elasticsearch的存储成本降低至少50%,数据写入实时性能提升70%,Replica/Shard变更性能提升99%,以上这些能力都是开源版本的ES所不具备的。 公共云可售卖区域 目前,阿里云Elasticsearch除了美东、英国和迪拜三个区域还没有部署售卖之外,在全球范围内的其他阿里云数据中心都已经部署售卖了,未来也会在更多的区域进行开放。 金融持久化数据审计方案 这里介绍一个实际案例,这是阿里云为一家信用卡结算公司设计的金融持久化数据库审计方案。该客户存在金融数据监管需求,因此数据需要存储的时间较长,因此造成数据量非常大。因此,阿里云提供了金融持久化数据库审计方案中为用户提供了一个三层的数据存储方案,用户近期的Hot Data会在第一层ECS存储大约2个月的时间,当变成Warm Data或者更老的数据之后,就会存储到下层的ECS或者OSS之上,这样一方面保障了用户在使用阿里云Elasticsearch时的数据查询时效性,使得其不会被大数据量所影响,另外一方面也大大降低了用户的存储成本。 场景示例-日志分析 这里针对于日志分析场景进行更进一步的介绍。在日志分析方面,会采集用户在网站/游戏/应用内的行为日志数据,分为离线和在线两个部分分别投递给Hadoop及Elasticsearch,以满足用户(离线部分)标签、画像的加工,和(在线部分)用户行为实时统计和状态查询。阿里云Elasticsearch在日志分析场景下提供了很多对应的能力,面向日志分析场景,提供聚合搜索、实时查询、增量数据快速索引归档等分析必备能力。除此之外,阿里云Elasticsearch基于X-Pack服务提供了基于LBS的地理位置搜索、可视化分析报表、数据可视化展现等高级分析能力。进一步可以实现用户留存分析,浏览路径分析,基于地理围栏的用户画像,用户标签体系等数据查询、统计以及分析场景。 Elasticsearch如何处理日志 日志数据的来源有很多,比如日志文件、数据库、传感器以及Web API等,而利用这些日志数据实现日志搜索和日志分析会存在很多常见的需求,主要包括五点,即集中收集与存储、日志搜索、分析聚合及可视化、安全、角色管理以及可伸缩性。 在集中收集与存储日志数据方面,阿里云Elasticsearch会对于常规日志数据进行采集,包括日志文件、日志系统、网络拥堵等其他常见的日志数据。阿里云Elasticsearch通过收集和汇拢数据以及离线Hadoop数据迁移能够比较快捷地集中日志数据并存储到Elasticsearch中构建索引。 在日志搜索方面,阿里云Elasticsearch能够支持全文检索、元数据搜索、指标/标签搜索以及地理位置搜索等。 在分析聚合和可视化方面,当数据聚合到阿里云Elasticsearch里面去之后,可以通过sum、average、min/max等聚合函数实现聚合分析,并且可以通过X-Pack实现机器学习分析,也可以借助Kibana实现在线数据可视化。并且在阿里云Elasticsearch中,用户可以直接通过Kibana控制台实现配置以及可视化面板的创建。 在安全和角色管理方面,阿里云Elasticsearch提供了RBAC的用户权限以及TLS/SSL交互式安全协议,并且能够实现实时监控和触发告警,能够帮助用户进行实时预防。此外,基于X-Pack的商业功能能够提供自动数据报表以及触发式报表等服务,帮助用户更好地进行数据管理和查询。 在可伸缩性方面,阿里云Elasticsearch能够支持弹性扩容,因为ES的节点是对等的,因此能够实现快速拷贝和弹性扩容,实现不同规模下的数据管理。 阿里巴巴Elasticsearch的产品生态架构 数据会从RDS等数据存储中过来,通过Flume、EMR、MaxCompute等下游计算引擎进行加工和处理,完成画像或者标签的工作,最后索引到Elasticsearch中去。阿里云Elasticsearch是兼容整个大数据生态的,并且也能够无缝地对接整个阿里云的产品生态,进而非常方便地完成数据的处理工作。此外,还可以通过Kibana可以帮助用户更好地实现数据的可视化管理。 点击《30分钟全方位了解阿里云Elasticsearch》观看完整视频 2019年阿里云云栖大会上,Elasticsearch背后的商业公司Elastic与阿里云Elasticsearch确定战略合作升级,在100%兼容开源的基础上,完成了ELK的完整生态云上闭环,欢迎开通使用。 点击了解更多产品信息

优秀的个人博客,低调大师

微软员工公开反对公司投标美国防部 JEDI 云项目

今年7月底,美国国防部对外正式宣布JEDI Cloud(联合企业防御基础设施云)项目开始招标,总合同额高达100亿美元,合同期10年,目前亚马逊和微软正在竞争这一极具吸引力的合约,谷歌已经退出项目招标。而最新的消息称微软内部员工也开始反对公司参与招标JEDI项目。大量公司员工通过博文表示不应该让公司的AI技术和云技术用于军事战争目的。 JEDI的规模较大、涉及范围更广,旨在寻求为美军所有分支机构提供云服务的供应商,军方明确指出JEDI项目旨在提高国防部的致死打击力,此前谷歌与军方合作的Project Maven项目传出后,就曾引发内部的强烈抗议。微软员工们在Medium上发布了一篇博文,明确表达他们的反对。“当我们决定在微软工作时,我们怀着‘为这一星球的每个人赋予更多能力’的希望而来,而不是为了结束人们的生命和增强致死打击能力。” 微软发言人表示,“微软已经在10月12日截止日期前递交了JEDI合约招标申请。尽管目前我们尚未验证这封邮件的真实性,我们总是鼓励员工表达分享他们的价值观。” 来自:cnBeta.com

优秀的个人博客,低调大师

热门公开课换框架背后的学问

本文来自AI新媒体量子位(QbitAI) 你知道fast.ai么? 他们以提供零基础的深度学习课程而闻名,宣称:只要你有高中数学基础、一年的编程经验,就能通过七周的学习,具备一流的深度学习实践能力。 刚刚,他们宣布了一件事。 下一个fast.ai的课程,将完全基于一个使用PyTorch开发的框架,抛弃原来的TensorFlow和Keras框架。这是为什么? △Jeremy Howard 且听创始人Jeremy Howard详解缘由,也相当于分析了初学者该选择什么样的框架。量子位节选编译如下: 我们为什么开始尝试PyTorch? 当我们开发第二门课《面向程序员的前沿深度学习》的时候,原来选的TensorFlow和Keras框架开始让我们处处碰壁。 比如说,现在自然语言处理中最重要的技术,大概是attention模型。可是我们发现,当时在Keras上

优秀的个人博客,低调大师

【对标TensorFlow】阿里公开内部超大规模分布式机器学习平台

近年来,随着“大”数据及“大”模型的出现,学术界和工业界对分布式机器学习算法引起了广泛关注。针对这一刚需,阿里集团和蚂蚁金服设计了自己的分布式平台——鲲鹏。鲲鹏结合了分布式系统及并行优化算法,解决了大规模机器学习算法带来的一系列问题,不仅囊括了数据/模型并行、负载平衡、模型同步、稀疏表示、工业容错等特性,而且还提供了封闭好的、宜于调用的 API 供普通的机器学习者开发分布式算法,降低使用成本并提升效率。相关论文在本届 KDD 以口头报告的形式发表(应用数据科学 Track)。 论文《鲲鹏:基于参数服务器的分布式学习系统及其在阿里巴巴和蚂蚁金服的应用》(KunPeng: Parameter Server based Distributed Learning Systems and Its Applications in Alibaba and Ant Financial),由蚂蚁金服人工智能部和阿里云团队的周俊,李小龙,赵沛霖,陈超超,李龙飞,杨新星,崔卿,余晋,陈绪,丁轶,漆远合作完成。 文中描述的实验在十亿级别的样本和特征数据上进行。结果表示,鲲鹏的设计使得一系列算法的性能都得到了极大的提升,包括 FTRL,Sparse-LR,以及 MART。此外,鲲鹏在阿里巴巴“双11”狂欢购物节及蚂蚁金服的交易风险检测中,体现出了巨大的应用价值。 研究背景:工业界需要能够训练 TB-PB 级数据量的机器学习平台 现在是个大数据的时代,各个平台的数据量都与时俱进。举例而言,国外的 Twitter 每天新增 5 亿条Tweets,阿里巴巴每天有 5000 万个包裹,蚂蚁金服的支付宝交易峰会达到 12 万笔/秒,仅仅在 2016 年“双11”当天就产生了 10.5 亿笔交易。 如此大的数据量,使得机器学习不得不面临着样本及特征规模巨大的挑战。例如,阿里巴巴内部的模型会达到千亿样本,百亿特征,TB-PB 级的训练数据量。因此,如果搭建能够训练如此大规模数据的机器学习平台是工业界面临的一个巨大问题。图 1:阿里某生产集群中 MPI 任务状态目前,业界已经有一些比较成熟的分布式处理框架,如 Hadoop,Spark,GraphLab 和 GraphX。虽然它们可以支持机器学习算法并行化,但它们很难让开发人员设计出更有效率且支持更大规模的机器学习算法。 具体而言,Hadoop 和 Spark 虽然提供了一些同步和粗粒度运算符(例如,Map,Reduce 和 Join 等),但主要还停留在解决中小规模机器学习的问题。GraphLab/GraphX 主要是为了图存储和计算,并不适用于普通的大规模机器学习算法。MPI 虽然能够支持普通的分布式计算,但其缺乏容错机制。特别是在 worker 很大的情况下,MPI 的运行成功率会大大降低,如图1所示。 因此,如何设计更有效率且支持更大规模的机器学习算法,就成为一个业界难题。 鲲鹏:超大规模分布式计算系统 + 超大规模分布式优化算法 为了解决这一问题,蚂蚁金服人工智能部&阿里云团队开发了鲲鹏。 鲲鹏取名自《庄子·逍遥游》,文中记载“北冥有鱼,其名曰鲲。鲲之大,不知其几千里也;化而为鸟,其名为鹏。鹏之背,不知其几千里也。怒而飞,其翼若垂天之云。” 研究人员表示,在他们的鲲鹏系统中,“鲲”即是超大规模分布式计算系统,拥有超强的计算能力;而“鹏”即是超大规模分布式优化算法,建立在“鲲”之上。“鲲鹏”即同时拥有超大规模分布式计算系统及超大规模分布式优化算法,合二为一使得它有“一飞冲天”的能力,如图2 所示。 图 2:鲲鹏的研究动机及创新性 在系统方面,鲲鹏的创新在于它拥有了以下功能: 强大的容错功能,甚至在复杂且忙碌的线上集群环境中Backup Instance for Straggler Management支持有向无循环图形式的调度和同步,包括BSP/SSP/ASP用户友好的界面和编程 从算法创新角度看,鲲鹏架构使得常用的机器学习算法的大规模化成为了可能,截止目前,已经有众多机器学习算法在鲲鹏上得以实现和应用,包括但不限于LR,FTRL,MART,FM,HashMF,DSSM,DNN,LDA。 鲲鹏的总体架构 鲲鹏的架构建立在阿里巴巴集团内部的大规模分布式 Apasra 平台上面,拥有Robust Failover、Backup Instance,以及 DGA for Scheduling & Synchronization 等特性。 图3:鲲鹏的架构 图3 中的核心模块包括以下几部分: Server nodes:对模型做分片存储 Worker nodes:对训练数据做分片并计算 Coordinator:控制算法整体流程,如初始化,迭代,终止等 ML Bridge:使用脚本形式的工作流对数据进行预处理 PS-Core:核心的参数服务器组件 (servers/workers/coordinator) Fuxi:监控所有机器运行状态,必要时进行容错 用户视角 鲲鹏系统的调用,对普通用户而言也非常简单。用户只需要使用简单的几行脚本形式的命令,即可完成整个算法的调度。整个过程主要包括: 数据预处理,准备成算法接受格式 构建算法的输入/出表 调用鲲鹏算法,ps_train -i demo_batch_input -o demo_batch_result -a xxAlgo -t xxTermination; 评估算法效果 进行A/B测试 图 4:鲲鹏架构用户视角 从图4 中可以看出,整个流程对用户而言都是透明的,使用过程也“如丝般顺滑”,不用感知算法背后复杂的优化及调度过程。 开发者视角 鲲鹏架构对普通的机器学习算法开发者而言也非常简单,它将复杂的通信及调度过程包装成了 API。例如,Worker.PullFrom(Server),开发者只需要这一行简单的代码即可把模型从 server 端 pull 到 worker 端。再如,SyncBarrier(),这开发者只需要这一行简单的代码即可完成 server 端模型的同步。图 5:鲲鹏架构开发者视角 实验结果 1. 与 Spark 和 MPI 比较图 6:鲲鹏与 Spark 和 MPI 训练时间及内存消耗对比 图6 显示了在 7 个不同数据集上(D1-D7),鲲鹏与 Spark 和 MPI 的逻辑回归算法(LR)训练时间及内存消耗对比。如 D1(460K,20M) 指该数据集包含了 46 万特征,2000 万样本。从中可以看出,Spark 和 MPI 的 LR 在特征超大的情况下(D7)会出错,而鲲鹏的LR则可顺利训练成功。 2. Kunpeng-MART 与 XGBoost 比较图 7:Kunpeng-MART 与 XGBoost 内存消耗对比结果图7 显示了基于鲲鹏实现的 Multiple Additive Regression Trees(MART)与开源的 XGBoost 在 4 个不同数据集上的对比结果。从中可以看出,基于鲲鹏的 MART 内存使用情况要稳定的低于 XGBoost。此外,我们在 Ads CVR2 数据上重复跑了 10 次 XGBoost,但无一成功得到结果。 图8 显示了基于鲲鹏的 MART 和 XGBoost 在相同数据集上运行时间的对比,其中也可以看出基于鲲鹏的 MART 训练时间要优于 XGBoost。 图 8:Kunpeng-MART 与 XGBoost 训练时长对比结果 3. Worker 数量对算法的影响实验图 9 Worker 数量与算法加速及单 Worker 内存使用关系图9 显示了 Worker 数量与算法加速及单 Worker 内存使用的关系。在该实验中,我们使用的是基于鲲鹏的稀疏 LR 算法,特征约有 70 亿个,样本约有 180 亿个。从中可以看出,25 个 worker 就能训练这些数据。而且随着 worker 的增多,算法训练速度倍增,同时单机上的内存使用会倍降。 总结 超大规模分布式学习系统能力对大数据的公司而言尤为重要。鲲鹏在阿里和蚂蚁众多实际场景中发挥出了巨大的优势。例如,在 2015 年“双11”中,鲲鹏系统上实现的“楼层”排序(LR 算法)使得 UV CTR 提升了 21%,GMV 提升了10%。再如,基于鲲鹏实现的 GBDT+DNN 算法,应用在支付宝交易风险评估业务中,上线以来在相同覆盖度的情况下,案件召回率从 91% 增加到 98%,每天减少了几千万次用户的打扰。此外,在鲲鹏上实现的 Deep Structured Semantic Model(DSSM),已经广泛被应用于搜索、广告和智能客服等业务中。总体来说,鲲鹏系统上的 10 多个成熟算法已经被广泛应用于 120 多个产品中,这些无一不是阿里生态体系内最大规模的算法。 来源:新智元

优秀的个人博客,低调大师

深入NLP———看中文分词如何影响你的生活点滴 | 硬创公开课

中文分词是中文自然语言处理的一个非常重要的组成部分,在学界和工业界都有比较长时间的研究历史,也有一些比较成熟的解决方案。今天我们邀请了出门问问的两位重磅嘉宾徐博士和Jason,和大家一起来回顾一下中文分词的发展,着重谈一谈现在比较流行的一些基于机器学习的分词方法。 嘉宾简介 徐博士,约翰霍普金斯大学语言和语音实验室博士。2012年毕业后加入微软总部,先后在Bing和微软研究院从事自然语言处理和机器学习相关的研究和产品开发,是cortana语义理解和对话系统团队以及wordflow输入法团队的主要成员。雷锋网雷锋网雷锋网(公众号:雷锋网) Jason,剑桥大学自然语言处理组毕业。一直从事自然语言处理方面的研究与开发工作。加入出门问问3年多,负责开发出门问问的语义分析系统、对话系统,参与的产品包括出门问问手机版、Ticwear智能语音手表交

优秀的个人博客,低调大师

阿里聚安全算法挑战赛公开报名!

这一年你有没有遇到过语音识别,图文识别、人脸识别安全,机器人服务员、无人机驾驶等等。在机器学习或者人工智能领域,人们首先会考虑算法的学习方式。在 AlphaGo 与李世石的「人机大战」中,AlphaGo 的胜利算法起到了核心作用,也让我们看到的算法的强大能力。而 AlphaGo 又在不久前超越柯洁,登顶世界围棋第一。 而机器行为也成为了部分黑产的工具,使用非正常手段模拟类人操作行为,绕过前端页面验证方式,向后台批量发起请求的一种攻击手段。被攻击的后台系统,轻者影响正常响应,重者造成经济损失。模拟类人行为的黑产工具出现,对风控体系构成一定风险。 阿里聚安全背靠阿里巴巴十余年安全领域词库沉,依托每日上亿的淘宝、1688和阿里云平台上图片的检测与分析,汇集国内外顶尖的人工智能和学习专家,算法精度业界领先,可以快速识别量级日益增大且内容不断多样化的风险内容。 节省巨额的安全研发、运营、审核和计算成本,提供人人用得起的信息内容安全检测服务,算法开启的人工智能时代已经朝我们走来,他是机器学习的核心,阿里聚安全算法挑战赛希望通过找到更加优化的算法,实现更可控的过程,赛题提供的数据记录了互联网上人机行为信息,需要参赛者找出其中的机器行为记录。期望大量的优秀算法和人工智能人才会从比赛中脱颖而出。 比赛即日起开启报名!美好智能安全的生活从这里开始! 报名地址:https://tianchi.shuju.aliyun.com/mini/alibabajaq.htm

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册