随着云计算的成熟和云计算系统的广泛使用,越来越多的企业选择将新业务部署到云上。但是,上云并不意味着就能够充分利用云平台的优势。目前,大部分的云化应用,依然还是基于传统的软件架构来搭建的,仅仅是移植到云上去运行,和云平台的整合度非常低。
这种基于虚拟主机为主体的云化方式,只是实现了对云计算最初级的利用,无法充分发挥云计算中弹性、高可用性,易扩展性等优势。要想进行真正的云化,还需要摒弃传统的方法,从架构设计、开发方式、部署维护等各个阶段基于云原生的特点重新实现,从而建设全新的基于云的应用和系统,也就是云原生架构。
#01
什么是云原生?
What is Cloud Native?
云原生是一种全新的技术理念,以容器化、微服务、持续集成和持续交付为主要要素,是一套从云应用视角,专门为云应用设计的架构体系。当前,云原生正以其技术优势以及不断扩大的应用场景,逐步普及到各行各业的敏捷开发与业务创新中。
目前,云原生计算基金会(CNCF)给出了云原生应用的三大特征:
1、应用容器化
容器镜像打包了整个容器运行依赖的环境,包括代码、依赖库、工具、资源文件和元信息等,避免了依赖运行容器的操作系统,从而实现“Build once, run anywhere”。容器镜像一旦构建完成,就变成read only,成为不可变基础设施的一份子。
通过容器化封装解耦了应用程序和操作系统的依赖,保证应用程序在跨越云基础设施进行迁移和扩展时变得简单且稳定。
2、面向微服务架构
在微服务架构中,服务是一个个单一的、可独立部署的软件组件,每个组件实现独立的功能。开发人员只需通过服务的API访问服务内部的方法和数据。通过这样的方式,微服务架构强制实现了应用程序的模块化。微服务架构的最核心特性是服务之间的松耦合性。服务之间的交互采用API完成,这样做就封装了服务的实现细节,支持未来在不影响客户端的前提下,对实现方式做出修改。
微服务架构通过将大的系统按照业务服务的粒度进行拆分,每个服务可独立开发、测试、验证和部署,在优化资源的同时,也为应用程序提供了更好的扩展性。
3、动态编排
通过集中式的编排调度系统来实现服务的动态管理和调度,包括服务的发现和治理、远程调用、服务代理和微服务治理等组件,实现构建容错性好、易于管理和便于观察的松耦合系统。
让企业应用能够利用云平台实现资源的按需分配和弹性伸缩,是云原生应用重点关注的地方。它要求云原生应用具备可用性和伸缩性,以及自动化部署和管理能力,可随处运行,并且能够通过持续集成、持续交付提升研发、测试与发布的效率。云原生应用并未完全颠覆传统的应用,采用云原生的设计模式可以优化和改进传统应用模式,使应用更加适合在云平台上运行。
#02
天空卫士数据安全
产品如何上云?
How to deploy Skyguard Data Security products on cloud?
天空卫士的Gator Cloud NG,是一套完全以云原生的方式构建起来的数据安全解决方案。企业和组织可以灵活选择搭配各种数据安全服务,对其数据和应用进行保护。
下面,让我们一起从云原生的角度看看Gator Cloud NG的整体设计:
基于K8S的分布式架构,支持按需分配服务资源:
基于K8S技术,实现各个安全服务在云端环境对部署、启动和扩容等业务功能;
基于客户身份,通过名称空间实现多租户部署场景的服务隔离;
实现各个产品服务对内部组件的服务依赖管理,启停顺序控制、资源回收和持久化存储等功能。
将之前的单体应用拆分成为微服务模式,以支持弹性伸缩:
关键路径的节点均改造成无状态服务:即使节点挂掉再重启,也不会发生数据丢失,保证了高可用,同时也能够支持快速的扩缩容;
技术实现上,研发团队在充分考虑资源利用率的同时兼顾了安全要求,对不同类型的组件了采用分级的方式进行了拆分:
公共服务组件,包括内容解析服务组件、OCR服务组件和病毒分析服务组件等,这些组件的运行不涉及租户相关数据,将会以集群级别的方式提供服务,统一服务于整个集群中所有租户的业务组件;
租户相关基础服务组件,包括Redis组件、PG组件和安全策略引擎组件,由于这些组件包含租户级别的数据信息,为了实现租户数据隔离,这些组件将会以租户级别单独创建;
安全服务组件,包括ATS服务组件和UCWI API组件等,由于这些服务和安全服务业务相关,将为每个服务单独创建,支持动态扩展。
为了保证数据的快速和高效流转、数据隔离,为每个租户创建不同的PV,租户里不同组件需要共享(持久化)的文件统一挂载到该PV上。
采用统一存储解决方案Ceph,数据分布均衡,并行度高, 可适应任何底层的物理存储系统:
实现控制平面和数据平面完全分开。控制平面提供服务的抽象层,通过 API 访问存储层提供的基础功能;
提供了多种用户访问接口,便于数据共享,保证了数据安全。
数据安全服务统一管理平台和数据安全服务提供点分离,以支持企业的就近接入需求:
天空卫士已经在多个IaaS部署安全服务集群,用户可以根据自身的业务辐射范围、用户的集合地等因素选择接入速度更快的服务提供点;
同时支持将服务提供点部署到客户的私有云平台;
根据客户流量分布,支持服务就近访问、故障转移能力。
通过运维管理平台实现多集群的统一管理:
统一纳管公有云集群、私有云集群,集中管理部署数据安全服务;
对于云端服务,提供统一的运维支持。
#03
建设效果如何?
What Skyguard product features can be deployed on cloud?
当前,Gator Cloud已经可以提供包括网络数据安全服务和统一内容审查服务。企业可以根据自身业务情况,自主选择所需的数据安全服务,并提供便捷的接入方式,轻松就能实现对其企业数据和应用的保护。
1、网络数据安全服务
将企业应用数据通过安全隧道导流到最近的天空卫士安全服务集群(POP), 由集群中的数据安全服务根据每个客户在统一管理平台配置的安全策略来对客户的数据进行检测、清洗、记录日志、阻断等操作。
通过采用隧道模式,原报文保持原有的完整结构,内容不会被修改;
在具体的导流方案选型上,技术团队最终在IPSec方案中采用了ESP(Encapsulating Security Payload)协议,是因为ESP能够在数据的传输过程中对数据进行完整性度量和来源认证,可以选择加密,也可以选择防止回放保护;
IPSec简介:IPSec在网络层将IP报文进行处理后再传输,增强了IP报文的安全性。
准确来说,IPSec不是一个单独的协议,而是一组协议,IPsec包含了三个最重要的协议:认证头AH(Authentication Header),封装安全载荷ESP(Encapsulating Security Payload),密钥交换协议IKE(Internet Key Exchange)。
IPSec是IPv6的组成部分,也是IPv4的可选扩展协议),在保证IP报文的数据保密性(加密)、数据完整性度量(防止数据被改动)的基础上可防止数据回放攻击(即接收到多个相同报文)。
安全服务集群可根据客户的购买许可,以及客户流量的情况,动态地分配计算资源,确保客户的数据安全需求都能轻松满足。
2、统一内容审查服务
利用GatorCloud部署在云上的统一内容安全审查服务,为客户在云上的业务提供基于 REST API 的数据安全服务。客户的云业务开发人员可以在自己业务数据流转的关键节点,调用基于Restful的API接口,即可享受黑盒式的数据安全服务。
API 接口调用好处是将用户业务流程开发者和数据安全策略制定者隔离开来:业务流程的开发人员无需了解客户企业数据安全策略的具体细节,同时,企业数据安全团队也无需了解业务流程中数据流转的细节。这样的隔离能够大大提高企业部署数据安全策略效率。
未来,还会有包括安全Web网关服务、终端数据安全服务等更多的安全服务陆续推出。
图片
作者介绍
刘茜 北京天空卫士网络安全技术有限公司产品经理,电子科技大学通信工程学士和管理双学士。关注大数据、数据挖掘和机器学习算法及应用和移动安全产品 。加入天空卫士之前在赛门铁克从事安全产品的研发工作。