首页 文章 精选 留言 我的

精选列表

搜索[态度/观点],共7306篇文章
优秀的个人博客,低调大师

甲方观点:暴露面资产管理的“柳暗“与”花明”

古有智者云:“万物莫不相对,万物莫不相异”,同与异其实是对立面的统一,凡事并没有绝对的标准,一切的是非对错皆是相对而言,所谓盛极而衰、否极泰来。有时事件的逻辑看似走向单一,实则会在多个维度殊途同归。互联网暴露面上的日常攻防,也正是如此。身处其中之人,才可窥见妙门。 树大招风 随着中国经济的崛起,中国互联网行业迎来了最好的机遇,经过二十年的高速发展已经深入并改变社会生活的各个方面,如:网上办公系统、视频会议系统、电话语音系统、互动式系统、门户型系统等极大地提高了企事业单位的办公效率。但同时,不断加大的信息系统建设投入使得企业中的IT资产数量迅速增加,网络规模爆炸式扩张。正所谓树大招风,数量众多的IT资产和庞大的网络规模,给企业资产管理工作带来了巨大挑战,也给信息系统安全带来了严重威胁。 愈演愈烈的网络安全威胁已经成为国家安全的新挑战,关键信息基础设施可能时时刻刻受到来自外界网络的各种安全威胁。国家层面,通过制定《中华人民共和国网络安全法》、《信息安全技术网络安全等级保护基本要求》等法律法规,在法律层面明确了关键基础设施信息安全的重要性、紧迫性以及建设参与单位需要承担的重要责任和法律义务。而在关键基础设施信息安全中,精准的资产管控是网络安全精细化管理的基础,互联网暴露面资产的网络安全管理又是重中之重。 目前,仍有大量企业采用人工录入的方式或者使用半本地化管理系统对互联网暴露面IT资产进行管理维护,缺乏主动发现新接入IT资产的技术手段,无法通过技术手段进行核查和管理,无法及时发现私自变更设备用途、私自部署软件、私开公网接口等问题。因此关键基础设施责任相关企业只有通过建立有效的资产管控秩序,掌握完整、动态更新的资产档案信息,才能更有效的开展风险识别、风险分析和风险处置工作。 另一方面,针对拥有海量互联网暴露面IT资产的企业,开展漏洞风险检测工作也是一项巨大挑战。如何能够在短时间内对互联网暴露面的IT资产进行快速且准确的漏洞风险排查,最大限度的缩减漏洞风险影响窗口期,也成为了企业网络安全管理人员面临的一大挑战课题。因此,互联网暴露面资产远程检测技术,对于推进通过远程扫描技术对IT资产进行检测,建立完整且及时的企业互联网暴露面IT资产信息库、风险库,提升各运营商对在暴露面资产安全风险的掌控力度具有重要价值。 1.三大困惑 互联网暴露面资产直接面向外部攻击者的威胁。相对于企业内部资产,所面临的安全风险更高。如何快速、准确的掌握互联网资产变化情况,高效的感知资产安全状态成为了互联网资产安全管理工作的重要工作内容。 现阶段三大常见困惑: 如何准确的探知暴露面资产上有些什么? 如何精准的识别暴露面资产特征指纹? 如何及时的检测存在漏洞的暴露面资产? 互联网暴露面资产存在一定的共性:已接入互联网,遵循并实现了TCP/IP协议栈。但是不同厂商、不同的平台在基于相同标准实现过程中,存在或多或少的差异。这就为我们进行资产类型识别提供了可能。我们将这些差异,称为不同厂商、不同平台、不同类型、不同版本资产的指纹信息。通过积累指纹信息,逐步形成“指纹库”,基于这些指纹信息,我们就可以识别资产的“厂商”、“操作系统”、“操作系统版本”、“资产监听服务类型及其版本”。 《GBT 20984-2007 信息安全技术信息安全风险评估规范》中,对于资产的定义为“对组织有价值的信息或资源,是安全策略保护的对象”,所以暴露面资产的本质是信息和资源,它不仅仅包含作为固定资产的主机与服务器,还包括IP资源,以及运行于主机与服务器上的Web服务、文件服务器、OA系统,ERP系统、CRM系统等。 面对暴露面资产的特殊性,其管理关注的也不仅仅限于资产的归属、运行状况,还包含了暴露面资产安全关注的风险、资产的变更情况以及资产的运行状况。基于我们已经获取到的操作系统信息、服务及其版本信息、服务使用框架信息(如:Java、Struts),通过应用软件产品类型、版本或者OVAL特征适配,我们就可以判断该资产上是否存在漏洞。 2.暴露面资产治理思路:对症下药 在新的网络安全形势下,已有的针对暴露面资产的安全监控及防护手段,存在着极大的不足和滞后性,缺少高效精准的技术手段了解这些系统和设备开放的组件、服务和端口情况,以至于在出现严重漏洞时既不知道是否受影响,也不知道影响范围程度。 (1) 暴露面资产发现与识别方案 通过暴露面资产发现与识别,用户可探测暴露面资产各操作系统、应用服务、工控设备、物联网设备以及移动设备等,设备整体情况尽收眼底。对于每类、每个设备,用户可从地理位置、网络层服务和应用层系统的对应关系一目了然地掌握设备的社会信息和基础关联信息。 暴露面资产发现与识别可以由以下五个模块组成:暴露面资产发现调度中心、暴露面资产发现采集中心、暴露面资产发现分析中心、暴露面资产IP/端口自学习、暴露面资产IP指纹爬取引擎。暴露面资产发现与识别的业务实现流程如图1所示: 图1 暴露面资产发现与识别的业务流程 暴露面资产扫描技术特点采用异步无状态扫描技术,可快速获取到暴露面存活资产,扫描速度远超过传统端口扫描器;对扫描探测资产采用针对性的轻量级探测策略,如同正常网络访问,不影响正常业务运行。另外,通过对扫描探测任务进行拆分,在资产发现行扫描时,将扫描IP列表、端口探测等拆分,打乱顺序扫描,设定不确定的间隔进行扫描,完成后重新组合,避免被扫描设备的安全防御机制所阻断。传统的端口扫描器对防火墙开放端口存在大量的误报,但是可以通过技术手段解决误报问题,提高资产探测结果准确性: 分片:将可疑的探测包进行分片处理。某些简单的防火墙为了加快处理速度可能不会进行重组检查,以此避开其检查。 IP诱骗:在进行扫描时,将真实IP地址和其他主机的IP地址混合使用,以此让目标主机的防火墙或IDS追踪检查大量的不同IP地址的数据包,降低其追查到自身的概率。注意,某些高级的IDS系统通过统计分析仍然可以追踪出扫描者真实IP地址。 IP伪装:将自己发送的数据包中的IP地址伪装成其他主机的地址,从而目标机认为是其他主机在与之通信。需要注意,如果希望接收到目标主机的回复包,那么伪装的IP需要位于统一局域网内。另外,如果既希望隐蔽自己的IP地址,又希望收到目标主机的回复包,那么可以尝试使用idle scan或匿名代理(如TOR)等网络技术。 扫描延时:某些防火墙针对发送过于频繁的数据包会进行严格的侦查,而且某些系统限制错误报文产生的频率,所以,定制该情况下发包的频率和发包延时可以降低目标主机的审查强度、节省网络带宽。 扫描发包计算:远程资产发现设备还提供多种规避技巧,比如指定使用某个网络接口来发送数据包、指定发送包的最小长度、指定发包的MTU、指定TTL、指定伪装的MAC地址、使用错误检查。 (2) 暴露面资产漏洞检测方案 a. 漏洞威胁预警 漏洞威胁预警指已经通过各种途径被披露的通用漏洞,攻击者通常会利用这些漏洞,快速研发自动化攻击工具,对存在这些漏洞的暴露面资产进行攻击,而造成企业暴露面资产损失。企业获取这些漏洞信息并不及时,所以即使官方已经针对这些漏洞发布漏洞补丁,也未能及时对系统进行修复。 为及时解决企业在漏洞情报信息获取不及时方面的缺失,可以通过漏洞情报共享平台提供的漏洞情报信息,与暴露面资产应用软件产品类型、版本或者OVAL特征适配,第一时间内获知暴露面资产漏洞威胁预警。 b. 漏洞检测 在具备漏洞情报共享平台通报漏洞威胁情报的能力之外,应进行无损漏洞检测程序的开发,完成对资产风险扫描和评估。暴露面资产漏洞检测流程如图2所示: 图2 暴露面资产漏洞检测流程 在全量暴露面资产中进行针对性的漏洞检测,可以在最快的时间进行漏洞定位,以便管理人员可以更有针对性的进行漏洞的修复操作。通过暴露面资产漏洞检索方案,第一时间检测出全部资源可能遭受某种已知或未知漏洞影响的范围,受影响资源的分布以及受影响的关键特征等,攻防局势尽在掌握。同时提供详细的报表报告,资产漏洞数据支持,足以支撑企业的资产相关决策。 3. 小结:风险导向,态势感知 互联网暴露面资产的安全是网络安全管理工作中的重中之重,各大型企业都对其投入了巨大的技术和管理支撑,远程检测技术也成为了其中最为核心的技术要求能力之一。但随着业务和技术的不断演进发展,企业需要向用户提供更加丰富的业务能力、更加优质的用户体验,这同时也使得互联网暴露面资产的安全风险更加严峻,企业责任更加重大。因此,企业互联网暴露面资产的远程检测技术仍将是最值得关注和研究的重要技术领域。 网络发展的同时也伴随着更多更高级的网络攻击在威胁着网络和信息安全,攻击行为逐渐变得更加难以捕获,为了应对日益严峻的安全攻势,需要以资产为基础,引入安全威胁情报,叠加风险、能力、事件等安全信息,逐步形成安全态势感知能力,能够有效的对未知安全事件进行及时和准确地发现。 【本文是51CTO专栏作者“安全牛”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】 戳这里,看该作者更多好文

优秀的个人博客,低调大师

大数据行业发展的九大痛点(个人观点

前言 尽管在Hadoop与NoSQL部署方面做足了准备,同样的问题仍然一次又一次反复出现。现在业界是时候尽快搞定这些麻烦事了。 有时候一艘巨轮的侧方出现了破洞,但业界却决定坐等船体下沉、并把希望寄托在销售救生艇身上。 也有些时候,这些问题似乎并没到要闹出人命的地步——类似我家里浴室的状况,只有往一边拧龙头才会出水。过一阵子我可能会找机会修理一下,但事实上这个问题已经存在了12年之久了。 而在面对大数据业务时,我可以列出九个长久以来一直令人头痛的问题,时至今日它们依然存在着并困扰着无数用户。 分享之前我还是要推荐下我自己创建的大数据学习交流Qun531629188 无论是大牛还是想转行想学习的大学生 小编我都挺欢迎,今天的已经资讯上传到群文件,不定期分享干货, 包括我自己整理的一份最新的适合2018年学习的大数据教程,欢迎初学和进阶中的小伙伴。 大数据痛点一号:GPU编程仍未得到普及 CPU的使用成本仍然较为昂贵,至少与GPU相比要贵得多。如果我们能够面向GPU开发出更理想的执行标准以及更多表现出色的驱动程序,那么相信一个新的市场将由此诞生。就目前来讲,GPU的使用成本优势并没能得到很好的体现,这是因为我们难以针对其进行编程,而且几乎没办法在不建立特定模型的前提下完成这项任务。 这种情况类似于,有些人希望编写出类似于ODBC或者JDBC的代码来处理某些高强度工作,并说服AMD或者英伟达将业务着眼点放在显卡产品之外。假设我们原本已经习惯了使用Spark实现各类计算任务,而且压根不觉得这么做有什么问题; 但仿佛在一夜之间,其他人都开始构建所谓“GPGPU”集群,这自然会让我们有点措手不及之感。 不少技术人员都开始在这方面做出探索,但要想真正让成果实现市场化,我们至少需要搞定两大竞争对手——AMD以及英伟达,也许再加上英特尔。除非它们愿意联手合作,否则如果继续像现在这样把技术保密看作市场成功的实现途径,那么问题永远也找不到理想的答案。 大数据痛点二号: 多工作负载缩放 我们拥有Docker。我们拥有Yarn。我们还拥有Spark、Tez、MapReduce以及未来可能出现的一系列技术方案。我们还拥有多种资源池化实现工具,其中包含各类不同优先级及其它设定。如果大家选择部署一个Java war文件,则可以在PaaS上进行“自动伸缩”。但如果大家希望在Hadoop上实现同样的效果,那么情况就不太一样了。 再有,存储与处理体系之间的交互该如何处理?有时候大家需要以临时性方式对存储资源进行扩展与分发。我应该有能力运行自己的“月末统计”批量任务并将Docker镜像自动部署到任意指定位置。而在我的任务完成之后,系统应当对其进行反部署,并将资源重新分配给其它工作负载。应用程序或者工作负载应该根本不需要在这方面浪费太多精力。 但目前这些要求尚无法实现。我希望大家习惯了编写Chef方案与脚本,因为这是达到以上目标的惟一办法。 大数据痛点三号: NoSQL部署更令人头痛 为什么我已经能够利用ssh与sudo将镜像导入Linux设备、为其指定Ambari并安装像Hadoop这样复杂度极高的项目,但却仍然需要在MongoDB以及大部分其它数据库的部署工作中浪费时间与精力?当然,我也可以编写Chef自动化方案,但恕我仍对此无法认同。 大数据痛点四号:查询分析器/修复器 当初在使用JBoss的时候,我曾经对Hibernate以及后来的JPA/EJB3进行过大量调试。具体来讲,主要工作包括查看日志记录、找出存在n+1类查询的位置、将其纳入join并移除可能影响运行效果的糟糕缓存配置。 但有时候情况又完全相反:我们可以将每一套需要的表添加到系统当中,但其返回速度却慢得让人抓狂。有时候,我打算在复杂程度更高的系统之上查看Oracle Enterprise Manager及其分析结果,但返回的报告却完全是一堆胡言乱语——这意味着其中存在问题。不过我可以同时着眼于两套始终共同协作的表,并据此找到分析当中存在的规律。我甚至考虑过利用编程方式解决问题。 而现在,每次对NoSQL系统进行调整时,我都会发现上述问题以不同形式表现出来:要么是跳转次数太多、要么是查询太过复杂,有时候我们的索引无法与where子句(即范围合并)相匹配。简而言之,我们将大量精力投入到了糟糕或者复杂查询的优化当中,但除了开发者培训课程、我们似乎从来不会对这些查询本身提出质疑。这套系统似乎有种魔性,它同用户的关系类似于:“嘿,你发来了这些查询,我认为它们看起来应该像这样……” 好吧,我猜很多从业者都以完成这些本可以通过自动化方式实现的工作为生。必须承认,我很庆幸自己已经渡过了基层工作时期,再也不用为这些琐事烦恼了。 大数据痛点五号: 分布式代码优化 我估计Spark当中的大量小功能及小设定会带来第四点里提到的各类问题。在编译器方面,大家可以编写优化器来检测循环内的非依赖性操作,同时自动对其进行提取与并行化调整。我在分布式计算领域经常会见到这类情况。所谓“数据科学家”们编写出的Python代码相当垃圾,根本没办法有效进行问题分配,而且会造成大量不必要的内存浪费。在这种情况下,需要由技术从牛挺身而出,尝试理解前面那位“科学家”的想法并进行优化。 问题在于,上述状况几乎跟大家在编译原理书里看到的反而实例一模一样。我猜随着技术的不断发展,未来Zeppelin甚至是Spark本身会站出来帮助大家修复糟糕的代码,并保证其与集群顺畅协作。 大数据痛点六号:分布式名不副实 我得承认,我对Hadoop的第一印象就是在Hive当中输入select count(*) from somesmalltable。我觉得这种使用方式真的非常差劲。大家会发现其中存在问题,并意识到其分布效果并不理想。有些朋友甚至不必参考其它数据(例如行数)就能发现我们没办法实现负载分布。通常来讲,这些只是整体工作当中的一部分(例如查找表),但无论我们实际使用的是Hive、Spark、HDFS还是YARN,其都会首先假设所有问题都已经得到切实分发。其中部分工作需要尽可能避免被分发,因为这样能使其运行速度更快。最让我受不了的就是用select * from thousandrowtable这样的操作拖慢MapReduce任务的运行速度。 大数据痛点七号:机器学习映射 在具体实例当中,我们都能轻松分清集群化问题、聚类问题或者其它一些归类工作。但似乎没人愿意解决真正有难度的部分——对业务体系中的常见部分进行映射、描述问题并通过描述映射找到应当使用的具体算法。 除了金融行业之外,只有10%到30%的企业能够保持有不同于行业常规情况的特色——换言之,我们可以将销售、市场推广、库存、劳动力等因素映射至一套通用模型,而后描述出适合使用的算法。这项工作不仅会改变我们处理业务的方式,同时也能极大扩展市场的整体规模。我们可以将其视为一种面向大数据的设计模式,只不过其更多是在强调业务方面的内容。 大数据痛点八号:安全性 首先,为什么我们只能通过Kerberos实现单点登录?云Web环境之下根本没有类似于Kerberos的方案可用。 其次,厂商之间奇怪的竞争方式对Hadoop造成了极大的扭曲,而这对任何人都不是件好事。在涉及到基础性身份验证及授权层面时,我们不得不使用两套完全不同的堆栈,才能为Hadoop的全部组成部分提供安全性支持。加密方面的产品竞争我还可以理解(各类方案都在以更小、更快、更强为发展目标),但无论是选择Ranger、Sentry或者是其它什么方案,为什么我们就不能拥有一套足以涵盖全部Hadoop项目的验证机制?公平地讲,大数据领域目前的状况比NoSQL还要糟糕; 随便拉来一家宣称“我们热爱开源”的企业都能在自己“企业级”专用版本的LDAP集成部分当中塞进几百行开源代码。 大数据痛点九号:提取、转换与加载 提取、转换与加载(简称ETL)可以说是每个大数据项目当中悄无声息的预算杀手。我们都很清楚自己到底需要利用大数据技术做些什么,但相较于将注意力集中在业务需求身上,现在我们首先得搞定Flume、Oozie、Pig、Sqoop以及Kettle等等。之所以面临这样的情况,是因为我们的原始数据往往处于混乱的状态。但真正令人惊讶的是,没有哪家厂商愿意拿出一套无缝化处理方案来。虽然解决这类问题没办法让你拿到诺贝尔奖,但却能够切实帮助到广大大数据技术用户。

优秀的个人博客,低调大师

【行业观点】如何为微服务选择正确的数据库

微服务成为基础设施建设重点的原因在于它提供了服务分离、数据自主存储、小型化开发、测试可设置等优势,这有助于新应用程序更快地上市或迭代更新。此外,容器和容器编排工具也增加了对微服务的使用频率。微服务的核心摒弃了传统架构,这使得它在服务之间共享一个单一的数据库。相比于传统的服务架构,微服务架构的每个微服务单元都具有独立、自主、专用的数据存储单元。以一个电子商务解决方案为例,如图所示,该方案采用的服务包括:应用服务器、内容缓存、会话存储、产品目录、搜索发现、订单处理、订单跟踪和数据分析等等。现代电子商务解决方案不是使用大型单个数据库来存储所有的操作和交易数据,而是使用类似于图1所示的微服务架构,其中每个服务都有自己的数据库。 如何为微服务选择数据存储方式“如何选择正确的数据存储方式”是设计微服务时最重要的问题之一。选择正确数据存储方式的第

优秀的个人博客,低调大师

观点丨企业云管平台(CMP)项目成功的关键因素

在企业级云服务体系中,CMP(Cloud Management Platform,云管平台)从传统IT系统建设中脱胎而出,因云计算进入主流市场,愈发博得企业客户关注。CMP承载着统一调度传统IT与云原生资源与应用、支持业务快速迭代创新的使命。 作为云计算领域一个重要的技术分支,CMP所面临的纳管环境一直在快速变化,而CMP的定义和边界也因此持续地演进和扩展。对企业用户而言,CMP的能力和价值已经非常明确。 根据研究机构Gartner对云管理市场的定义,CMP 五大核心能力,包括多云接入、服务请求管理、监控计量计费、编排与调度自动化等,而这些功能需要在混合IT环境(虚拟化、私有云、公有云)中落地,交付价值。 为什么CMP对企业很重要? 云的出现,为传统IT(运维)管理软件向CMP蜕变提供了宝贵的契机和大战拳脚的舞台。伴随着云计算在企业级IT市场的流行,以及云对企业数字化转型的价值得到普遍的认可,企业采纳CMP的动力也愈加强劲。这种强劲的驱动力来自企业的外部和内部。 ■一方面,当多云成为企业IT的新常态,企业在驾驭多云环境中需要借助CMP这一重要的技术框架和工具。多云带来了异构环境的调度与管理的挑战,而CMP向下对接和纳管不同类型IT基础设施、向上支撑传统和云原生应用的能力,同时能够衔接企业已有的审批、监控、运维体系,为企业带来敏捷创新力和全局视野的管理体验; ■ 另一方面,从传统IT到云,企业IT需要经历从“监管控中心”到“云服务中心”的转变。转变的过程可能是纠结而痛苦的,但是IT部门不得不直面现实。当业务创新的速度开始倒逼IT服务的响应能力,当IT部门自研软件的比重越来越大,研发和测试人员渴望更高的IT资源与应用的持续交付,IT部门必须从既往的惯性中挣脱出来,逐渐将资源交付、应用上线服务化,从管理者身份向服务商的角色过渡。在这一转变进程中,CMP扮演着“云服务中心”核心能力支撑平台的角色。 在从传统IT到云,CMP为企业用户提供了一套完整的、面向混合IT环境的管理框架。从传统的以CMDB为核心的“监管控”建设思路,到适用于分布式应用场景的以“高效交付云服务”为目标的运营模式,CMP的部署有助于帮助企业在短期内构建起面向云服务的管理规范和技术框架。 同时,CMP还是一种关键的平衡器。当云成为企业IT的一部分,它的便利性既给企业带来了业务快速创新的诸多可能,也带来了非常多的管理挑战。在企业IT向云转型的过程中,CMP是平衡器,一方面帮助企业的IT部门充分释放云生产力,同时对高度分布式的基础设施进行有效管控。 CMP项目成功的关键是什么? 企业用户从CMP的规划、选型、部署,尤其是后期运营是一个复杂的过程。其中涉及CMP具体功能项的考量,也有与现有IT基础设施、应用、流程的对接、定制等问题,很多企业都在自研或者部署开源或商业化的CMP产品,但是并不是每个企业都能够从CMP项目中获益。 企业CMP项目的成功有哪些关键因素?不妨先看看在现实生活中,我们是如何收获成功的购车和驾乘体验的。 一般我们会关注如下三点。首先大部分的消费者会对车辆的品牌、外观、内饰等直接可见的因素进行考量。一部分专业消费者还会考察车辆的发动机、底盘等非直接可见的因素。综合考量各项指标购买车辆后,驾驶者娴熟的驾驶技巧也决定了乘坐者的实际体验。总结来说,决定购车及乘车体验成功的因素包括,可见指标、不可见指标和人(如附图1所示)。 附图1 成功的汽车购车及乘车体验 再来考量 CMP 项目的建设。在CMP选型和POC时,企业同样也会对CMP的产品能力进行综合考量,这里我们将其划分为CMP产品的功能域能力和非功能域能力: ■ 功能域能力指的是CMP本身通用可见的技术能力,包含服务化能力、全生命周期管理能力和混合IT对接能力; ■ 非功能域能力指的是CMP融入企业IT架构所需的相关能力,包括集成与被集成能力、多租户与模块化能力和安全合规能力。 此外,CMP项目的实施和交付团队也至关重要。在选择CMP供应商时,企业需要综合考量CMP交付团队的实力,考察是否有足够的商业成功案例、交付团队是否具备丰富的行业经验、项目上线后能否给予客户足够的运营经验和支撑等。 总结来说,成功的CMP购买及落地体验的由三个关键因素共同决定,即CMP产品的功能域能力、CMP产品的非功能域能力和CMP项目团队的实施和交付能力(如附图2所示)。 附图2 成功的CMP购买及落地体验 3+3:CMP产品能力评估模型 对于CMP产品具体的功能和分类,Gartner的研究体系也一直在不断演进。2018年,Gartner发布了全新的云管理轮式模型,取代了之前CMP五大核心功能域和六大扩展功能域的模型。 在Gartner的《The Cloud Management Wheel》模型中,包含 4 类范畴,即自动化、纳管、治理、生命周期。其中 4 类范畴下包含 8个功能类,分别为服务开通与编排、服务请求管理、监控与分析、资源发现与分析、费用管理与资源优化、云迁移与灾备、身份认证与安全合规、集成与交付。 针对中国企业用户在云管领域的实际需求,以及CMP在企业混合IT架构中的职责与可交付价值,FIT2CLOUD(飞致云)在2018年7月提出了“3+3 CMP产品能力评估模型”。所谓“3+3”,就是前面提到CMP的产品功能域(服务化能力、生命周期管理能力和混合IT对接能力)和产品非功能域(集成与被集成能力、安全合规能力、模块化能力)的组合 (具体如附图3所示)。 附图3 CMP产品能力评估模型 CMP产品的功能域能力 在CMP产品功能域中,服务化能力、全生命周期管理能力、混合IT对接能力从三个关键的维度支撑了CMP给企业带来的服务价值(如附图4所示)。 附图4 CMP产品的功能域能力 ▲ 混合IT对接能力:针对企业纳管IT资源的需求,CMP通过混合IT对接能力纳管企业现有和新增的虚拟化、私有云、公有云、容器云资源; ▲ 服务化能力:混合IT资源将通过CMP的服务能力以虚拟服务、容器服务、数据库服务、DevOps服务等形式向企业IT部门和业务部门的用户进行交付; ▲ 全生命周期管理能力:承载向下对接和向上服务的是CMP的全生命周期管理能力,在这个维度上,CMP需要完成日常的监控、流程及运营、自动化等工作,同时还要持续满足企业在Day0规划、Day1部署、Day2变更的数据中心运营思路。 CMP产品的非功能域能力 CMP产品的非功能域能力可分为集成与被集成能力、安全合规能力、多租户及模块化能力三个维度(如附图5所示)。 附图5 CMP产品的功能域能力 ▲ 集成与被集成能力:它定义了一款CMP产品的开放性和兼容性,或者说一款 CMP 产品的可落地性。CMP需要通过提供支持SAML 2.0等规范的IdP中心、开放的REST API,以及与ITSM等系统的对接能力来融入到快速变化的企业IT架构之中; ▲ 安全合规能力:CMP需要具备基于角色的权限控制、运维安全审计、漏洞扫描与分析等能力,以满足企业对IT系统整体的安全性、合规性要求; ▲ 多租户及模块化能力:伴随着企业 IT 和业务的快速发展演进,CMP自身需要拥有足够的灵活性,通过模块化交付各项能力,需要有完整的多租户体系,支持模块化、微服务架构。如果 CMP 能自身支持容器化部署,更是一个加分项。 总结来说,“3+3”从功能域和非功能域的角度概括了CMP产品在企业环境中交付管理价值的具体能力。对于企业来说,CMP的部署和运营是综合性的工程。除了CMP产品本身外,还需要考量人的因素,也就是前面提到的CMP项目的实施与交付能力。既往的成功案例、行业服务经验和交付团队的协作性都与CMP项目的成败息息相关。因此从这个角度来看,“功能+非功能+团队”才是企业CMP项目成功的正确算式。 原文发布时间为:2018-08-15 本文作者:迟晓强 本文来自云栖社区合作伙伴“Linux宝库”,了解相关信息可以关注“Linux宝库”。

优秀的个人博客,低调大师

斯坦福 2023 AI 指数:中国群众对 AI 产品和服务态度最积极

斯坦福以人为本人工智能研究所 (HAI)发布了最新一期的 2023 AI 指数 (2023 AI Index) 报告,其中探讨了过去一年机器学习的发展。斯坦福 HAI 于 2019 年初成立,致力于研究新的 AI 方法,并研究该技术对社会的影响。其每年发布一份 AI 指数报告,通过跟踪和评估 AI 进展,着眼于研发、技术性能、伦理、经济、政策、舆论和教育方面的趋势。 今年的报告包括对基础模型的新分析,包括地缘政治和培训成本、人工智能系统的环境影响、K-12 人工智能教育以及人工智能的舆论趋势。“该报告有助于在数据中建立人工智能对话的基础,使决策者能够采取有意义的行动以负责任和合乎道德的方式推进人工智能。” 报告的一些亮点内容包括: 工业界领先于学术界。2014 年及之前,大多数重要的机器学习模型都是由学术界发布的;但在之后,这个角色开始由工业界接管。到 2022 年,有 32 个重要的工业生产机器学习模型,而学术界只有三个。构建最先进的人工智能系统越来越需要大量的数据、计算和资金,与非营利组织和学术界相比,行业参与者固有地拥有更多的资源。 传统基准测试的性能饱和。AI 发展快速迭代,但相关基准测试的发展却并没有并驾齐驱。此外,达到基准饱和的速度正在加快。许多用于衡量 AI 进展的传统基准测试,如 ImageNet 和 SQuAD 似乎已不再够用。不过目前也有新的、更全面的基准测试套件在推出,如 BIG-bench 和 HELM。 人工智能对环境既有帮助也有危害。新研究表明,人工智能系统会对环境产生严重影响。根据 Luccioni 等人的数据,到 2022 年,BLOOM 的训练排放的碳比一名从纽约到旧金山的单程航空旅客排放的碳多 25 倍。尽管如此,像 BCOOLER 这样的新强化学习模型表明,人工智能系统可用于优化能源使用。 世界上最好的新兴科学家或是人工智能?AI 模型开始迅速加速科学进步,并在 2022 年被用于帮助氢聚变、提高矩阵操作效率并生成新抗体。同事,人工智能技术也开始被用于构建更好的人工智能。Nvidia 使用 AI 强化学习代理来改进为 AI 系统提供动力的芯片设计。谷歌最近也使用其大型语言模型之一 PaLM 来建议改进同一模型的方法。 有关滥用 AI 的事件数量正在迅速增加。根据跟踪与人工智能道德滥用相关事件的 AIAAIC 数据库,自 2012 年以来,人工智能事件和争议的数量增加了 26 倍。 几乎每个美国工业部门对人工智能相关专业技能的需求都在增加。在美国有数据的每个部门(农业、林业、渔业和狩猎除外),与人工智能相关的职位发布数量平均从 2021 年的 1.7% 增加到 2022 年的 1.9%。美国的雇主正越来越多地寻找具有人工智能相关技能的工人。 在过去十年中,人工智能领域的私人投资首次出现同比下降。2022 年全球 AI 私人投资为 919 亿美元,较 2021 年下降 26.7%。与 AI 相关的融资事件总数以及新投资的 AI 公司数量也同样下降。尽管如此,在整个过去十年中,人工智能投资表现出显着增加。2022 年,人工智能领域的私人投资金额是 2013 年的 18 倍。 越来越多的公司采用 AI 技术。根据麦肯锡年度研究调查的结果,尽管采用率近年来一直稳定在 50% 至 60% 之间,但 2022 年采用 AI 技术的公司比例自 2017 年以来已经翻了一番以上。采用 AI 的组织报告称,它们实现了显着的成本降低和收入增加。 政策制定者对人工智能的兴趣正在上升。AI 指数对 127 个国家立法记录的分析表明,通过成为法律的包含“人工智能”的法案数量从 2016 年的 1 项增加到 2022 年的 37 项。对 81 个国家关于 AI 的议会记录的分析同样表明,自 2016 年以来,全球立法程序中提及 AI 的次数增加了近 6.5 倍。 中国公民是对人工智能产品和服务感觉最积极的人群之一,高于美国。在 2022 年的 IPSOS 调查中,78% 的中国受访者(在接受调查的国家中比例最高)同意使用人工智能的产品和服务利大于弊的说法;其次是来自沙特阿拉伯(76%)和印度(71%)的受访者。只有 35% 的美国受访者(在接受调查的国家中比例最低)同意使用 AI 的产品和服务利大于弊。 此外,报告还指出在 2022 年的趋势中,DALL-E 2、Stable Diffusion 和 ChatGPT 等生成模型已经成为时代精神的一部分。但它们在表现出显著能力的同时,也引发了道德问题。Text-to-image 生成器通常在性别方面存在偏见,像 ChatGPT 这样的聊天机器人可能会传递错误信息或被用于邪恶目的。 且推动了许多 AI 技术进展的大型语言模型也变得越来越大、越来越昂贵。例如,2022 年发布的旗舰模型之一 PaLM 的开发成本为 800 万美元。比 2019 年首批推出的大型语言模型之一的 GPT-2 成本高160 倍,体积大 360 倍。 更多详情可查看完整报告。

优秀的个人博客,低调大师

观点

搜索 Python Web 框架时,Django、Flask 和 FastAPI 这三个名字总会出现。我们最新的Python 开发者调查结果证实,这三个框架仍然是开发者使用 Python 进行后端 Web 开发的首选。 三个框架都是开源框架,并与最新版本的 Python 兼容。 但是,怎样才能确定哪个 Web 框架最适合您的项目呢?本文将探讨每个框架的优势和劣势,并比较框架的表现。 Django Django 是“自带电池(即内置基础功能模块)”的全栈 Web 框架,被 Instagram、Spotify 和 Dropbox 等公司使用。Django 框架被誉为“为追求完美又注重效率的开发者而生的Web框架”,设计目的是让人们能够更简单、更快捷地构建稳健的 Web 应用。 Django 于 2005 年首次作为开源项目推出,在 20 年后的今天已经相当成熟,但仍然处在积极开发之中。它适用于许多 Web 应用程序,包括社交媒体、电子商务、新闻和娱乐网站。 Django 遵循模型-视图-模板 (MVT) 架构,其中每个组件都有特定的角色。模型负责处理数据并定义其结构。视图管理业务逻辑、处理请求并从模型中获取必要数据。最后,模板将这些数据呈现给最终用户,类似于模型-视图-控制器 (MVC) 架构中的视图。 作为全栈 Web 框架,Django 可用于构建整个 Web 应用(从数据库到 HTML 和 JavaScript 前端)。 另外,您可以使用Django REST Framework将 Django 与前端框架(例如 React)结合,构建移动和基于浏览器的应用。 探索我们全面的Django 指南,其中包含基础知识概览、结构化学习路径和其他资源,帮助您掌握框架。 Django 的优点 Django 之所以仍是使用最广泛的 Python Web 框架之一,原因有很多,包括: 功能广泛:Django 采用“自带电池”方式,提供身份验证、缓存、数据验证和会话管理等内置功能。它的避免重复代码 (DRY)原则可以加快开发速度并减少 bug。 易于设置:Django 利用其内置功能简化依赖项管理,减少了对外部软件包的需求。这有助于简化初始设置,最大限度地减少兼容性问题,让您可以尽快投入工作。 数据库支持:Django 的 ORM(对象关系映射)使数据处理更加直接,让您无需 SQL 知识就能使用 SQLite、MySQL 和 PostgreSQL 等数据库。不过,它不太适合 MongoDB 等非关系数据库。 安全性:针对跨站脚本 (XSS)、SQL 注入和点击劫持等常见漏洞的内置防御功能可以帮助您从一开始就快速确保应用安全。 可扩缩性:Django 虽然是单体,但它仍允许应用程序架构(业务逻辑和模板)的水平扩缩、减轻数据库负载的缓存以及提高效率的异步处理。 社区和文档:Django 拥有庞大、活跃的社区和详细的文档,可以提供现成的教程和支持。 Django 的缺点 尽管 Django 有很多优点,但在开发下一个 Web 应用时,您可能还需要考虑 Django 以外的其他选项。 不够轻量:对于小型应用来说,它的“自带电池”设计可能有些多余,像 Flask 这样的轻量级框架可能更合适。 学习曲线:Django 功能广泛,学习曲线自然也较为陡峭,不过有很多资源可以帮助新手开发者。 性能:与 Flask 和 FastAPI 等框架相比,Django 通常较慢,但内置缓存和异步处理可以帮助改善响应时间。 Flask Flask 是一个基于 Python 的微框架,用于后端 Web 开发。不过,别被“微”这个字骗到。正如我们将看到的一样,Flask 并不仅限于小型 Web 应用。 Flask 在设计上采用基于Werkzeug WSGI(Web 服务器网关接口)和Jinja2 模板的简单核心。Flask 的知名用户包括 Netflix、Airbnb 和 Reddit。 Flask 最初只是一个愚人节玩笑,2010 年作为开源项目发布,比 Django 晚了几年。微框架的方式与 Django 的方式有着本质区别。Django 采用“自带电池”风格,搭载许多构建 Web 应用所需的功能,而 Flask 则要精简得多。 微框架背后的理念是每个人都有自己的偏好,开发者应该可以自由选择自己的组件。因此,Flask 不包含数据库、ORM(对象关系映射器)或 ODM(对象文档映射器)。 使用 Flask 构建 Web 应用时,预先确定的东西很少。这可以带来很大的好处,我们将在下文中讨论。 Flask 的优点 通过我们的开发者生态系统现状调查,我们看到 Flask 的使用率在过去五年稳步增长,它在 2021 年首次超过 Django。 选择 Flask 作为后端 Web 框架的原因包括: 轻量级设计:Flask 的简约方式可以灵活替代 Django,是不需要过多 Django 功能的小型应用程序或项目的理想选择。不过,Flask 并不局限于小型项目,您可以根据需要扩展。 灵活性:Flask 允许您为数据处理和用户身份验证等核心功能选择库和框架。这样一来,您能够为项目选择最佳工具,并以前所未有的方式扩展。 可扩缩性:Flask 的模块化设计使其易于水平扩缩。使用 NoSQL 数据库层可以进一步增强可扩缩性。 学习曲线平缓:Flask 设计简单,易于学习,但对于更复杂的应用,您可能需要探索更多扩展程序。 社区和文档:Flask 拥有丰富的(可能技术性略强)文档和清晰的代码库。虽然 Flask 的社区比 Django 的社区小,但它一直很活跃并在稳步发展。 Flask 的缺点 虽然 Flask 有很多优点,但在 Web 开发项目中使用之前,您还是需要考虑一些问题。 一切自备:Flask 的微框架设计和灵活性要求您处理大部分核心功能,包括数据验证、会话管理和缓存。这种灵活性固然有益,但也会减慢开发进程,因为您需要寻找现有库或者从头构建功能。此外,必须对依赖项进行长期管理,确保它们与 Flask 保持兼容。 安全性:Flask 具有最低限度的内置安全性。除了保护客户端 Cookie 之外,您还必须实现 Web 安全最佳做法并确保所含依赖项的安全,同时根据需要应用更新。 性能:虽然 Flask 的性能略优于 Django,但落后于 FastAPI。Flask 提供了一些ASGI 支持(FastAPI 使用的标准),但它与 WSGI 的联系更紧密。 FastAPI 顾名思义,FastAPI 是一个用于使用 Python 构建高性能 Web API 的微框架。FastAPI 虽然相对较新(2018 年首次作为开源项目发布),但它已经迅速受到开发者的欢迎,2021 年以来一直在我们最受欢迎的 Python Web 框架列表中排名第三。 FastAPI 基于 ASGI(异步服务器网关接口)服务器Uvicorn和 Web 微框架Starlette。FastAPI 添加了数据验证、序列化和文档,以简化 Web API 的构建。 开发 FastAPI 时,这个微框架的创建者借鉴了使用许多不同框架和工具的经验。Django 是在前端 JavaScript Web 框架(如 React 或 Vue.js)流行之前开发的,但 FastAPI 在设计上考虑到了这种环境。 前几年,OpenAPI(前身为 Swagger)作为确定 API 结构和记录 API 的格式出现,为 FastAPI 提供了可以利用的行业标准。 除了创建 RESTful API 的隐式用例之外,FastAPI 也是需要实时响应的应用程序(例如消息传递平台和仪表板)的理想选择。它具有高性能和异步功能,非常适合数据密集型应用,包括机器学习模型、数据处理和分析。 FastAPI 的优点 2021 年,FastAPI 在我们的开发者生态系统现状调查中首次获得了自己的类别,有 14% 的受访者使用这个微框架。 此后,它的使用率增加到 20%,而 Flask 和 Django 的使用率则略有下降。 以下是开发者选择 FastAPI 的部分原因: 性能:FastAPI 专为速度而设计,支持异步处理和双向 Web 套接字(由 Starlette 提供)。在基准测试中,它的表现优于 Django 和 Flask,是高流量应用程序的理想选择。 可扩缩性:与 Flask 一样,FastAPI 高度模块化,因此易于扩缩,非常适合容器化部署。 遵守行业标准:FastAPI 与OAuth 2.0、OpenAPI(前身为 Swagger)和 JSON 架构完全兼容。因此,您可以轻松实现安全的身份验证并生成 API 文档。 易于使用:FastAPI 为类型提示和验证使用Pydantic,通过提供类型检查、自动补全和请求验证加快开发速度。 文档:FastAPI 附带大量文档,第三方资源持续增长,方便各个级别的开发者使用。 FastAPI 的缺点 在决定为项目使用 FastAPI 之前,需要考虑以下几点: 成熟度:FastAPI 较新,缺乏 Django 或 Flask 的成熟度。它的社区规模较小,由于使用不太广泛,用户体验可能不够流畅。 兼容性:作为微框架,FastAPI 需要额外的功能才能实现功能齐全的应用。与 Django 或 Flask 相比,兼容的库较少,可能需要您开发自己的扩展程序。 在 Flask、Django 和 FastAPI 之间选择 那么,哪个 Python Web 框架最好?与许多编程工作一样,答案是“看情况”。 正确的选择取决于几个问题的回答:您要构建什么类型的应用?您的优先事项是什么?您预计项目今后如何发展? 这三种流行 Python Web 框架都有其独特优势,因此根据您的应用程序进行评估将有助于您做出最佳决定。 如果您需要开箱即用的标准 Web 应用功能,Django是一个不错的选择,它适合需要更强大结构的项目。如果使用关系数据库,它的优势尤为明显,因为它的 ORM 能够简化数据管理并提供内置安全功能。不过,对于较小的项目或简单的应用程序来说,这样广泛的功能可能有些多余。 Flask 则具有更大的灵活性。它的简约设计让开发者能够挑选自己想要的扩展程序和库,适合需要自定义功能的项目。这种方式非常适合创业公司或 MVP,因为在这里需求可能会快速变化和发展。虽然 Flask 很容易上手,但请记住,构建更复杂的应用程序时要探索许多扩展程序。 如果速度是第一要务,那么FastAPI是一个强有力的竞争者,尤其是对于 API 优先型或机器学习项目。它使用类型提示等现代 Python 功能提供自动数据验证和文档。对于需要高性能的应用程序(如微服务或数据驱动 API),FastAPI 是一个极佳选择。尽管如此,它在内置功能方面可能不像 Django 或 Flask 那样丰富,您可能需要手动实现额外功能。 我们在其他指南中更深入地比较了 Django 和不同的 Web 框架: Django 与 Flask 对比 Django 与FastAPI 对比 三大Python Web 框架 完整横向对比 Django Flask FastAPI 设计理念 专为使用关系数据库的 Web 应用设计的全栈框架。 轻量级后端微框架。 用于构建 Web API 的轻量级微框架。 易于使用 “自带电池”方式意味着您需要的一切都已经就绪,开发可以快速开始。不过,大量的可用功能也会带来陡峭的学习曲线。 由于 Flask 是微框架,因此需要预先熟悉的代码较少。您可以高度灵活地选择自己喜欢的库和扩展程序。不过,更少的内置功能也意味着需要更多外部依赖项。 与 Flask 类似,它的内置功能比 Django 更少。类型提示和验证可以加快开发速度并减少错误。与 OpenAPI 兼容,可以实现自动 API 参考文档。 可扩展性 三者中兼容软件包的选择范围最广。 大量兼容软件包。 兼容软件包比 Flask 或 Django 更少。 性能 良好,但不如 Flask 或 FastAPI 快。 比 Django 稍快,但性能不如 FastAPI。 三者中最快。 可扩缩性 单体设计可能会限制可扩缩性。异步处理支持可以提高高负载下的性能。 轻量级模块化设计使其具有高度可扩缩性。 轻量级模块化设计使其具有高度可扩缩性。 安全 内置多种网络安全防御措施。 客户端 Cookie 默认受到保护。需要添加其他安全保护措施,并检查依赖项是否存在漏洞。 OAuth 2.0 支持开箱即用。需要添加其他安全保护措施,并检查依赖项是否存在漏洞。 成熟度 自 2005 年起开源并定期更新。 自 2010 年起开源并定期更新。 自 2018 年起开源并定期更新。 社区 大批活跃关注者。 随着 Flask 的持续流行,很可能保持活跃并继续增长。 关注者比 Django 和 Flask 更少。 文档 最活跃、最强大的官方文档。 详尽的官方文档。 由于历史最短,官方文档最不活跃。 延伸阅读 2024 Django 现状 什么是 Django Web 框架? 如何学习 Django Django 视图简介 Django 模板终极指南 Django 项目构想 使用 PyCharm 开始您的 Web 开发项目 无论您的主要框架是什么,您都可以在一个 IDE 中获取所有必备 Web 开发工具,就是专业的 Python IDE —— PyCharm。PyCharm提供对 Django、FastAPI 和 Flask 的内置支持,以及与 React、Angular 和 Vue.js 等前端框架的一流集成。 免费开始使用 PyCharm 本博文英文原作者:Evgenia Verbina PyCharm 相关阅读 关于 PyCharm PyCharm 是一款可以帮助专业 Python 开发者提升效率、信心和代码质量的集成开发环境 (IDE)。PyCharm Pro 原生支持整个 Python 工作流,包括 Web 框架、前端技术、数据库和科学工具。 PyCharm Community Edition 是一项免费的开源项目,也可用于一般的 Python 编程任务。 进一步了解 PyCharm ⏬ 戳「阅读原文」了解更多 本文分享自微信公众号 - JetBrains(JetBrainsChina)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册