Browsed by
标签:OpenStack

Kubernetes 社区是如何运作的系列之二——康威定律和SIG

Kubernetes 社区是如何运作的系列之二——康威定律和SIG

閱讀本文約花費: 10 (分鐘)生产关系能否决定生产力?为什么这个社会需要管理?Kubernetes 是如此的成功,它的开源治理和技术架构是有着非常密切的关系的。 Tue Feb 6, 2018 | 3000 Words | 大约需要阅读 6 分钟 | | 康威定律(Conway’s Law) 随着信息技术的发展,以及现实的IT公司的成功,如Amazon、Netflix,以及云计算的普及,微服务的实践正在走向很多传统用户,然而,实施微服务的过程中,和DevOps的理念一样,人们发现并非仅仅是技术所能够解决的。还要涉及到组织架构。于是,伴随着微服务的发展,一位很少被人提及的科学家被推到了前端,也是被人忽视而尘封的科学家。 时间要拨回到1967年,Melvin Conway 以独特的视角观察到一个组织的组织结构会对其开发的系统有很大的影响。并撰写了“How Do Committees Invent” 这样一篇影响深远的论文,其中被人们广为知道的结论: 设计系统【这里也不仅仅是指信息系统】的组织,其产生的设计和架构等价于组织间的沟通结构。 该定律基于这样一个推理:为了能够让软件之间的模块相互作用,软件的撰写者们必须相互频繁的进行沟通,因此,系统的软件界面结构将会反映出打造此系统的组织的社会边界,要知道跨边界的沟通是比较困难的。Conway 定律的目的是试图说明这是蛮常见的社会学…

Read More Read More

Kubernetes 社区是如何运作的系列之一——哲学及治理

Kubernetes 社区是如何运作的系列之一——哲学及治理

閱讀本文約花費: 6 (分鐘)开源社区治理,正在逐渐的成熟,Linux、CNCF、OpenStack、Apache基金会等俨然成为软件业的中流砥柱,本土是不是应该潜心学习这些先进的管理/治理方式?精英制还是完全民主化?是不是应该以实际行动和理性思考来作出正确的判断? Mon Feb 5, 2018 | 1900 Words | 大约需要阅读 4 分钟 | | 引子 在2017年,关于容器的管理和调度平台,战火的硝烟渐渐的平息,Kubernetes 以压倒性的优势占据了这个细分领域的霸主,如下图来自 thenewstack 的调查: 如果仅仅从纯技术的角度而言,Kubernetes 和其它平台是半斤八两,处于伯仲之间,那么在社区的运营和赢得人们信任的方面,Kubernetes绝对是No.1,没有哪家能够相提并论。即使是Docker本身拥有无数拥泵的情况下,是容器的默认事实标准,也无法抵挡透明、开放、协作的Kubernetes社区的魅力。开源之道在Kubernetes 之所以成功的背后神秘力量 进行过专门的表述。 在上个月的中旬,Software Engineering Daily 的Jeff 撰写了一篇非常棒的文章:Kubernetes 的“下沉”,意指Kubernetes已经像Linux在单机操作系统的地位一样,成为分布式系统平台的默认选择。成为了分布式系统事实…

Read More Read More

浅谈服务治理、微服务与Service Mesh

浅谈服务治理、微服务与Service Mesh

閱讀本文約花費: 48 (分鐘)SOA与服务治理 SOA(面向服务的体系结构)概念由来已久,在10多年前便开始进入到我们广大软件开发者的视线中。SOA是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。SOA可以看作是B/S模型、Web Service技术之后的自然延伸。 服务治理,也称为SOA治理,是指用来管理SOA的采用和实现的过程。以下是在2006年时IBM对于服务治理要点的总结: l 服务定义(服务的范围、接口和边界) l 服务部署生命周期(各个生命周期阶段) l 服务版本治理(包括兼容性) l 服务迁移(启用和退役) l 服务注册中心(依赖关系) l 服务消息模型(规范数据模型) l 服务监视(进行问题确定) l 服务所有权(企业组织) l 服务测试(重复测试) l 服务安全(包括可接受的保护范围) 限于当时的技术发展水平,广大软件设计与开发人员对于SOA和服务治理的技术认知还主要停留在Web Service和ESB总线等技术和规范上,并没有真正在软件开发中得以充分落地。 Dubbo开源 直到2011年10月27日,阿里巴巴开源了自己的SOA服务化治理方案的核心框架Dubbo,服务治理和SOA的设计理念开始逐渐在国内软件行业中落地,并被广泛应用。 Dubbo作为阿里巴巴内部的SOA服务化治理方案的核心框架,在2012年时已经…

Read More Read More

数据中心网络架构浅谈(一)

数据中心网络架构浅谈(一)

閱讀本文約花費: 14 (分鐘)不论我们在讨论SDN,NFV或者其他的虚拟网络技术,有一点需要明确,网络数据包最终都是跑在物理网络上。物理网络的特性,例如带宽,MTU,延时等,最终直接或者间接决定了虚拟虚拟网络的特性。可以说物理网络决定了虚拟网络的“天花板”。在Mirantis对OpenStack Neutron的性能测试报告中可以看出,网络设备的升级和调整,例如采用高速网卡,配置MTU9000,可以明显提高虚拟网络的传输效率。在对网络性能进行优化时,有些物理网络特性可以通过升级设备或线路来提升,但是有些与网络架构有关。升级或者改动网络架构带来的风险和成本是巨大的,因此在架设数据中心初始,网络架构的选择和设计尤其需要谨慎。另一方面,在设计虚拟网络时,不可避免的需要考虑实际的物理网络架构,理解物理网络架构对于最终理解虚拟网络是不可缺少的。 接下来我将分几次说一说自己对数据中心网络架构的认识,想到哪说到哪,不对的地方请大家指正。 传统数据中心网络架构 在传统的大型数据中心,网络通常是三层结构。Cisco称之为:分级的互连网络模型(hierarchical inter-networking model)。这个模型包含了以下三层: Access Layer(接入层):有时也称为Edge Layer。接入交换机通常位于机架顶部,所以它们也被称为ToR(Top of Rack)交换机,它们物理…

Read More Read More

OpenStack 开发入门

OpenStack 开发入门

閱讀本文約花費: 5 (分鐘)什么是 OpenStack? 官方网站给出的定义是: OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface. 粗略翻译:OpenStack 是一个可以控制整个数据中心里大量的计算、存储和网络资源池的云操作系统,它通过一个既能赋予管理员控制资源的能力,也能让普通用户调配资源的可视化控制面板(Dashboard)来管理这一切。 Openstack 介绍 对开发者来说,我们需要知道的是,OpenStack 是由一系列开源组件构成的基础设施即服务(Infrastructure as a Service,简称IaaS)范畴的云平台解决方案,它让用户方便的构建和管理自己的云平台,它正在解决以及将要解决的主要问题就是如何自动管理物理主机上虚拟出来的虚拟机和虚拟资源。 虚拟资源…

Read More Read More

如何阅读OpenStack源码

如何阅读OpenStack源码

閱讀本文約花費: 28 (分鐘)原文:https://github.com/int32bit/openstack-workflow http://www.talkwithtrend.com/Article/240391 1 关于该项目 本项目使用在线绘图工具web sequencediagrams完成,目标是图形化OpenStack的所有操作流程,通过操作序列图能快速学习Openstack的工作原理,理清各个组件的关系,运维人员也能根据操作序列图进行更精确的故障定位和排查. 注意,该操作序列图基于L版OpenStack源码,未来版本的操作可能会有变化,请以最新版的源码为准,该项目提供的序列图仅供参考。 2 OpenStack基础 2.1 OpenStack组件介绍 OpenStack是一个IaaS层的云计算平台开源实现,其对标产品为AWS。最开始OpenStack只有两个组件,分别为提供计算服务的Nova以及提供对象存储服务的Swift,其中Nova不仅提供计算服务,还包含了网络服务、块存储服务、镜像服务以及裸机管理服务。之后随着项目的不断发展,从Nova中根据功能拆分为多个独立的项目,如nova-volume拆分为Cinder项目提供块存储服务,nova-image拆分为Glance项目,提供镜像存储服务,nova-network则是neutron的前身,裸机管理也从Nova中分…

Read More Read More

理解裸机部署过程ironic

理解裸机部署过程ironic

閱讀本文約花費: 27 (分鐘)部署物理机跟部署虚拟机的概念在nova来看是一样,都是nova通过创建虚拟机的方式来触发,只是底层nova-scheduler和nova-compute的驱动不一样。虚拟机的底层驱动采用的libvirt的虚拟化技术,而物理机是采用Ironic技术,ironic可以看成一组Hypervisor API的集合,其功能与libvirt类似。 操作系统安装过程 Linux系统启动过程 bootloader(引导程序,常见的有GRUB、LILO) kernel(内核) ramdisk(虚拟内存盘) initrd/initramfs (初始化内存磁盘镜像) 下面我们分别介绍每个概念: 引导加载程序是系统加电后运行的第一段软件代码。PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR(主引导记录,通常位于第一块硬盘的第一个扇区)中的OS BootLoader(比如,LILO和GRUB等)一起组成。BIOS在完成硬件检测和资源分配后,硬盘MBR中的BootLoader读到系统的RAM中,然后控制权交给OS BootLoader。 bootloader负责将kernel和ramdisk从硬盘读到内存中,然后跳转到内核的入口去运行。 kernel是Linux的内核,包含最基本的程序。 ramdisk是一种基于内存的虚拟文件系统,就好像你又有一个硬盘…

Read More Read More

云和虚拟化有何区别?[云计算]

云和虚拟化有何区别?[云计算]

閱讀本文約花費: 6 (分鐘)由于虚拟化和云的核心理念都是从抽象资源中创建可用的环境,所以很容易被混为一谈。虚拟化是一种技术,可让用户以单个物理硬件系统为基础,创建多个模拟环境或专用资源。而云是一种能够抽象、汇集和共享整个网络中的可扩展资源的 IT 环境。简而言之,虚拟化是一项技术,而云是一种环境。 人们创建云通常是为了进行云计算,也就是在系统中运行工作负载。  云基础架构可以包含各种裸机、虚拟化或容器软件,它们可用于抽象、汇集和共享整个网络中的可扩展资源,以此来创建云。稳定的操作系统(如 Linux®)是云计算的基础。这一层架构可让用户独立于公共、私有和混合环境之间。 如果您能访问内部网和/或互联网,则可以使用虚拟化来创建云,但这不是唯一的选择。  通过虚拟化,虚拟机监控程序会监控物理硬件,并抽象机器中各项资源,之后把这些资源提供给叫做虚拟机的虚拟环境。这些资源可以是原始处理能力、存储或基于云的应用,其中包含了部署所需的所有运行时代码和资源。 如果就此停止,则不能叫做云——这仅仅是虚拟化。  只有向中央池分配了虚拟资源,才能被称为“云”。增加一层管理软件后,即可管控将在云中使用的基础架构、平台、应用和数据。再增加一层自动化工具,用来替换或减少人工操作可重复指令和流程,从而为云提供自助服务组件。 如果您建立的 IT 系统满足以下条件,则说明您…

Read More Read More

KVM权威指南

KVM权威指南

閱讀本文約花費: 14 (分鐘)KVM权威指南 – Happiness”Blog 1.什么是虚拟化? 虚拟化,通过模拟计算机的硬件,来实现在同一台计算机上同时运行多个不同的操作系统的技术。 2.为什么要用虚拟化? kvm: 兼容较好,性能较好! 支持内存压缩技术 qemu:最早,最慢,兼容性最强,模拟所有硬件, x86,arm,power AIX xen: 性能最好,兼容性最差,使用专门定制的内核, vmware ESXI商业软件: 最贵,好用 virtual box: 开源 没有虚拟化之前:计算机的硬件配置越来越高 512G 内存,4路 8核16线程 ,12* PCI-E 1T的SSDntp服务,安装多个mysql,安装多个tomcat,安装…. linux开源的,很多软件都有依赖包openssl nginx 充分利用资源,软件运行环境的隔离,只有虚拟化才行实现。 场景1:同一台物理机运行多个php版本 php5.3(openssl,gd) php5.5 php7.2 场景2:机房的迁移,解决了硬件和系统的依赖 场景3:openstack环境,软件发布方式 场景4:开发环境和测试环境,使用虚拟化只靠一台物理服务器,30台虚拟机 产品 — 开发 — 运维 — 测试so结尾,linux 库文件 场景5:业务的快速…

Read More Read More

Scroll Up