越来越多的组织机构开始采取 DevOps 实践,作为呼应,本文将概括强调很多人认为这一实践缺失的部分:安全。随着 NV (网络虚拟化) 和 NFV (网络功能虚拟化)的使用率逐步攀升,在开发和部署流程中创建可程序化、可重复进行的安全管理已经成为现实。

OpenDaylight participants、思科 ACI、VMware NSX、Nuage Networks以及其他众多服务商提供的动态、抽象的网络特性开启了一扇新的大门,使安全能够成为应用生命周期管理(ALM)的一部分。基础设施即代码这个短语恰如其分地描述了我们需要的东西。基础设施配置需要扩展到应用环境以外的领域。

NFV:通向 DevSecOps 之门

网络虚拟化并不是 DevSecOps 的终极目标,只是其中的一小部分。启动 L2/L3 网络流量已经给数据中心愈发敏捷的实践带来了极大的提升。机房环境和云环境都已经从这些程序化管理网络的新方法中受益。再次提醒大家,数据流其实只是网络虚拟化带给我们的便利中极小的一部分。

再往上到堆栈的4-7层,就到了 NFV 大显身手的时候了。从纯运营的角度来看,NFV 带来了我们渴求的程序化、可预测的部署和管理。在常规数据中心管理中常用的配置管理工具(例如 Chef、Puppet 和 Ansible),现在已经扩展到了网络领域。这似乎也是 NFV 存在的理由。不过故事远不止这些。

NFV 可能会让人困惑,因为它在 L2/L3 管理上会混乱不清,不过它其实主要用于管理应用网关、L4-7 防火墙、负载均衡器等其他功能。NFV 让这些功能虚拟化,并缩短了它们与实际工作负载间的距离。

NV 和 NFV 是安全工具,而非网络工具

当谈到 NV 和 NFV 时,我们应该扩大视野,考虑全局。所有通过创建程序化部署和管理取得的成就似乎主要针对 DevOps 式的交付。DevOps 经常被当做加速应用开发的一种方法,然而在谈论网络和经常提到的 DevSecOps 方法论时,速度和敏捷只是全局的一小部分。

实际上,NV 和 NFV 其实是安全工具,并非网络工具。这听起来的确挺奇怪,不过还是想想 NV 和 NFV 实际为我们带来了什么吧。

当我们启动网络层的程序化管理时,我们同时也启动了其他一些强大的功能,包括审查 L2-L7 配置的安装和运营。清楚地知道整体 L2-L7 环境何时发生了什么样的变化,这让所有的信息安全同仁们露出了笑颜,他们也的确应该开心。

西方-东方成为新的信息高速公路

也许数据中心或云的东西方交通并非超级高速,但是在接下来的几年乃至更远的将来,它将成为最繁忙的通道。随着扩展应用程序成为主流设计模式,在虚拟组件之间、防火墙背面以及嵌套、虚拟网络中将会传输越来越多的数据。

关于以这种方式传输的实际流量的数据和例证有很多,不过不管你选择参考哪种预测,数额都是惊人的。这也是使用 NV/NFV 促成的增长。

无论我们用何种原因来论证 DevSecOps 将会成为新的数据中心和云实践的一部分,它都将不可避免地成为现实。唯一的疑问就是我们用多长时间能将它纳入标准运营流程。

正当你以为自己身陷 DevOps 困境时,笔者又给你增加了一个新概念。别担心,这些都是好东西,你很快就能弄明白。相信我,因为我会帮你完成这个旅程。

如今,多样化的攻击手段层出不穷,传统安全解决方案越来越难以应对网络安全攻击。OneRASP 实时应用自我保护技术,可以为软件产品提供精准的实时保护,使其免受漏洞所累。想阅读更多技术文章,请访问 OneAPM 官方技术博客

本文转自 OneAPM 官方博客

DevSecOps简介(二)的更多相关文章

  1. {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)

    Django基础七之Ajax 本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) 一 Ajax简介 ...

  2. Windbg 脚本命令简介 二, Windbg command

    Windbg  脚本命令简介 二, Windbg  script command $<, $><, $$<, $$><, $$>a< (Run Scri ...

  3. {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)

    {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)   Django基础七之 ...

  4. WPF Binding值转换器ValueConverter使用简介(二)-IMultiValueConverter

    注: 需要继承IMultiValueConverter接口,接口使用和IValueConverter逻辑相同. 一.MultiBinding+Converter 多值绑定及多值转换实例 当纵向流量大于 ...

  5. Hibernate框架简介(二)基本使用增、删、改、查

    一.Hibernate框架简介 Hibernate是一个优秀的Java持久化层解决方案,是当今主流的对象-关系映射(ORM,ObjectRelationalMapping)工具 1.1.理解持久化 瞬 ...

  6. Selenium简介(二)--基于CORE/IDE的简单应用

    参考  http://blog.csdn.net/iamqa/article/details/4398240 Selenium简介(一)--总体介绍  http://blog.csdn.net/iam ...

  7. DevSecOps 简介(一)

    DevOps,或者说企业应用开发团队和系统运营团队的合作,已经成为一个时髦的 IT 话题.这一新的运营模式往往与敏捷式软件开发方法并举,同时还会利用云计算的可扩展性--这一切,都是为了使企业更加灵活, ...

  8. Redis简介二

    一.直接安装     1.Windows版本的Redis下载地址:https://github.com/dmajkic/redis/downloads  ,选择一个你想要下载的版本下载即可~     ...

  9. RSA简介(二)——模幂算法

    RSA最终加密.解密都要用到模乘的幂运算,简称模幂运算. 回忆一下RSA,从明文A到B B=Ae1%N 对B解密,就是 A=Be2%N 其中,一般来说,加密公钥中的e1一般会比较小,取65537居多, ...

随机推荐

  1. Linq的一些记录

    1. IQueryable接口与IEnumberable接口的区别:  IEnumerable<T> 泛型类在调用自己的SKip 和 Take 等扩展方法之前数据就已经加载在本地内存里了, ...

  2. LinearRegressionWithRegularization

    在线性回归的基础上加上正则项: # -*-coding:utf-8 -*- ''' Created on 2016年12月15日 @author: lpworkdstudy ''' import nu ...

  3. 一幅图证明chrome的由来和目的

  4. EMVTag系列13《脱机PIN》

    DGI8010用于个人化借记贷记交易中使用的脱机PIN.数据强制要求加密.制卡数据传输过程中,此DGI采用DEK加密保护. 数据分组标识 '8010'的数据内容       要求            ...

  5. postgresql 连接数

    改文件 postgresql.conf 里的 #max_connections=32 为 max_connections=1024 以及另外相应修改 share_buffer 参数. 执行SELECT ...

  6. iOS-CALayer

    iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property ...

  7. 自带TabBar选中图片设置问题

    设置为UIImageRenderingModeAlwaysOriginal 就会显示出选中状态的图片.当然普通状态的也需要设置. UINavigationController *nav =({ UIN ...

  8. 嗨分享-前端技术-帝国CMS手机站修改列表分页(sysShowListMorePage)

    http://bbs.phome.net/showthread-31-318753-0.html 如果你的网站使用的是帝国CMS.PC站和手机站各使用一个模板组,但共同使用一个数据库.那么你的PC站和 ...

  9. [转]强悍的跨平台开源多媒体中心XBMC介绍

    [转]强悍的跨平台开源多媒体中心XBMC介绍 http://www.cnblogs.com/mythou/p/3220898.html 最近都在了解Android下的音视频,因为最近需要做一个多媒体中 ...

  10. Oracle Insert 多行(转)

    1.一般的insert 操作. 使用语法insert into table_name[(column[,column...])] values (value[,value…])的insert语句,每条 ...