开发函数计算的正确姿势——使用交互模式安装依赖

首先介绍下在本文出现的几个比较重要的概念:/函数计算(FunctionCompute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息参考。Fun:Fun是一个用于支持Serverless应用部署的工具,能帮助您便捷地管理函数计算、API网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun的更多文档参考。备注:本文介绍的技巧需要Fun版本大于等于3.0.0-beta.1。本项目是在MacOS下开发的,涉及到的工具是平台无关的,对于Linux和Windows桌面系统应该也同样适用。在开始本例之前请确保如下工具已经正确的安装,更新到最新版本,并进行正确的配置。DockerFunFun和Fcli工具依赖于docker来模拟本地环境。对于MacOS用户可以使用 homebrew 进行安装:Windows和Linux用户安装请参考:https...

开发者说:如何使用插件降低上传文件部署服务的复杂度

“这里描述我们实际服务部署的时候频繁发生的两个常用场景。第一个场景,我们“办公网环境”想要在“准生产环境”下部署,需要做如下工作:打包、将文件上传到堡垒机上、scp将上传好的包裹传输到“准生产环境”的目标机器、ssh目标机器、restart重启服务。第二个场景是,我们可能随时的给“准生产环境”临时上传一些文件,但是仍然需要大量频繁操作。直到前段时间我看了朋友圈一篇“阿里程序员推荐的15款常用开发者工具”里面提到CloudToolkit这个工具,试过后觉得它太好用了,完美降低服务部署的复杂度。只需要安装相应的插件,配置好所需环境,点击下绿色的箭头,即可帮你打包部署运行到相应环境。所以迫不及待的写了这篇文章,希望能对你有所帮助(第一次写文,请多关照(^_^))”安装成功后,会在这两个地方,看到安装的插件这是一个SpringCloud项目,用的是jar包部署。那么插件的准备工作就已经做好了,笔者将用其中的auth项目来演示下一键部署的威力添加堡垒机和目标机器目标是使这样的服务环境可以一键部署接下来就是在idea里面操作在选择AlibabaCloudToolkit->host单击addh...

Go 开发关键技术指南 | 为什么你要选择 GO?(内含超全知识大图)

/导读:从问题本身出发,不局限于Go语言,探讨服务器中常常遇到的问题,最后回到Go如何解决这些问题,为大家提供Go开发的关键技术指南。我们将以系列文章的形式推出《Go开发的关键技术指南》,共有4篇文章,本文为第1篇。该指南主要讨论了服务器领域常见的并发问题,也涉及到了工程化相关的问题,还整理了C背景程序员对于Go的GC以及性能的疑问,探讨了Go的错误处理和类型系统最佳实践,以及依赖管理的难处、接口设计的正交性,当然也包含我们在服务器开发中对于Go实践的总结,有时候也会对一些有趣的问题做深度的挖掘,列出了Go重要的事件和资料集合,以及Go2的进展和思考。以下是各个章节以及简介:AbouttheName:为何Go有时候也叫Golang?WhyGo:为何要选择Go作为服务器开发的语言?是冲动?还是骚动?Milestones:Go的重要里程碑和事件,当年吹的那些牛逼,都实现了哪些?GC:Go的GC靠谱吗?Twitter说相当的靠谱,有图有真相。CouldNotRecover:君可知,有什么panic是无法recover的?包括超过系统线程限制,以及map的竞争写。当然一般都能recover,比...

Dubbo 如何成为连接异构微服务体系的最佳服务开发框架

从编程开发的角度来说,ApacheDubbo(以下简称Dubbo)首先是一款RPC服务框架,它最大的优势在于提供了面向接口代理的服务编程模型,对开发者屏蔽了底层的远程通信细节。同时Dubbo也是一款服务治理框架,它为分布式部署的微服务提供了服务发现、流量调度等服务治理解决方案。在这篇文章中,我们将以以上基础能力为背景,尝试突破Dubbo体系自身,探索如何利用Dubbo对多协议、多服务发现模型的支持,来实现异构微服务体系间的互联互通。在实际业务场景中,这可以用来解决异构技术体系共存场景下的通信问题,帮助公司实现在异构技术体系间作平滑迁移,解决大规模跨区域、多集群部署场景的地址发现及流量调度等问题。我们还是从 Dubbo是一个微服务开发框架 这个大家熟知的概念开始。就像Spring是开发Java应用的基础框架一样,我们经常会选用Dubbo作为开发微服务业的基础框架。Dubbo框架的最大优势我认为就在其面向接口的编程模型,使得开发远程服务调用就像开发本地服务一样(以Java语言为例):1、服务定义2、消费方调用服务下图是Dubbo的基本工作原理图,服务提供者与服务消费者之...

盘点阿里巴巴 15 款开发者工具

从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,以后端开发者的视角盘点平时可能用得到的工具。每个工具按照以下几点进行介绍:工具名称和简介使用场景使用教程获取方式Arthas 阿里巴巴2018年9月开源的一款Java线上诊断工具。工具的使用场景:这个类从哪个jar包加载的?为什么会报各种类相关的Exception?我改的代码为什么没有执行到?难道是我没commit?分支搞错了?遇到问题无法在线上debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法debug,线下无法重现!是否有一个全局视角来查看系统的运行状况?有什么办法可以监控到JVM的实时运行状态?Arthas支持JDK6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的Tab自动补全功能,进一步方便进行问题的...

开放下载 | 《Knative 云原生应用开发指南》开启云原生时代 Serverless 之门

点击下载《Knative云原生应用开发指南》自2018年Knative项目开源后,就得到了广大开发者的密切关注。Knative在Kubernetes之上提供了一套完整的应用Serverless编排服务,让应用开发者可以不用为底层的基础设施分心,把更多的精力投入到业务逻辑上。Knative的一个很重要的目标就是制定云原生、跨平台的Serverless编排标准。它的优势在于:基于Kubernetes实现Serverless编排;基于Istio实现服务的接入、服务路由的管理以及灰度发布等功能。今年5月份,我们推出了Knative系列文章,由阿里云容器平台技术专家牛秋霖(冬岛)及阿里云容器平台高级开发工程师李鹏(元毅)结合自身的实践经验,由浅入深的介绍了Knative的使用、剖析其内部实现。为了进一步方便大家理解Knative,我们整理了系列文章中的25篇重点内容编排成书《Knative云原生应用开发指南》,并开放分享给大家,希望能够帮助更多技术爱好者快速掌握Knative的应用Serverless编排技能,揭开Knative的神秘面纱。对于开发者而言,本书可以让你快速掌握Knative的应用...

视频点播开发者实战:视频水印时间线,防模糊处理

一般水印都是出现在固定的某个位置,在整个视频时长内不会发生变化,但是这样会导致固定位置的水印容易被模糊处理,为了解决这类问题,在使用视频水印时可以通过水印时间线能力,让水印在不同时间段出现在视频的不同位置。/说明:视频点播目前仅支持对图片类水印支持时间线能力,文字水印暂不支持。1、创建水印模板/说明: 1、水印模板添加详细步骤请参考 视频水印的基本使用 。 2、目前水印时间线功能仅支持通过OpenApi设置,参数详细请参考 时间线参数 。时间线参数【水印模板示例1】://以下水印模板参数表示:水印从视频第0秒开始显示,且持续显示时间5秒钟,显示位置为左上角。{"ReferPos":"TopLeft","Width":"200","Height":"200","Dx":"8","Dy":"8","Timeline":{"Start":"0",//开始显示时间"Duration":"5"//持续显示时间}}时间线参数【水印模板示例2】://以下水印模板参数表示:水印从视频第6秒开始显示,且直至视频结束,显示位置为右上角。{"Ref...

简单几招助您加速 ARM 容器应用开发和测试流程

随着5G时代的临近,低延迟网络、AI硬件算力提升、和智能化应用快速发展,一个万物智联的时代必将到来。我们需要将智能决策、实时处理能力从云延展到边缘和IoT设备端。阿里云容器服务推出了边缘容器,支持云-边-端应用一体协同。在IoT和边缘计算场景,我们不但需要支持X86芯片也要提供对ARM架构芯片的支持。此外随着国产ARMCPU的快速发展,也需要我们在产品测提供ARM版本的容器产品支持。本文将介绍一些简单的技术来加速ARM容器应用的开发和测试流程。今年4月24日,Docker公司与ARM公司宣布合作伙伴计划,为Docker的工具优化面向ARM平台的开发者体验。Docker开发者可以在x86桌面端为ARM设备构建容器镜像,并可将容器应用部署至云端、边缘以及物联网设备。整个容器构建流程非常简单,无需任何交叉编译步骤。DockerDesktop是macOS和Windows平台的容器开发环境。Docker会借助宿主机操作系统的虚拟化技术,如Windows的Hyper-V和macOS的HyperKit,来运行Docker开发环境。在最新的Docker版本中,LinuxKit作为面向容器的操作系统,增...

MaxCompute 图计算开发指南

创建完成 MaxComputeJavaModule后,即可以开始开发Graph了。代码示例在examples目录下有graph的一些代码示例,可参考示例熟悉Graph程序的结构。编写Graph在module的源码目录即src>main>javanewMaxComputeJava。选择GraphLoader/Vertex等类型,NameOK**,模板会自动填充框架代码,可在此基础上继续修改。本地调试GraphGraph开发好后,下一步就是要测试自己的代码,看是否符合预期。我们支持本地运行Graph,具体的:运行Graph:在驱动类(有main函数且调用GraphJob.run方法)上右键,点击运行runconfiguration**对话框,配置Graph需要在哪个MaxComputeProject上运行即可。点击OK,如果指定MaxComputeproject的表数据未被下载到warehouse中,则首先下载数据;如果采用mock项目或已被下载则跳过。接下来,graphlocalrun框架会读取warehouse中指定表的数据作为输入,开始本地运行Graph,用户可...
代码星球 代码星球·2021-02-24

MaxCompute Mars开发指南

Mars是一个基于矩阵的统一分布式计算框架 ,而且 Mars 已经在GitHub中开源。当你看完Mars的介绍可能会问它能做什么,这几乎取决于你想做什么,因为Mars作为底层运算库,实现了 numpy 70%的常用接口。这篇文章将会介绍如何使用Mars完成你想做的事情。奇异值分解(SVD)在处理纷繁的数据时,作为数据处理者,首先想到的就是降维,SVD 就是其中一种比较常见的降维方法,在 numpy.linalg 模块中就有 svd 方法,当我们有20000个100维的数据需要处理,调用SVD接口:In[1]:importnumpyasnpIn[2]:a=np.random.rand(20000,100)In[3]:%timeU,s,V=np.linalg.svd(a)CPUtimes:user4min3s,sys:10.2s,total:4min13sWalltime:1min18s可以看到即使Numpy使用了mkl加速,也需要1分多钟的运行时间,当数据量更大时,单机的内存已经无法处理。...
代码星球 代码星球·2021-02-24

更效率、更优雅 | 阿里巴巴开发者工具不完全盘点

从人工到自动化,从重复到创新,技术演进的历程中,伴随着开发者工具类产品的发展。阿里巴巴将自身在各类业务场景下的技术积淀,通过开源、云上实现或工具等形式对外开放,本文将精选了一些阿里巴巴的开发者工具,希望能帮助开发者们提高开发效率、更优雅的写代码。由于开发者涉及的技术领域众多,笔者仅从自己熟悉的领域,以后端开发者的视角盘点平时可能用得到的工具。每个工具按照以下几点进行介绍:工具名称和简介使用场景使用教程获取方式Arthas 阿里巴巴2018年9月开源的一款Java线上诊断工具。工具的使用场景:这个类从哪个jar包加载的?为什么会报各种类相关的Exception?我改的代码为什么没有执行到?难道是我没commit?分支搞错了?遇到问题无法在线上debug,难道只能通过加日志再重新发布吗?线上遇到某个用户的数据处理有问题,但线上同样无法debug,线下无法重现!是否有一个全局视角来查看系统的运行状况?有什么办法可以监控到JVM的实时运行状态?Arthas支持JDK6+,支持Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的Tab自动补全功能,进一步方便进行问题的...

企业级性能、安全可靠 阿里云发布企业级大数据平台开发者

/摘要: 作为可以承载EB级的数据存储能力,百PB级的单日计算能力的企业级计算平台,积极的在“智能+”重要战略中,释放技术红利,普惠大数据生态,帮助企业和个人开发者深化大数据、人工智能等研发应用,拓展“智能+”为更多开发者提供资源并进行赋能。3月20日,阿里云宣布推出企业级大数据计算平台MaxCompute开发者版。该版本基于MaxCompute原有的分布式架构,具备高可靠、企业级安全能力、全面融合开源等特点,可轻松做到开箱即用,分钟级拥有大数据开发项目,帮助开发者突破技术壁垒,降低门槛和成本,提高大数据开发效率,实现个人技术能力和业务的快速增长。MaxCompute作为阿里巴巴的通用计算平台,承担了阿里巴巴集团99%的数据存储和95%的统一计算,每天有超过18000名阿里巴巴内部的开发者在这个平台上进行开发,几乎涵盖阿里内部所有的数据体系。同时,MaxCompute在云上服务着上万家客户,客户遍及全球各主要市场的金融、互联网、生物医疗、能源、交通,传媒等行业。开箱即用的在线服务Severless在线服务,无需关心基础设施与软件运维,开通即可使用完整的平台服务。计算与存储单独...

阿里云MVP北京闭门会圆满落幕 多把“利剑”助力开发者破阵蜕变

/摘要: 从传统制造业到新零售,从人工智能到新金融,阿里云MVP正在成为中国乃至全球各行各业数字化转型的中坚力量。当这群技术先锋者与阿里核心技术力量汇聚在一起,一场无与伦比的思想碰撞就此展开。3月21日,北京国家会议中心,阿里云北京峰会吸引了全球计算机行业的目光。十年时间,阿里云开创中国云时代,研发了属于自己的云操作系统和城市AI平台,云普惠各行各业数百万客户。下一个十年,在阿里云战略升级为阿里云智能之时,它又将带给各行各业什么样的变化?阿里云MVP北京闭门会现场座无虚席这个答案,在翌日举行的阿里云MVP北京闭门会上呼之欲出。在过去的数百个日子里,从传统制造业到新零售,从人工智能到新金融,阿里云MVP正在成为中国乃至全球各行各业数字化转型的中坚力量。当这群技术先锋者与阿里核心技术力量汇聚在一起,一场无与伦比的思想碰撞就此展开。阿里云MVP荣聚北京共话未来发展趋势阿里云MVP(阿里云最有价值专家),是专注于帮助他人充分了解和使用阿里云的技术实践领袖。截至目前,MVP大家庭的成员已近500位,来自全球27个国家和地区。他们如繁星一般,遍布在各行各业:人工智能、云计算、大数据、区块...

阿里敏捷教练:多团队开发一个产品的组织设计和思考

Scrum等敏捷开发框架,最初都是为5到9人的小团队设计的。通过保持专注和合理利用新技术,在相当长的时间里小团队仍然可以支撑业务发展。随着业务成长,小团队的产出可能跟不上业务需要,团队就会面临规模化的问题。从1个团队拓展到3个团队,仍然可以通过简单的团队间沟通保持高效协作。当产品复杂到需要5个以上团队同时开发时,我们需要一定的组织设计来保证团队间的顺畅协作,使得多团队共同开发一个产品时仍能保持敏捷性。保持小团队在初创企业或产品刚起步时,团队通常都不大。随着业务的发展,需求越来越多,产品越来越复杂,很多团队的第一反应都是加人。事实上,加人并不是唯一选择,也未必是最优选择。很多时候,小团队能交付惊人的业务成果。一方面,通过保持专注:Doonethinganddoitwell,小团队可以聚焦于核心业务,摒除不必要的干扰。有一款微处理器ARM比英特尔先做出来,团队的一个leader说:“回过头来看,当时我们决定做一款微处理器的时候,我认为我做了两个重要的决定。我信任我的团队,并且给了团队两件英特尔和摩托罗拉永远不会提供给他们员工的东西:第一是缺钱,第二是缺人。他们不得不保持简单”。类似的,创办...

阿里工程师开发了一款免费工具,提升Kubernetes应用开发效率

对于使用了Kubernetes作为应用运行环境的开发者而言,在同一个集群中我们可以使用命名空间(Namespace)快速创建多套隔离环境,在相同命名空间下,服务间使用Service的内部DNS域名进行相互访问。基于Kubernetes强大的隔离以及服务编排能力,可以实现一套定义编排(YAML)多处部署的能力。不过,一般来说Kubernetes使用的容器网络与开发者的所在的办公网络直接并不能直接连通。因此,如何高效的利用Kubernetes进行服务间的联调测试,成为在日常开发工作中一道绕不开的坎。本文我们就来聊一聊,如何加速基于Kubernetes的研发效率。使用自动流水线为了能够让开发者能够更快的将修改的代码部署到集群测试环境中,一般来说我们会引入持续交付流水线,将代码的编译,镜像的打包上传以及部署通过自动化的方式来解决。如下所示:从一定程度上来说,这种方式可以避免开发人员进行大量重复性的工作。但是,虽然整个过程自动化了,但是开发人员也不得不每次进行代码变更之后都需要等待流水线的运行。对于开发人员来说,每次代码变更后等待流水线运行或许已经成为整个开发任务过程中体验最糟糕的部分。打破网络...
首页上一页...23456...下一页尾页