
Sonatype Nexus repository OSS is an artifact repository that supports most software repositories such as Maven, Pypi, Npmjs, Rubygems, Yum, Apt, Docker registry and etc. In the enterprise Nexus repository is widely used for storing proprietary artifacts and caching the artifacts for speeding up the devops. Building a …
Read More about Deploy Sonatype Nexus repository OSS on EKS无服务器架构的Docker镜像数据分析应用

近期对Docker镜像做了些数据分析,这里分享一下利用云原生技术快速且低成本的实现任意数量的数据分析。 之前通过文章介绍了不用拉取Docker镜像就可获取镜像的大小的一种方法,通过其中的示例脚本,我们可以获取到待分析的原始数据。 比如nginx镜像的部分原始数据(csv格式)如下, 1 2 3 4 5 6 7 8 9 10 11 12 …
Read More about 无服务器架构的Docker镜像数据分析应用
Github/Gitlab已经成为众多开发者非常熟悉的代码协作平台,通过他们参与开源项目或实施企业内部项目协作。 AWS也提供了托管的、基于Git、安全且高可用的代码服务CodeCommit。CodeCommit主要针对企业用户场景,所以他并没有社交功能以及代码仓库fork功能,是否CodeCommit就无法实现Github基于Pull Request的协同工作模式呢? 答案是,CodeCommit完全可以实现基于Pull Request的代码协作。由于Git的分布式代码管理特性,首先fork上游项目仓库,将修改后的代码提交到fork仓库,通过Pull Request申请修改请求合并。Github将这套协作流程推广开来并被开源项目广 …
Read More about 基于CodeCommit代码管理的无服务器架构Devops
在re:Invent 2019之前,AWS Toolkit发布了Cloud Debugging beta功能。该功能支持在IntelliJ IDEs(IntelliJ, PyCharm, Webstorm, 以及 Rider)中远程调试 ECS Fargate 容器中执行的应用程序。 对ECS Fargate demo启用了远程调试并调试成功后,这里记录一下该功能的使用体验并且分享体验过程中掉进去过的一些坑。 试用体验 首先,该功能不适用于生产环境。因为对ECS Fargate类型的Service启用Cloud Debugging功能会将原始的ECS Services收缩为0个task副本,同时创建一个新的Service并启用新 …
Read More about AWS Cloud Debugging初探
AWS Batch是一个全托管的批处理调度服务,它可为用户管理所有基础设施,从而避免了预置、管理、监控和扩展批处理计算作业所带来的复杂性。当然AWS Batch已与 AWS 平台原生集成,让用户能够利用 AWS 的扩展、联网和访问管理功能。让用户轻松运行能够安全地从 AWS 数据存储(如 Amazon S3 和 Amazon DynamoDB)中检索数据并向其中写入数据的作业。AWS Batch可根据所提交的批处理作业的数量和资源要求预置计算资源并优化作业分配。能够将计算资源动态扩展至运行批处理作业所需的任何数量,从而不必受固定容量集群的限制。AWS Batch还可以利用 Spot 实例,从而进一步降低运行批处理作业产生的费用。 …
Read More about AWS Batch简介
Infrastructure as Code(架构即代码)一直是衡量公有云是否支持良好运维能力的重要指标。作为云计算领先的AWS,通过服务CloudFormation来编排云环境中的基础设施资源。不过由于CloudFormation是使用YAML/JSON编写的声明式语言,不善于处理逻辑,编写繁琐且不利于调试排错,对于新上手的Devops工程师来说也有不小的学习曲线。三方开源的工具Terraform同样没有很好解决CloudFormation存在的这些问题。 AWS CDK的出现解决了目前CloudFormation存在的绝大部分问题,极大的提升基础设施编排代码的开发和维护效率。 AWS CDK是一种开源软件开发框架,开发者可以用自 …
Read More about AWS CDK简介
业务时常有需求将某个域名(A)的访问重定向到其他域名(B),即使实现这样一个很简单的需求通常也需要部署Web服务器(例如Nginx),为域名A的请求返回302响应,并提供新的Location地址重定向到域名B。现在基于云计算服务,我们可以使用一些托管服务来实现同样的事情,无需管理服务器和维护应用,同时做到最低成本实现该需求。 接下来将介绍如何利用AWS上的服务实现该需求。 使用AWS S3和AWS CloudFront实现域名重定向 创建一个新的S3 bucket,例如 redirect.domain.com 配置新bucket属性,开启静态网站托管, …
Read More about 无服务器架构的域名重定向服务Spring Cloud Function -- 跨Serverless平台的函数计算框架
Jun 28, 2019 · 3 min read · 云计算 FaaS 函数计算 AWS AWS Lambda 钉钉 dingtalk Serverless Computing Spring Spring Cloud Function ·
基于serverless框架的钉钉回调函数中介绍了serverless framework,一款支持跨云厂商/Serverless平台的部署工具。但是函数代码还是需要针对不同的serverless平台作对应的适配。而Spring Clound Function就是针对这种情况专门开发的跨serverless平台的框架,实现一套代码通过不同的打包实现跨serverless平台。Spring Clound Function目前支持AWS Lambda, Microsoft Azure Function以及Apache OpenWhisk。 这里我们继续使用无函数版本的钉钉回掉函数来演示Spring Clound Function for …
Read More about Spring Cloud Function -- 跨Serverless平台的函数计算框架基于函数计算的钉钉回调函数接口

由于企业内部管理的需要,用到了钉钉的业务事件回调能力,正好将这个轻量级的接口使用无服务器技术来实现部署,以应对流量无规律下的动态扩展伸缩、按需使用、按量计费等需求。 阿里云函数计算版本 由于公司系统部署在阿里云,首先选择使用阿里云函数计算来实现及部署。该接口使用了JVM上语言Kotlin开发,虽然阿里云函数计算官方支持的开发语言有Java但没有Kotlin。其实无论Java或Kotlin最终部署文件都是Java Class字节码,加上Kotlin与Java良好的互操作性,实测函数计算可以完美支持Kotlin开发(个人认为任意JVM上的开发语言都是支持的)。 同时该函数使用了表格存储来持久化回调事件。表格存储是个按量计费的分布式存储, …
Read More about 基于函数计算的钉钉回调函数接口
Serverless Computing(无服务器计算)是目前最被看好的云端计算执行模型。其最大的好处是提供分布式弹性可伸缩的计算执行环境,仅为实际使用资源付费,并且将应用维护者从常规的运维事务中解放出来,更利于专注到具体的业务上。 在主流的应用部署方式下,无论是使用云主机还是Kubernetes作为运行环境,都会有大量运维层面的事务需要考虑和处理,并且应用程序需要按照分布式程序的设计准则来应对应用的水平伸缩。同时随着云计算服务的发展和完善,云计算厂商提供了越来越多的基础服务,例如API网关、对象存储、消息队列、日志、监控等服务,函数计算可以完美的同其他云服务集成,帮助用户快速实现出生产级别的弹性可伸缩的应用。 那函数计算是什么呢? …
Read More about 无服务器计算101