随笔分类 - DevOps
DevOps
摘要:Java世界中主要有三大构建工具:Ant、Maven和Gradle。经过几年的发展,Ant几乎销声匿迹、Maven也日薄西山,而Gradle的发展则如日中天。笔者有幸见证了Maven的没落和Gradle的兴起。Maven的主要功能主要分为5点,分别是依赖管理系统、多模块构建、一致的项目结构、一致的构建模型和插件机制。我们可以从这五个方面来分析一下Gradle比起Maven的先进之处。
阅读全文
摘要:NAT, Network Address Translation,即网络地址转换。当内部网络的主机想要访问外网,但是又不想直接暴露给公网,可以通过NAT节点来访问外网。这样做有两个好处,第一是内网的主机无需拥有公网IP就可访问网络(NAT节点需要公网IP),节约了公网IP;第二是内网的主机由于没有公网IP,所以公网的电脑无法访问到它,这样就可以隐藏自己。一个很经典的示例是假如你有一台数据库服务器放置在内网中,为在同一个内网中的web服务器提供数据服务,为了安全性考虑你不会把它直接暴露在公网中。但是数据库服务器有时候自己是需要访问公网的,比如需要升级数据库服务器中的某些软件等。采用NAT方案可以很好的解决这个问题。
阅读全文
摘要:最近一段时间在做一个产品从阿里云向亚马逊云中国区迁移的前期试验。亚马逊中国区并没有开放免费体验账号,使用的每一份资源都要实打实的掏钱。而为了实验我们使用时一般要启动好几台EC2实例。为了不浪费辛辛苦苦赚的钱,特写了一个脚本,在每天晚上6点将所有的EC2实例自动关闭。由于在亚马逊云中关闭的EC2实例是不收费的,只收取少量的存储费用,所以这样节省不少钱。
阅读全文
摘要:软件开发目前的最新趋势是DevOps文化,即开发人员和运营人员一起确保软件以最低的故障率运行。
阅读全文
摘要:DevOps已经成为了我们行业最热门的流行语之一。然而出人意料的是,在更紧密的愿景和开发团队和运营团队更有效的协作之上,很少有共识DevOps到底意味着什么。不同组织对DevOps有着不同的定义,其实DevOps有个新兴的最佳实践核心,其更进一步的目标是高度协作以生产更好的软件。在这里我考验了这些实践。但是坦白说,我并不只从开发人员角度来观察这些实践。
阅读全文
摘要:使用Octopress作为我的博客框架有两年了。使用起来一直很顺手,这个工具真正的把博客跟写代码等同起来,非常酷炫。再加上各种各样的定制化,简直是随心所欲。我针对自己的需求对Octopress框架进行了一些定制化,比如编写了一些插件自动将博客同步到博客园,以及部署时将博客部署到亚马逊云的S3上等。这个周末闲着无事,写了一个插件将最新的博客信息推送到LinkedIn的timeline上去。
阅读全文
摘要:jaxb,全称为Java Architecture for Xml Binding,是一种将java对象与xml建立起映射的技术。其主要提供两个功能,一是将java对象映射为xml,二是将xml映射为java对象。JAXB有1.0版和2.0版。2.0版对应的JSR(Java specification request, java规格要求)是JSR 222。jaxb中的xjc工具能够将XML Schema转换为对应的java类。支持的XML类型包括XML DTD,XSD以及WSDL。而schemagen工具则可以将具有相应annotation标记的java类转换为XML结构。
阅读全文
摘要:在编写Gradle脚本的时候,在build.gradle文件中经常看到这样的代码:
阅读全文
摘要:Gatling作为次时代的性能测试工具,由于其API简洁明了、性能出众,越来越受欢迎。但是运行Gatling脚本却有诸多不便,其提供的默认方式不是很方便。考虑到Gatling脚本本质上是Scala类,运行的时候还是使用的是java虚拟机,我们可以将其脚本的运行与Gradle结合起来。这样子就可以通过Gradle来运行Gatling脚本了。
阅读全文