本文翻译自老马(Martin Fowler)的博客,该译文现已被博客原文收录在其下方中文翻译处。
“基础设施即代码”是一种通过代码来定义计算和网络基础设施的方法,它可以应用于任何软件系统中。这样的代码放在代码版本控制系统中,具有可审查性、可重用性,并且符合测试惯例,还完全遵从持续交付的原则。该方法已经在过去的十年内广泛应用于快速增长的云计算平台中了,而且也将会成为接下来管理计算机基础设施的主要方式。
既然你理解了两台电脑之间如何对话,那么接下来我们会进一步探讨这个话题。在大多数情况下,你会在同一个时刻开着很多种网络连接。或许你正在网页上听音乐,又或许你是在163或者qq上登陆电子邮箱浏览内容。对于所有的这些连接,一个数据包是如何知道它是指向哪个应用的呢?当然,你肯定不想在浏览网页的中间看到音频数据包。谁知道那玩意是啥样的呢。
我希望我上面的解释是比较清楚的。只是上面我没有提到或者说没有强调地址,因为我觉得这显而易见,当我们发一封邮件时,知道收信人的姓名及地址信息是必须的。
因为计算机网络的作用就像邮局一样,所有的数据报必须有一个地址(在UDP中)。在TCP中,你需要一个地址去建立连接。在计算机中,所有的地址几乎都是数字的组合。然而我们人类更喜欢名字。因此,这儿明显有冲突。所以接下来就会介绍域名系统(DNS)。
本文,我将以一个门外汉的角度来解释电脑网络工作的原理,特别是TCP/IP这个用于因特网的协议。这里将涵括因特网编址、域名、以及端口等内容。希望通过阅读此文,你可以更好的理解电脑间的信息传输。在第(1)节,主要讨论计算机网络的基础。第(2)节主要讨论域名,而在第(3)节讨论端口。
距离上一次编写博客已经有一段时间了,DSC实践的很多内容,包括很多细节的总结和问题解决方案都没有说到,接下来我也可能也不会花过多时间在此上,该篇博客我将简单总结一下DSC的实现机制和脚本编写的内容,然后会介绍我在实践过程中遇到的一本不错的关于DSC的英文指南,以及我的中文翻译版,最后简述一下个人对DSC未来的看法。如果你在使用或者探索DSC的过程中遇到任何问题,欢迎和我一起探讨,我的邮箱地址:wjyao@thoughtworks.com .
在一切工作开始之前,我们必须把Powershell版本升到4.0,具体的升级方法推荐下载安装Chocolatey后,利用cinst命令安装(安装成功后需重启机器),通过在Powershell窗口输入$PsVersiontable命令查看当前版本,如下方所示: