• [公告] 华为云,攀峰,向前!
    今天,华为公司2022年年度报告正式发布华为云实现全球销售收入453亿元人民币全球业务持续增长感谢所有客户、伙伴、开发者朋友的信赖和支持企业数字化落地需要“端、边、管、网、云”的协同,华为云将基于ICT的技术积累,持续践行“一切皆服务”战略,立足行业数字化“云底座”和“使能器”的定位,提供全栈优质创新云服务。云计算是一个软件产业。我们将持续开放自身数字化转型中沉淀的技术、工具和经验,将自身使用的设计工具逐渐开放到华为云上,公开给全社会使用。截至2022年底,华为云已覆盖了29个地理区域的75个可用区,为全球客户提供服务。未来,华为云力争发展超过100万家合作伙伴,联接超过1000万开发者,服务1000万企业客户。“雪后疏梅正压枝,春来朝日已晖晖”攀峰,向前!
  • [技术干货] 插入技术
    keystone相关命令用户相关命令keystone user-create --name=xxx --pass=xxx --tenant=xxx        #创建用户xxx,并指定用户名、密码和所属租户 keystone user-delete xxx                                       #删除名为xxx的用户 keystone user-update --name=xxx --enabled=false userx          #将名为userx的用户重命名为xxx,并置为非激活状态  keystone user-password-update --pass=xxxx userx                #修改userx用户的密码 keystone user-list                                             #列出所有用户 keystone user-get xxx                                          #获取xxx用户的详细信息 租户相关命令keystone tenant-create --name=xxx                              #创建名为xxx的租户 keystone tenant-delete xxx                                     #删除名为xxx的租户 keystone tenant-update --name=xxx --enabled=false tenantx      #将名为tenantx的用户重命名为xxx,并置为非激活状态 keystone tenant-list                                           #列出所有租户 keystone tenant-get xxx                                        #获取xxx租户的详细信息 角色相关命令keystone role-create --name=xxx                                #创建名为xxx的角色 keystone role-delete xxx                                       #删除名为xxx的角色 keystone role-list                                             #列出所有角色 keystone role-get xxx                                          #获取xxx角色的详细信息 服务相关命令keystone service-create --name xxx --type image                #创建类型为image,名称为xxx的服务  #type:image->glance,identity->keystone,compute->nova,network->neutron,volume->cinder keystone service-delete servicex                               #删除servicex这个服务 keystone service-list                                          #列出所有服务 keystone service-get servicex                                  #获取servicex服务详细信息 端点相关命令keystone endpoint-create --service-id=xxx --publicurl=http://xxx --internalurl=http://xxx --adminurl=http:xxx    #创建端点xxx,并指明publicurl keystone endpoint-delete endpointx_id                          #删除endpointx这个端点 keystone endpoint-list                                         #列出所有端点 keystone endpoint-get --service=image                          #获取glance服务的端点信息 Glance运维命令镜像管理相关命令glance image-create --name xxx --disk-format qcow2 --container-format bare --file xxxx.img --owner xxx --progress        #上传(创建)镜像 glance image-delete xxx                                        #删除xxx镜像 glance image-update --name newname --is-public False --is-protected False --owner owner_id --disk-format raw imagex      #修改imagex镜像相关信息 glance image-list                                              #列出admin租户下所有镜像 glance image-list --all-tenants                                #列出所有租户下的镜像 glance image-show imagex                                       #查看imagex镜像的详细信息 glance image-download --file filename imagex_id                #将imagex镜像下载到本地,名称为filename Nova运维命令云主机类型管理相关命令nova flavor-create myflavor auto 1024 15 1                     #创建云主机类型myflavor,id自动分配,内存1024M,硬盘15G,1个虚拟cpu nova flavor-delete myflavor                                    #删除myflavor云主机类型 nova flavor-list                                               #列出所有云主机类型 nova flavor-access-add myflavor tenantx_id                     #将myflavor云主机类型设置为tenantx租户所有 nova flavor-access-remove myflavor tenantx_id                  #将myflavor云主机类型从tenantx租户中移除 nova flavor-access-list --flavor flavorx_id                    #查看flavorx云主机类型的所属信息 安全组管理相关命令nova secgroup-create segx "test secgroup"                      #创建安全组segx,描述为“test secgroup” nova secgroup-delete segx                                      #删除安全组segx nova secgroup-list                                             #列出所有安全组 nova secgroup-add-rule testsec icmp -1 -1 0.0.0.0/0            #安全组testsec中增加一条规则,icmp协议,全部端口,全部地址 nova secgroup-delete-rule testsec icmp -1 -1 0.0.0.0/0         #安全组testsec中删除一条规则,icmp协议,全部端口,全部地址 nova secgroup-list-rules default                               #列出default安全组的所有安全规则 实例管理相关命令nova boot --flavor flavorx_id --image imagex_id vmname         #基于flavorx云主机类型和镜像imagex创建实例,实例名称vmname nova boot --flavor flavorx_id --image snapoftest snapinstance  #基于flavorx云主机类型和快照snapoftest创建实例,实例名称snapinstance nova boot --flavor flavorx_id --boot-volume clouddisk_id --poll testinstance        #基于flavorx云主机类型和云硬盘clouddisk创建实例,实例名称testinstance nova delete vmx                                                #删除vmx实例 nova list                                                      #列出所有实例 nova show vmname                                               #查看vmname实例的详细信息 实例快照管理相关命令nova image-create --show --poll vmname snapofvm                #创建实例vmname的快照snapofvm(实例的快照即镜像) nova image-delete testsnap2                                    #删除快照testsnap2 nova image-list                                                #列出所有镜像(快照) 配额管理相关命令nova quota-defaults                                            #查看全局默认配额 nova quota-class-update --instances 20 default                 #将default类实例数量限制修改为20个 nova quota-class-show default                                  #查看default类配额 nova quota-update --instances 20 tenantx_id                    #修改tenantx租户的配额,实例数量改为20个限制 nova quota-show --tenant tenantx_id                            #查看tenantx租户的配额 Neutron运维命令网络相关命令neutron net-create --tenant-id tenantx_id --shared --router:external=True sharednet1      #创建网络sharednet1归属于租户tenantx,并且是共享的 neutron net-delete sharednet1                                  #删除网络sharednet1 neutron net-list                                               #列出所有网络 neutron net-show sharednet1                                    #查看网络sharednet1的详细信息 子网相关命令neutron subnet-create --name subnet1 --allocation-pool start=100.0.0.100,end=100.0.0.200 --disable-dhcp --gateway 100.0.0.1 sharednet1 100.0.0.0/24    #创建sharednet1网络下的子网subnet1,并设置IP分配范围,关闭dhcp,设置网关,设置子网网段 neutron subnet-delete subnet1                                 #删除子网subnet1 neutron subnet-list                                           #列出所有子网 neutron subnet-show subnet1                                   #查看子网subnet1的详细信息 路由相关命令neutron router-create router1                                 #创建路由router1 neutron route-delete router1                                  #删除路由router1 neutron router-interface-add router1 subnet1                  #把子网subnet1连接到路由router1上 neutron router-gateway-set router1 sharednet1                 #为路由router1设置外部网络sharednet1网关 neutron router-list                                           #列出所有路由 neutron router-show router1                                   #查看路由router1的详细信息 其他命令neutron agent-list          #列出所有网络代理 Cinder运维命令云硬盘管理相关命令cinder create --display-name volume1 1                         #创建云硬盘,名称为volume1,大小1G cinder delete volume2                                          #删除云硬盘volume2 cinder rename volume1 volume2                                  #重命名云硬盘volume1为volume2 cinder extend volume1 10                                       #扩展云硬盘大小volume1为10G cinder list                                                    #列出所有云硬盘 cinder show volume2                                            #查看云硬盘volume2的详细信息 云硬盘快照相关命令cinder snapshot-create --display-name v-snap1 volume1          #对volume1云硬盘创建快照,快照名称v-snap1 cinder snapshot-delete v-snap2                                 #删除云硬盘快照v-snap2 cinder snapshot-rename v-snap1 v-snap2                         #重命名云硬盘快照v-snap1为v-snap2 cinder snapshot-list                                           #列出所有云硬盘快照 cinder snapshot-show v-snap2                                   #查看云硬盘快照v-snap2的详细信息 cinder create --snapshot-id snap_id --display-name v3 1        #基于云硬盘快照snap创建云硬盘,云硬盘名称为v3,大小为1G(大小必须大于快照大小) cinder service-list                                            #列出cinder子服务状态 
  • [互动交流] 【Euler21.10+ARM】欧拉系统的鲲鹏服务器怎么安装kvm去拉虚机?
    【Euler21.10+ARM】欧拉系统的鲲鹏服务器怎么安装kvm去拉虚机?
  • [课程学习] 华为云学习——云计算架构图集(index)
     华为云学习-云计算架构图集  https://bbs.huaweicloud.com/forum/thread-0234114099852771009-1-1.html  --------------------  (一)手工绘图   双VPC   本地IDC、三业务系统、三子网   两地三中心   业务、管理双平面   EVS云硬盘形成原理   虚拟化结构   Openstack架构   容器网络访问   跨AZ负载均衡   容器网络访问2   计算虚拟化  容器  两者架构区别  附件下载 云计算架构图集.pptx  安全策略:ACL+安全组   (二)华为云官网配图 迁移     |     本地备份上云(CS、MA、OBS)    support.huaweicloud.com/bestpractice-obs/obs_05_0320.html  网络访问     |     访问境外网站(基于云连接和SNAT实现跨区域内网访问公网服务器加速)    support.huaweicloud.com/bestpractice-natgateway/nat_bestpractice_0001.html   CDN     |     视频点播加速架构图    support.huaweicloud.com/bestpractice-obs/obs_05_0520.html   CDN     |     通过Nginx反向代理访问OBS    support.huaweicloud.com/bestpractice-obs/obs_05_1400.html   镜像服务     |     私有镜像生命周期图    support.huaweicloud.com/productdesc-ims/ims_01_0004.html?utm_source=ims_Growth_map&utm_medium=display&utm_campaign=help_center&utm_content=Growth_map   OBS     |     访问网站动静态数据:用户---WEB(静态CDN、动态OBS)    support.huaweicloud.com/productdesc-obs/obs_03_0202.html   OBS     |     视频点播:生产者---OBS---CDN---终端用户    support.huaweicloud.com/productdesc-obs/obs_03_0202.html   OBS     |     大数据存算分离:基因测序方--->华为云计算集群(计算)-->OBS(存储)---数据(使用)    support.huaweicloud.com/productdesc-obs/obs_03_0202.html   OBS     |     视频监控上云:线下摄像头--->云上视频监控处理-->区域A OBS(存储)    support.huaweicloud.com/productdesc-obs/obs_03_0202.html   OBS     |     备份上云:线下数据--->备份上云----OBS---按周期归档    support.huaweicloud.com/productdesc-obs/obs_03_0202.html   OBS     |     基于OBS大数据存算分离方案    support.huaweicloud.com/bestpractice-obs/obs_05_1501.html   OBS     |     HPC与OBS的互动    support.huaweicloud.com/productdesc-obs/obs_03_0202.html   OBS     |     企业网盘的实现:电脑----网盘软件---OBS    support.huaweicloud.com/productdesc-obs/obs_03_0202.html   OBS     |     OBS托管静态网站    support.huaweicloud.com/bestpractice-obs/obs_05_0610.html   OBS     |     Web端直接上传数据到OBS    support.huaweicloud.com/bestpractice-obs/obs_05_1800.html   OBS     |     通过Nginx反向代理访问OBS    support.huaweicloud.com/bestpractice-obs/obs_05_1400.html   云硬盘EVS     |     云硬盘架构    bbs.huaweicloud.com/blogs/113674   云硬盘EVS     |     LVM架构    support.huaweicloud.com/bestpractice-evs/evs_02_0002.html   云备份CBR     |     云备份产品架构    support.huaweicloud.com/productdesc-cbr/cbr_01_0002.html   云备份CBR     |     云备份与其他服务的关系    support.huaweicloud.com/productdesc-cbr/cbr_01_0006.html   SFS     |     跨AZ共享(多实例共享存储)    bbs.huaweicloud.com/blogs/101775?utm_source=sfs_Growth_map&utm_medium=display&utm_campaign=help_center&utm_content=Growth_map   SFS     |     弹性文件服务简介    support.huaweicloud.com/productdesc-sfs/zh-cn_topic_0034428718.html   SFS     |     专属弹性文件服务    support.huaweicloud.com/productdesc-sfs/sfs_01_0143.html   SFS     |     与其他云服务的关系    support.huaweicloud.com/productdesc-sfs/sfs_01_0007.html   存储容灾SDRS     |     双AZ存储容灾    bbs.huaweicloud.com/blogs/107977   存储容灾SDRS     |     两地三中心(简图、生产站点故障、同时故障)    support.huaweicloud.com/bestpractice-sdrs/sdrs_bp_cbr_0002.html   云服务器备份CSBS     |     云服务器备份产品架构    support.huaweicloud.com/productdesc-csbs/zh-cn_topic_0056725842.html   专属企业存储DESS     |     云远程复制示意图    support.huaweicloud.com/usermanual-dess/hw_cloud_dr_replication.html   云存储网关CSG     |     云存储网关示意图    support.huaweicloud.com/productdesc-csg/csg_01_0008.html   云存储网关CSG     |     CSG架构示意图    support.huaweicloud.com/productdesc-csg/csg_01_0002.html   专属分布式存储DSS     |     专属分布式存储DSS示意图、对接专属云、对接非专属云    bbs.huaweicloud.com/blogs/103233   专属分布式存储DSS     |     DSS对接专属云、对接非专属云    bbs.huaweicloud.com/blogs/103233   专属分布式存储DSS     |     DSS混合负载、高性能计算    bbs.huaweicloud.com/blogs/103233   专属分布式存储DSS     |     DSS对接BMS    bbs.huaweicloud.com/blogs/103233   专属分布式存储DSS     |     专属分布式存储架构图    support.huaweicloud.com/productdesc-dss/zh-cn_topic_0081591984.html   VPC     |     VPC架构图(VPC、路由器、ACL、子网、安全组)    bbs.huaweicloud.com/blogs/114681   VPC     |     华为云网络全景(VPC与VPC、IDC、Internet三者的互连关系)    support.huaweicloud.com/productdesc-vpc/network_overview_0001.html   VPC     |     VPC内部结构图(简单版)    support.huaweicloud.com/productdesc-vpc/network_overview_0001.html   VPC     |     公网NAT网关(SNAT,DNAT示意图)    support.huaweicloud.com/productdesc-vpc/network_overview_0001.html   VPC     |     私网NAT网关(VPC与VPC,如何通过私网互联网)    support.huaweicloud.com/productdesc-vpc/network_overview_0001.html   VPC     |     云专线物理连接    support.huaweicloud.com/productdesc-vpc/network_overview_0001.html   VPC     |     图7:VPN组网图    support.huaweicloud.com/productdesc-vpc/network_overview_0001.html   VPC     |     图8:企业交换机实现云下和云上二层网络组网    support.huaweicloud.com/productdesc-vpc/network_overview_0001.html   VPC     |     图9:云连接组网(多个IDC、多个VPC互连)    support.huaweicloud.com/productdesc-vpc/network_overview_0001.html   VPC     |     图10 VPC终端节点    support.huaweicloud.com/productdesc-vpc/network_overview_0001.html   VPC     |     图11 VPC对等连接    support.huaweicloud.com/productdesc-vpc/network_overview_0001.html   VPC     |     图1 通过VPC终端节点实现跨VPC单向访问    support.huaweicloud.com/productdesc-vpc/network_overview_0002.html   VPC     |     图2 使用云连接实现跨区域多VPC连接    support.huaweicloud.com/productdesc-vpc/network_overview_0002.html   VPC     |     图3 VPC与本地数据中心之间的连接    support.huaweicloud.com/productdesc-vpc/network_overview_0002.html   VPC     |     图4 IPv6双栈  少量ECS通过eip连接Internet    support.huaweicloud.com/productdesc-vpc/network_overview_0002.html   VPC     |     VPC网络安全示意图(各类安全产品的布放)    support.huaweicloud.com/productdesc-vpc/network_overview_0003.html   VPC     |     ELB对HTTPS的接入    support.huaweicloud.com/productdesc-vpc/network_overview_0003.html   VPC     |     图2 网络ACL,图+表格    support.huaweicloud.com/productdesc-vpc/network_overview_0003.html   VPC     |     图3 安全组,图+表格    support.huaweicloud.com/productdesc-vpc/network_overview_0003.html   VPC     |     图4 IDC--VPN---VPC    support.huaweicloud.com/productdesc-vpc/network_overview_0003.html   VPC     |     图5 通过VPC终端节点实现私密连接    support.huaweicloud.com/productdesc-vpc/network_overview_0003.html   VPC     |     图1 使用云专线连接本地IDC(接入点、虚拟接口、虚拟网关)    support.huaweicloud.com/bestpractice-vpc/bestpractice_0007.html   VPC     |     图2 使用云连接实现多站点互连    support.huaweicloud.com/bestpractice-vpc/bestpractice_0007.html   VPC     |     图3 使用对等连接实现同一区域VPC互连    support.huaweicloud.com/bestpractice-vpc/bestpractice_0007.html   VPC     |     图4 使用云专线实现不同区域VPC互连    support.huaweicloud.com/bestpractice-vpc/bestpractice_0007.html   VPC     |     图5 通过VPN实现不同区域VPC互连    support.huaweicloud.com/bestpractice-vpc/bestpractice_0007.html   VPC     |     图6 使用云连接实现不同区域VPC互连    support.huaweicloud.com/bestpractice-vpc/bestpractice_0007.html   VPC     |     图1 仅允许对外访问,+安全组规则    support.huaweicloud.com/bestpractice-vpc/bestpractice_0005.html   VPC     |     图2 限制特定IP地址访问,+ACL规则    support.huaweicloud.com/bestpractice-vpc/bestpractice_0005.html   VPC     |     图3 ELB白名单限制访问来源,+白名单设置    support.huaweicloud.com/bestpractice-vpc/bestpractice_0005.html   VPC     |     图1 云上VPC互访使用第三方防火墙组网规划,+规则    support.huaweicloud.com/bestpractice-vpc/bestpractice_0008.html   VPC     |     图1 两台ECS上的容器通信,+路由表信息    support.huaweicloud.com/bestpractice-vpc/bestpractice_0011.html   VPC     |     图:两台ECS+虚拟IP,组成Keepalived高可用Web架构    support.huaweicloud.com/bestpractice-vpc/bestpractice_0010.html   EIP     |     EIP绑定云服务器、NAT网关、ELB、虚拟IP    bbs.huaweicloud.com/blogs/135981?utm_source=eip_Growth_map&utm_medium=display&utm_campaign=help_center&utm_content=Growth_map   EIP     |     线下IDC使用EIP对外提供IPv6服务    support.huaweicloud.com/bestpractice-eip/eip_bestpractice_0003.html   NAT     |     图1 SNAT架构图:VPC主动访问互联网    support.huaweicloud.com/productdesc-natgateway/zh-cn_topic_0086739762.html   NAT     |     图2 DNAT架构图:互联网访问VPC内资源    support.huaweicloud.com/productdesc-natgateway/zh-cn_topic_0086739762.html   NAT     |     图3 私网NAT网关:VPC与云下IDC通过私网访问    support.huaweicloud.com/productdesc-natgateway/zh-cn_topic_0086739762.html   NAT     |     IDC--VPN--本端VPC---湘港VPC---NAT---海外互联网    support.huaweicloud.com/bestpractice-natgateway/nat_bestpractice_0001.html   NAT     |     IDC---云专线---VPC---NAT---公网    support.huaweicloud.com/bestpractice-natgateway/nat_bestpractice_0002.html   NAT     |     IDC---中转VPC---私网NAT---业务VPC,私网访问,安全合规    support.huaweicloud.com/bestpractice-natgateway/topic_0270624519.html   NAT     |     跨VPC对外提供服务:Internet访问---NAT@VPC1---对等连接---VPC2,节省资源    support.huaweicloud.com/bestpractice-natgateway/nat_bestpractice_0004.html   NAT     |     实现IDC不修改网段上云    support.huaweicloud.com/bestpractice-natgateway/privatenat_bestpractice_0002.html   云专线     |     图1 云专线组网图    support.huaweicloud.com/productdesc-dc/zh-cn_topic_0032053183.html   云专线     |     多线路(不同运营商)接入上云    support.huaweicloud.com/productdesc-dc/zh-cn_topic_0032053183.html   云专线     |     图1 单专线静态路由访问VPC    support.huaweicloud.com/bestpractice-dc/dc_05_0001.html   云专线     |     图1 单专线BGP协议访问VPC    support.huaweicloud.com/bestpractice-dc/dc_05_0002.html   云专线     |     图1 双专线双接入点BGP协议访问VPC    support.huaweicloud.com/bestpractice-dc/dc_05_0003.html   云专线     |     图1 通过用户专线访问多个VPC    support.huaweicloud.com/bestpractice-dc/dc_05_0004.html   云专线     |     通过对等连接访问多个VPC    support.huaweicloud.com/bestpractice-dc/dc_05_0005.html   VPN     |     VPN混合云部署、跨VPC互连、VPC与云专线互备、    support.huaweicloud.com/productdesc-vpn/vpn_01_0001.html   VPN     |     IDC---VPN双连接----VPC:一条中断可快速切换到另一条    support.huaweicloud.com/bestpractice-vpn/vpn_best_00019.html   VPN     |     VPN HUB支持分支互访:双连接    support.huaweicloud.com/bestpractice-vpn/vpn_best_00022.html   VPN     |     企业路由器+DC/VPN双链路主备混合云组网    support.huaweicloud.com/bestpractice-vpn/er_03_0081.html   VPN     |     VPN,双Internet线路上云    support.huaweicloud.com/bestpractice-vpn/vpn_best_00013.html   VPN     |     连接VPC:本地IDC--VPN--VPC    support.huaweicloud.com/bestpractice-vpn/vpn_05_0001.html   VPN     |     跨境连接:本地VPC---香港VPC---VPN---海外    support.huaweicloud.com/bestpractice-vpn/vpn_best_00003.html   VPN     |     连接多个VPC:本地IDC--VPN--VPC--(cc)--不同区域VPC    support.huaweicloud.com/bestpractice-vpn/vpn_05_0003.html   VPN     |     连接多个VPC:本地IDC--VPN--VPC--peering--同区域VPC    support.huaweicloud.com/bestpractice-vpn/vpn_05_0004.html   VPN     |     云下多个IDC互通:VPN---VPC+CC+VPC---VPN    support.huaweicloud.com/bestpractice-vpn/vpn_05_0005.html   云连接CC     |     跨区域多VPC私网互通、多IDC与跨区域多VPC互通    support.huaweicloud.com/productdesc-cc/cc_01_1001.html   云连接CC     |     云连接原理图    support.huaweicloud.com/productdesc-cc/cc_01_0001.html   云连接CC     |     图3 跨大区互通带宽包和域间带宽    support.huaweicloud.com/productdesc-cc/cc_01_0001.html   云连接CC     |     跨区域多VPC互通    support.huaweicloud.com/bestpractice-cc/cc_04_0002.html   云连接CC     |     云下多IDC与云上多区域VPC互通    support.huaweicloud.com/bestpractice-cc/cc_04_0004.html   云连接CC     |     国内访问海外:IDC--VPN--本端VPC--云连接---香港VPC--SNAT-eip    support.huaweicloud.com/bestpractice-cc/cc_04_0003.html   云连接CC     |     海外访问国内:海外-eip-DNAT-香港VPC--CC--本地VPC    support.huaweicloud.com/bestpractice-cc/cc_04_0005.html   云连接CC     |     海外互访加速:新加坡vpc+DNAT---CC--上海VPC+代理服务器    support.huaweicloud.com/bestpractice-cc/cc_04_0007.html   云连接CC     |     云上多VPC互通:本地(对等连接)--CC---远端(对等连接)    support.huaweicloud.com/bestpractice-cc/cc_04_0010.html   VPC终端节点     |     终端节点示意图、IDC通过终端节点访问云上服务    support.huaweicloud.com/productdesc-vpcep/vpcep_01_0001.html   VPC终端节点     |     图2 IDC---终端节点---安全访问---华为云服务    support.huaweicloud.com/bestpractice-vpcep/vpcep_05_1001.html   企业路由器     |     图2 使用企业路由器构建网络:减少对等连接    support.huaweicloud.com/productdesc-er/er_01_0002.html   企业路由器     |     图1 多个VPC互通和隔离,共享专线    support.huaweicloud.com/productdesc-er/er_01_0004.html   企业路由器     |     图2 多条专线链路动态选路和切换    support.huaweicloud.com/productdesc-er/er_01_0004.html   企业路由器     |     图3 跨区域、跨云高可靠骨干网络    support.huaweicloud.com/productdesc-er/er_01_0004.html   企业路由器     |     图2 企业路由器工作原理图    support.huaweicloud.com/productdesc-er/er_01_0011.html   企业路由器     |     图1 跨区域VPC互通组网    support.huaweicloud.com/bestpractice-er/er_03_0021.html   企业路由器     |     图1 线下IDC和云上VPC互通组网    support.huaweicloud.com/bestpractice-er/er_03_0031.html   企业路由器     |     图1 同区域VPC隔离    support.huaweicloud.com/bestpractice-er/er_03_0041.html   企业路由器     |     图1 VPC共享SNAT    support.huaweicloud.com/bestpractice-er/er_03_0051.html   企业路由器     |     图1 同区域VPC流量清洗    support.huaweicloud.com/bestpractice-er/er_03_0061.html   企业路由器     |     图1 DC/VPN双链路主备混合云组网    support.huaweicloud.com/bestpractice-er/er_03_0081.html   企业路由器     |     图1 VPC对等连接迁移架构图、图2 对等连接和企业路由器组网对比    support.huaweicloud.com/bestpractice-er/er_03_0071.html   企业交换机     |     图1 云下和云上二层网络组网    support.huaweicloud.com/productdesc-esw/esw_pd_0002.html   企业交换机     |     图1 企业交换机工作原理    support.huaweicloud.com/productdesc-esw/esw_pd_0003.html   企业交换机     |     图2 云下和云上二层组网与三层组网对比    support.huaweicloud.com/productdesc-esw/esw_pd_0004.html   企业交换机     |     图2 企业交换机迁移组网:不修改IP地址,平滑迁移    support.huaweicloud.com/bestpractice-esw/esw_bestpractice_0002.html   企业连接     |     图1 总体架构:IEG设备--企业连接网络--ER    support.huaweicloud.com/productdesc-ec/ec_01_0001.html   企业连接     |     通过EC访问同Region内VPC:IDC--EC---同区域VPC    support.huaweicloud.com/bestpractice-ec/ec_04_0001.html   企业连接     |     通过EC访问跨Region内VPC:IDC---EC---不同区域VPC    support.huaweicloud.com/bestpractice-ec/ec_04_0002.html   企业连接     |     访问同大区内多个Region内VPC:    support.huaweicloud.com/bestpractice-ec/ec_04_0003.html   云容器引擎CCE     |     图1 CCE产品架构    support.huaweicloud.com/productdesc-cce/cce_productdesc_0001.html   云容器引擎CCE     |     3 Master集群,高可用架构图    support.huaweicloud.com/productdesc-cce/cce_productdesc_0003.html   云容器引擎CCE     |     传统虚拟化、容器化的区别    support.huaweicloud.com/productdesc-cce/cce_productdesc_0003.html   云容器引擎CCE     |     图1 CCE集群:Master、Pod、Container    support.huaweicloud.com/productdesc-cce/cce_productdesc_0020.html   云容器引擎CCE     |     图1 弹性伸缩场景    support.huaweicloud.com/productdesc-cce/cce_productdesc_0015.html   云容器引擎CCE     |     图1 混合云场景    support.huaweicloud.com/productdesc-cce/cce_productdesc_0018.html   云容器引擎CCE     |     图1 AI计算:用户--ELB--Master--Node(应用)    support.huaweicloud.com/productdesc-cce/cce_productdesc_0019.html   云容器引擎CCE     |     图1 容器 vs 虚拟机  图2 Docker容器使用流程    support.huaweicloud.com/basics-cce/kubernetes_0002.html   云容器引擎CCE     |     图2 Kubernetes集群架构    support.huaweicloud.com/basics-cce/kubernetes_0003.html   云容器引擎CCE     |     图1 Pod内部结构    support.huaweicloud.com/basics-cce/kubernetes_0006.html   云容器引擎CCE     |     DaemonSet 与Pod的关系    support.huaweicloud.com/basics-cce/kubernetes_0017.html   云容器引擎CCE     |     图1 同一个节点中的Pod通信  图2 不同节点上的Pod通信    support.huaweicloud.com/basics-cce/kubernetes_0023.html   云容器引擎CCE     |     图2 通过Service访问Pod    support.huaweicloud.com/basics-cce/kubernetes_0024.html   云容器引擎CCE     |     图1 Ingress 七层转发、图2 Ingress工作机制    support.huaweicloud.com/basics-cce/kubernetes_0025.html   云容器引擎CCE     |     图1 自建k8s迁移到CCE方案示意图    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0307.html   云容器引擎CCE     |     第三方云集群迁移到CCE    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0014.html   云容器引擎CCE     |     HPA+CA实现弹性扩缩容    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00282.html   云容器引擎CCE     |     图1 ELB流量与监控数据示意图    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00283.html   云容器引擎CCE     |     容器网络:单VPC+单集群场景    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00004.html   云容器引擎CCE     |     容器网络:单VPC+多集群场景    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00004.html   云容器引擎CCE     |     容器网络:图5 容器隧道网络-多集群场景示例    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00004.html   云容器引擎CCE     |     容器网络:图6 云原生网络2.0-多集群场景示例    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00004.html   云容器引擎CCE     |     容器网络:VPC网络-VPC互联场景    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00004.html   云容器引擎CCE     |     容器网络:容器隧道网络-VPC互联场景    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_00004.html   云容器引擎CCE     |     灰度发布原理、蓝绿发布原理    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_10002.html   云容器引擎CCE     |     Nginx Ingress实现灰度发布和蓝绿发布    support.huaweicloud.com/bestpractice-cce/cce_bestpractice_10003.html   云容器实例CCI     |     图2 产品架构    support.huaweicloud.com/productdesc-cci/cci_03_0001.html   云容器实例CCI     |     图1 大数据AI计算场景 图2 科学计算 图4 弹性扩展    support.huaweicloud.com/productdesc-cci/cci_03_0004.html   容器镜像服务SWR     |     容器镜像服务概念    support.huaweicloud.com/productdesc-swr/swr_03_0004.html   CDN     |     CDN工作原理    support.huaweicloud.com/productdesc-cdn/cdn_01_0109.html   CDN     |     应用场景:网站加速、文件下载加速、点播加速、全站加速    support.huaweicloud.com/productdesc-cdn/cdn_01_0067.html   DRS     |     实时迁移、备份迁移、实时同步、数据订阅、实时灾备图    support.huaweicloud.com/productdesc-drs/drs_01_0002.html   DRS     |     图1 DRS产品架构    support.huaweicloud.com/productdesc-drs/drs_01_0317.html   DRS     |     其他云迁移到华为云    support.huaweicloud.com/bestpractice-drs/drs_02_0008.html   DRS     |     MongoDB数据库实时迁移示意图    support.huaweicloud.com/bestpractice-drs/drs_01_0005.html   DRS     |     全量备份迁移、全量+增量备份迁移    support.huaweicloud.com/bestpractice-drs/drs_04_0002.html   DRS     |     RDS跨Region容灾实现原理    support.huaweicloud.com/bestpractice-drs/drs_06_0026.html   文档数据库服务DDS     |     DDS主备切换示意图    support.huaweicloud.com/bestpractice-dds/dds_0003.html   DDM     |     架构图(简单)    support.huaweicloud.com/productdesc-ddm/ddm_01_picture.html   DDM     |     架构图(简单)、DDM原理    support.huaweicloud.com/productdesc-ddm/ddm_01_0001.html   GaussDB     |     RDS迁移到DDM    support.huaweicloud.com/bestpractice-ddm/ddm_01_0016.html   WAF     |     CDN+WAF联动防护    support.huaweicloud.com/bestpractice-waf/waf_06_0022.html   WAF     |     DDos+WAF联动防护    support.huaweicloud.com/bestpractice-waf/waf_06_0019.html   云防火墙CFW     |     VPC配置边界防火墙:VPC-企业路由器—云防火墙    support.huaweicloud.com/bestpractice-cfw/cfw_06_0003.html   云堡垒机CBH     |     图1 跨云、跨VPC线上线下统一运维    support.huaweicloud.com/bestpractice-cbh/zh-cn_topic_0000001436741777.html   DBSS     |     图1 审计ECS/BMS自建数据库架构图    support.huaweicloud.com/bestpractice-dbss/dbss_06_0002.html   DBSS     |     图1 审计RDS关系型数据库(安装Agent)架构图    support.huaweicloud.com/bestpractice-dbss/dbss_06_0004.html   DBSS     |     图1 审计RDS关系型数据库(免安装Agent)    support.huaweicloud.com/bestpractice-dbss/dbss_06_0020.html   DBSS     |     图1 容器化部署数据库审计    support.huaweicloud.com/bestpractice-dbss/dbss_06_0008.html   分布式缓存服务DCS     |     通过Nginx访问VPC内DCS Redis    support.huaweicloud.com/bestpractice-dcs/dcs-bp-0514001.html   分布式缓存服务DCS     |     图1 ELB访问DCS流程图    support.huaweicloud.com/bestpractice-dcs/dcs-bp-211201001.html   分布式缓存服务DCS     |     通过CCE连接DCS    support.huaweicloud.com/bestpractice-dcs/dcs-bp-21292.html   主机迁移服务SMS     |     图1 主机迁移服务工作原理    support.huaweicloud.com/productdesc-sms/sms_01_0002.html    对象存储迁移服务 OMS     |     对象存储迁移示意图    support.huaweicloud.com/bestpractice-oms/oms_01_0035.html   混合云灾备     |     跨云热备容灾:IDC--华为云    support.huaweicloud.com/bestpractice-hcdr/hcdr_02_0101.html    两地三中心大图:      https://bbs.huaweicloud.com/forum/thread-02103105720771880004-1-1.html    https://support.huaweicloud.com/bestpractice-sdrs/sdrs_bp_cbr_0002.html     https://bbs.huaweicloud.com/forum/thread-193267-1-1.html   主机迁移:      https://support.huaweicloud.com/bestpractice-ecs/zh-cn_topic_0151252562.html   (三)教程配图  4   ACL+安全组 5   双专属区、双AZ容灾 6   DDM+DDS,解决大数据量访问 7   私网负载均衡 8   DNAT访问 9   云下——>云上跨云容灾 10  RDS容灾 - 两地三中心解决方案  (简单) 11  云下IDC共享公网接入 12 VPC通过SNAT访问公网 13 IDC---华为云灾备架构 16 云备份架构,CS、MA、DA 17  DCS容灾和多活策略(跨Region多活) 18  HPC高IO存储方案 19  云上“两地三中心”容灾解决方案,( ☆☆☆ 经典详图) 20  核心数据库上云解决方案 21 混合云备份解决方案  (VMware虚拟化平台---->华为云) 22  CBR云备份 23 云上数据备份解决方案  24  SDRS容灾演练 25  Region内跨AZ同城容灾  ( ☆☆☆) 26  D2D2C备份,本地备份再分级存储至云 27  SDRS 低成本容灾方案   28  SDRS 一键容灾切换 29 D2C备份,备份软件部署在用户数据中心 30 公有云存储安全介绍  (表格) 31 基于公有云的专属灾备中心(两地三中心)( ☆☆☆,复制工具) 32  专属迁移与运维服务 33 电子政务外网+HCSO 34  数据复制服务DRS:mysql数据库容灾 35  CBR云备份:支持云上云下恢复业务,与22类似,( ☆☆☆) 36  英方,主机层复制与容灾  37  跨云数据库容灾  ( ☆☆☆) 38  跨云冷备容灾  ( ☆☆☆) 39 跨云热备容灾  ( ☆☆☆) 40 跨云应用双活容灾  ( ☆☆☆) 41 云上跨AZ容灾、同城容灾   ( ☆☆☆) 42 云上跨Region容灾、异地容灾    ( ☆☆☆) 43 视频监控数据存储 44 云上两地三中心容灾解决方案  ( ☆☆☆) 45 RDS跨AZ主备容灾  46 DDS部署形态--集群架构  47 ERP系统上云部署PostGreSQL 48 医疗影像PACS存储上云 49 DCS单机实例、主备实例 50 海外用户跨VPC访问国内 51 数据库可靠性、跨AZ主备部署 52 Docker容器网络 53 国产服务器芯片对比 54 云平台安全防护--三重防护关键点 55 管理、业务双平台 56  三套业务系统、双AZ、主从复制 57  订单系统架构图   
  • [常见FAQ] C++ demo
    请问c++demo 如何执行
  • [其他问题] 基于 https://download.qemu.org/qemu-3.1.0.tar.xz 的源码,编译qemu-system-x_64, 通过libivirt 来管理vm,以rbd 访问ceph 中 镜像,vm 会阻塞在 启动界面。
     ceph 配置如下:qemu源码编译开关:关键的--enable-rbd 已经使能了libvirtd 启动qemu 的命令参数:用户:client.libvirt ,ceph osd 里的pool 为 libvirt-pool . 配置也参考:https://docs.ceph.com/en/quincy/rbd/libvirt/到底是什么原因导致的qemu 不能成功访问ceph rbd pool的 ?请指点迷津,谢谢!
  • [技术干货] Dapr的云计算设计模式(2)
    构建块和组件构建基块封装分布式基础结构功能。 可以通过 HTTP 或 gRPC API 访问该功能,目前版本有如下构建块。Buiding Block 是每个 Dapr Sidecar 可以扩展的概念,每个 Block 由多个 Components 组成,开发者可以自行设计、扩展 Component,然后贡献给社区。基于这样的设计,Dapr 把最核心的Component 提供了基于分布式系统的 最佳实践 (Best Practice)和 设计模式(Design Patterns)Input/Output Bindings:全部列表:Supported external bindingsPub / Sub:全部列表:Supported pub/sub brokers Middleware: Dapr 的一种特殊 Components,后面介绍。Service discovery name resolution: Dapr 的特殊 Components,后面介绍。State Stores全部列表:Supported state storesSecret Stores全部列表:Supported secret stores这些核心的设计可以通过代码仓库了解:仓库 cid:link_5 是Dapr 官方开放的Component ,开发者可以通过 PR 提交来把 扩展的Component 贡献给社区,目前已经有70 多个Components 可以使用,使用的时候要注意版本的阶段性是在Alpha / Beta / GA,一定要做好风险评估。
  • [技术干货] Dapr的云计算设计模式(1)
    Dapr实际上是把分布式系统与微服务架构实践的挑战以及k8s 这三个主题的全方位的设计组合,特别是《Kubernetes设计模式》一书作者Bilgin Ibryam提出的Multi-Runtime Microservices Architecture这一概念。分布式系统 和微服务架构实践的核心问题就是要解决系统复杂性这个难题,降低复杂性的通常做法就是分而治之,Dapr的最核心的设计就是Sidecar Pattern + Building Block,如下图:Sidecar Pattern: 通过职责分离与容器的隔离特性,降低应用程式的复杂度。Building Block:  类似于乐高搭积木方法,通过Dapr 提供的核心组件(Component),分离与抽象化系统架构。Dapr 设计上几乎和Bilgin Ibryam 提出的Multi-Runtime Microservices Architecture 不谋而合,它有几个核心的设计点:SidecarBuilding Block & ComponentService InvocationMiddlewareState基于上面的这些核心设计,Dapr 有了多运行时微服务架构 的特性,以此延伸出底下的重要功能,或者说设计模式:SecurityObservability: tracing, metrics, logs and healthPub / Sub / Batch ProcessActorsSecret ManagementConfig Management 正在开发中……SidecarSidecar是非常重要的云计算设计模式,下面这张图是 Sidecar 与Microservice 之间搭配后形成多个服务的关系图,这样的结构形成了服务网格的概念, Dapr 通过配置的方式,动态生成Sidecar ,随后伴随着App,一组Dapr Sidecar + App 的组合称为Dapr AppDapr App 在K8s 里面的形态就是 Pod = (App_Container + Sidecar_Container)同样的概念,如果Dapr App跑在k8s外面,也就是自承载模式。 在自承载模式下,微服务和 Dapr sidecar 在没有容器业务流程协调程序(如 Kubernetes)的单独本地进程中运行。每个Dapr App 都通过Sidecar 沟通,在通信之前,Dapr App 要知道的是对方在哪?所以服务发现和服务调用是Dapr App 要解决的第一个问题,知道彼此在哪了,然后就是通信模式,Dapr 支持HTTP / gRPC 两种通信模式。 Dapr App 之间的默认的通信模式使用gRPC,也就是如果使用HTTP调用Dapr API,内部服务之间的通信也会转成gRPC。gRPC 是一种新式的高性能框架,它通过 RPC (远程过程调用) 改进。 gRPC 使用 HTTP/2 作为传输协议,该协议通过 HTTP RESTFul 服务提供显著的性能增强,包括:对通过同一连接发送多个并行请求的多路复用支持 - HTTP 1.1 将处理限制为一次处理一个请求/响应消息。双向全双工通信,用于同时发送客户端请求和服务器响应。内置流式处理,支持对大型数据集进行异步流式处理的请求和响应。若要了解有关详细信息,请查看适用于 Azure 电子书的.NET Cloud-Native中的 gRPC概述。Dapr Sidecar 有了服务调用、服务发现和通信模式之后,定义出来了一个Building Block (构建块)的概念,使用声明的方式,定义多个组件Component 扩展Sidecar的能力,这些能力正是分布式系统需要面对的问题。
  • [技术干货] Serverless与微服务(下)
    Serverless、微服务二者架构的联系和区别微服务架构微服务架构,主要是中间层分解,将系统拆分成很多小应用(微服务),微服务可以部署在不同的服务器上,也可以部署在相同的服务器不同的容器上。当应用的故障不会影响到其他应用,单应用的负载也不会影响到其他应用,其代表框架有Spring cloud、Dubbo等。其架构图如下所示:易于开发和维护:一个微服务只会关注一个特定的业务功能,所以它业务清晰、代码量较少。开发和维护单个微服务相对简单。而整个应用是由若干个微服务构建而成的,所以整个应用也会被维持在一个可控状态。单个微服务启动较快:单个微服务代码量较少, 所以启动会比较快。局部修改容易部署:单体应用只要有修改,就得重新部署整个应用,微服务解决了这样的问题。一般来说,对某个微服务进行修改,只需要重新部署这个服务即可。技术栈不受限:在微服务架构中,可以结合项目业务及团队的特点,合理地选择技术栈。例如某些服务可使用关系型数据库MySQL;某些微服务有图形计算的需求,可以使用Neo4j;甚至可根据需要,部分微服务使用Java开发,部分微服务使用Node.js开发。微服务虽然有很多吸引人的地方,但它并不是免费的午餐,使用它是有代价的。使用微服务架构面临的挑战。运维要求较高:更多的服务意味着更多的运维投入。在单体架构中,只需要保证一个应用的正常运行。而在微服务中,需要保证几十甚至几百个服务服务的正常运行与协作,这给运维带来了很大的挑战。分布式固有的复杂性:使用微服务构建的是分布式系统。对于一个分布式系统,系统容错、网络延迟、分布式事务等都会带来巨大的挑战。接口调整成本高:微服务之间通过接口进行通信。如果修改某一个微服务的API,可能所有使用了该接口的微服务都需要做调整。重复劳动:很多服务可能都会使用到相同的功能,而这个功能并没有达到分解为一个微服务的程度,这个时候,可能各个服务都会开发这一功能,从而导致代码重复。尽管可以使用共享库来解决这个问题(例如可以将这个功能封装成公共组件,需要该功能的微服务引用该组件),但共享库在多语言环境下就不一定行得通了。Serverless架构2014年11月14日,亚马逊AWS发布了Lambda。当时Lambda被描述为:一种计算服务,根据时间运行用户的代码,无需关心底层的计算资源。从某种意义上来说,Lambda姗姗来迟,它像云计算的PaaS理念:客户只管业务,无需担心存储和计算资源。2014年10月22日,谷歌收购了实时后端数据库创业公司Firebase。Firebase声称开发者只需引用一个API库文件就可以使用标准REST API的各种接口对数据进行读写操作,只需编写HTML+CSS+JavaScrip前端代码,不需要服务器端代码(如需整合,也极其简单)。相对于上两者,Facebook 在2014年二月收购的 Parse,则侧重于提供一个通用的后台服务。这些服务被称为Serverless或no sever。想到PaaS(平台即服务)了是吗?很像,用户不需要关心基础设施,只需要关心业务,这是迟到的PaaS,也是更实用的PaaS。这很有可能将会变革整个开发过程和传统的应用生命周期,一旦开发者们习惯了这种全自动的云上资源的创建和分配,或许就再也回不到那些需要微应用配置资源的时代里去了。Serverless架构能够让开发者在构建应用的过程中无需关注计算资源的获取和运维,由平台来按需分配计算资源并保证应用执行的SLA(服务等级协议),按照调用次数进行计费,有效的节省应用成本。ServerLess的架构如上图所示。其优点如下所示:低运营成本:在业务突发性极高的场景下,系统为了应对业务高峰,必须构建能够应对峰值需求的系统,这个系统在大部分时间是空闲的,这就导致了严重的资源浪费和成本上升。在微服务架构中,服务需要一直运行,实际上在高负载情况下每个服务都不止一个实例,这样才能完成高可用性;在Serverless架构下,服务将根据用户的调用次数进行计费,按照云计算pay-as-you-go原则,如果没有东西运行,你就不必付款,节省了使用成本。同时,用户能够通过共享网络、硬盘、CPU等计算资源,在业务高峰期通过弹性扩容方式有效的应对业务峰值,在业务波谷期将资源分享给其他用户,有效的节约了成本。简化设备运维:在原有的IT体系中,开发团队即需要维护应用程序,同时还要维护硬件基础设施;Serverless架构中,开发人员面对的将是第三方开发或自定义的API 和URL,底层硬件对于开发人员透明化了,技术团队无需再关注运维工作,能够更加专注于应用系统开发。提升可维护性:Serverless架构中,应用程序将调用多种第三方功能服务,组成最终的应用逻辑。目前,例如登陆鉴权服务,云数据库服务等第三方服务在安全性、可用性、性能方面都进行了大量优化,开发团队直接集成第三方的服务,能够有效的降低开发成本,同时使得应用的运维过程变得更加清晰,有效的提升了应用的可维护性。更快的开发速度:这一点在现在互联网创业公司得到很好的体现,创业公司往往开始由于人员和资金等问题,不可能每个产品线都同时进行,这时候就可以考虑第三方的Baas平台,比如使用微信的用户认证、阿里云提供的RDS,第三方支付及地理位置等等,能够很快进行产品开发的速度,把工作重点放在业务实现上,把产品更快的推向市场。
  • [技术干货] Serverless与微服务(中)
    Serverless、事件和触发器Serverless 系统本质上就是事件驱动的系统,采用了事件驱动的架构。这种架构改变了 Serverless 系统的开发和管理方式。微服务架构的主要目标是提供高度响应的 API,这也是服务间主要的交互机制。Serverless 架构的主要目标是对发生的事件做出响应,API 是生成事件的唯一机制。在 AWS 生态系统(最为成熟的 Serverless 生态系统)中,API 并不是主要的接口,事件变得更为重要。这也就是为什么会有将近 50 个事件来触发一个 Lambda 函数。如果可以不通过 API 网关来触发 Lambda 函数,就会更快、更高效,特别是在从其他 AWS 接口触发事件的时候。其中最重要的是函数的单向性。大多数微服务采用的是请求 / 响应式的架构,这也是大多数 Web 应用程序的运行模式。Serverless 应用程序里的函数通常是单向的,并使用队列充当回路断路器,所以请求 / 响应式的架构就变得不那么常见了。数据层的管理方式也不太一样。最好是可以使用多个函数,而不是使用一个带有切换开关的代理函数。相比微服务架构,多函数还有另外一个好处。例如,如果一个函数出错,因为它是无状态的(或至少应该是),所以只会影响该函数本身,不会影响到应用程序的其余部分。如果只是简单地从微服务转向 Serverless 架构,虽然确实会给你带来一些好处,但也会错失很大一部分 Serverless 应用程序的真正价值。从很多方面来看,微服务与 Serverless 应用程序是相背离的,虽然我们可以基于 Serverless 后端来构建微服务,但在微服务和 Serverless 之间并不存在直接的路径。从微服务到 Serverless那么,从微服务到 Serverless 需要经过怎样的路径?微服务已经相当普及了,那么是否存在一条简单的路径,可以直接从一方过渡到另一方?我想,这也正是 Serverless 世界正在解决的问题。最近,Twitter 上有很多与这个话题相关的推文。这里引用其中的一条,看看社区都是怎么讨论这个话题的。现在有很多工具声称它们会让 Serverless 应用程序的构建变得更容易,但实际上最终都是要去到它们的平台上。我不认为它们会带来额外的价值或者会让人们更好地理解什么是 Serverless 架构。我们非常清楚地意识到,我们正在讨论的是 Serverless 架构的未来,但并没有说这会让从旧架构风格过渡到 Serverless 会变得更容易,或者断定 Serverless 是不是一个正确的选择(在某些情况下可能不是)。这是有原因的。人的思维是不容易改变的。构建一个 Lambda 函数很容易,但构建一个真正的 Serverless 应用程序并不容易,它需要在思维上做出一系列改变,而这样做相对没有那么容易。
  • [技术干货] Serverless与微服务(上)
    2015 年,第一个使用 AWS Lambda 和 API 网关的教程出现了,它主要关注的是如何复制微服务。但是,随着时间推移,那些大规模使用 AWS Lambda 的人越来越清晰地意识到,使用 AWS Lambda 的微服务存在严重的局限性。首先说说为什么会有微服务?微服务之所以会出现,主要是因为单体应用程序存在不足。简单地说,单体就是把所有逻辑都塞进同一个逻辑代码库的应用程序。在单服务器环境时代,多服务器价格十分昂贵。默认情况下,应用程序是按照单服务器的方式进行构建的。部署一个单体就是把应用程序的一部分或者整体部署到一台服务器上。在部署单体时,必须确保不出任何问题。通常,一个很小的改动都会导致整个应用程序和服务器宕机。在云服务出现之后,通过简单的操作就可以在几分钟而不是几天或者几周之内分配好服务器实例,这就为关注点分离提供了条件。于是,拆分单体就成了一件势在必行的事情,微服务也就孕育而生。你不再需要把所有逻辑都部署在同一个实例或服务器上,你可以把不同的部分放在不同的实例上,然后使用轻量级的通信协议(比如 HTTP API)把它们连接起来。于是,应用程序架构就从单体转向了微服务。微服务的价值在于,在做出修改时,你修改的不是整个代码库,而是其中的一个微服务,它只是整个应用程序的一部分。也就是说,改动不会造成整个应用程序宕机。但这毕竟也只是一个美好的理论,一个比单体更好的理论,在现实中,它并不完美。服务接口(通常是 HTTP 接口)是微服务的关键所在。这本没有什么问题,但是,当存在大量的服务时,要协调好它们就成了一个大问题。向 Serverless 架构转变AWS 上的第一个 Serverless 应用就是一个微服务:一个 API 网关接口,网关背后是 Lambda 函数和路由器。每一个 API 网关都是一个服务接口,看起来似乎是合乎逻辑的。你可以构建一系列的服务,每个服务都可以独立伸缩,某种程度上说,这样做非常合理。但问题是,AWS Lambda 和 FaaS 不应该被当作实例或服务器看待。因为底层使用了服务器(互联网上的很多东西都运行在服务器之上,但就是没有人指出“S3 也是有服务器的”、“BigTable 也是有服务器的”或者“Azure Active Directory 也是有服务器的”),所以我们假设你应该简单地把 FaaS 函数看成是服务,也就是有些人所谓的“minilith”。但问题是,Serverless 的关键点是事件,而这一点往往被忽略掉。
  • [技术干货] Serverless架构基础详解(12)
    1.1.12 与传统模式架构的区别传统的架构模式是使用C/S架构的,在典型的web应用程序中,服务器接收前端的HTTP请求处理,在保存或查询数据库之前,数据可能会经过多个应用层,最终后端会返回一个响应。比如它可以是JSON形式或其他格式等。然后他会将响应返回给客户端,比如如下图所示:在传统开发模式中,开发流程:设计师设计页面 -> 服务端开发 和 前端分别开发,服务器开发完成后,-> 服务部署 ->服务部署完成后,就是前后端联调 -> 前后端联调 -> 前后端联调完成后就是测试了,-> 测试, 测试完成需要上线,因此 -> 上线,上线完成后,需要运维维护,因此 -> 运维。在传统开发模式中,开发一个应用程序,从开始到上线需要不同的角色来做不同的事情,沟通成本非常大,并且运维过程中需要考虑到 服务器的负载均衡、事务、集群、缓存、消息传递和数据冗余等等这些事情,在目前传统模式中存在如上问题。可以使用如下示意图来看下如上流程。如下图所示:在Serverless架构中,应用业务逻辑是基于FaaS架构形成多个相互独立的功能组件的。并且以API服务的形式向外提供服务,在FaaS中,后端的应用被拆分成为一个个函数,我们只需要编写完成函数后部署到serverless服务即可。后续我们也不用关心任何服务器的操作。那么整个流程就只需要我们一个前端工程师的角色来完成所有的开发工作,那么沟通成本降低了。因此我们可以使用如下示意图来表示项目流程,如下所示:前端工程师是居于serverless去写后端服务的,典型的就是居于 AWS Lambda 中编写代码,AWS中支持不同的语言。Lambda计算服务它能够以大规模并行的方式执行代码来响应事件。通过使用Lambda以及使用各种功能强大的API和Web服务,开发者可以快速的构建松耦合,可扩展性及高效的架构体系。
  • [技术干货] Serverless架构基础详解(11)
    1.1.11 现状与局限Serverless现状与局限当前国内的很多公司也在尝试Faas或者Serverless架构,不过可以猜测出大家或多或少都心存疑虑或者有不放心之感,不敢真正的放上自己的线上服务。目前看来,虽然Serverless市面上都吹的很火,但实际落地的寥寥可数,星星点点的一些火花,还是难以形成燎原之势。Serverless这片土地十分辽阔,但是各大云厂商却都是在自己和自己过家家,至于其他人怎么玩的,就不怎么关心了。所以,目前一个很大的问题就是我们在一家函数计算平台跑了自己的服务之后,基本上就和这个平台绑定了,特别是如果你还用到Eventing,由于都是基于平台内部特定的事件触发机制,迁移成本还是比较高的。终极原因,目前还没有一个强势而大一统的框架和平台,可以让大家甘愿臣服。想当年,容器编排领域兴起,Kubernetes和Mesos大战,两边各自有人站队,云厂商也各自押宝,如今Kubernetes一统江湖,大家都默默的建立起了基于Kubernetes的容器云平台,于是围绕着Kubernetes的云原生生态蓬勃发展。由于没有统一的平台,针对Serverless目前还存在的一些局限,大家做的优化和改进也是各自为战,难以落地生根。实现:KnativeKnative是某厂商开源的Serverless架构方案,旨在提供一套简单易用的Serverless平台,把Serverless 标准化。Knative不局限于Faas,而是期望能够运行所有的无状态工作负载。像其他绝大部分的Faas或者Serverless平台一样,Knative也是基于Kubernetes,不过,Knative还基于Istio或者Gloo网关等实现流量的分发和管理。还在不久之前,Knative分为三个组件:BuildServingEventingBuild负责将代码转换成我们需要的容器镜像,Serving则是提供Serverless的运行方式,Eventing则致力于提供标准化的事件触发机制。不过,现在Build模块已经被弃用,被由Build的设计思路而发起的Tekton项目替换(参考:《Kubernetes原生CI/CD工具:Tekton探秘与上手实践》)。当然你也可以使用其他合适的CI/CD工具替代。Serving模块主要做的工作本质上就两个:流量入口的自动创建和管理以基于istio为例,Knative自动创建istio的ingressgateway,服务的service等,将流量导入新部署的服务,而不需要手动的创建各种service,ingress暴露服务和流量入口。同时,将不同版本对应不同的deployment,可以方便的实现蓝绿、灰度等发布部署方式。如下图所示:冷启动和自动扩缩容Knative有自身基于流量请求算法的metric自动扩缩容(KPA)的方式,也支持Kubernetes原生的HPA实现自动扩缩容。同时,在服务缩容为0之后,Serving会将服务流量路由到冷启动的组件,缓存请求,然后扩容服务,再将流量导入启动后的服务副本。Knative Eventing则联合 CNCF Serverless WG制定一套事件格式规范并推广:Knative Eventing与CNCF Serverless WG制定的事件格式规范只需要各个云厂商都按照这个规范,我们的Serverless服务就可以进行跨平台的事件触发,也不会被特定的云厂商绑定。
  • [技术干货] Serverless架构基础详解(10)
    1.1.10 服务特性除了服务的粒度不一样之外,无状态工作负载和Faas一般都具有以下Serverless的特性:1-step deploy既然是Serverless,开发者真正关心和面对的是代码层面,所以不管是函数还是一个代码工程,一键构建和部署是我们的终极期望。Kubernetes生态下有各种CI/CD解决方案,但是缺乏更加一键式的工具可以帮我们将代码(函数)迅速转变成部署的服务。所以,一个足够好用的本地client工具、一个完善而高效的CI/CD平台很重要。对于Faas,可以让用户便捷的将函数部署到Serverless平台,对于无状态负载,则可以根据用户需求暴露一些构建的自定义配置和流程。Automatically在Kubernetes上一般服务实际的运行都或多或少的需要我们创建很多的Kubernetes资源,例如service、ingress等,而Serverless会做更多的自动化操作,以便更方便的提供服务。例如,Serverless平台会自动提供流量入口和路由,部署完成后可以迅速对外提供服务,同时提供类似蓝绿发布、灰度等流量管理等功能。Auto-scale毫无疑问,Kubernetes也有HPA可以提供自动扩缩容。不过,HPA敢让服务副本数缩为0吗?当然不敢,试想一下,如果服务的副本数为0,相当于不再运行了,用户的流量如何导入呢,用户连服务的接口都调不通了,HPA更没有metric数据来感知去扩容服务了。HPA无法缩容为0,对于某些短运行的计算类服务来说,是无法接受的,因为这样就不能真正的做到无服务,不实际运行时不占资源不计费。当然Serverless可以做到,让服务在没有请求时自动缩为0,在有流量的时候从0启动,或者流量增大时快速的扩容,迅速应对流量的变化。不过,还有一个Serverless业界都很关注的点,就是服务从0扩容为多副本时启动的延时时间,一般称为冷启动的问题。如果冷启动时间太长,对于用户的第一次请求肯定有很大影响,业内也有很多大厂在做一些优化。但是如果不是直接面向用户流量的服务,例如我只想跑个数据处理算法,其实也不在乎这几百毫秒的启动延迟,如果是类似前端的web服务,恐怕大部分人还是宁愿空跑一个单副本的服务,也不愿意冒这个风险吧。EventingServerless的另外一个特征是基于eventing事件进行触发,事件实际上是一个比较抽象的说法,很多东西都可以理解为事件。例如,用户的请求可以认为是一个事件,git的webhook可以认为是事件,kafka上有了消息可以理解为一个事件,包括Kubernetes的各种资源操作等等都是。所以,其实事件触发我们并不陌生,我们的平时开发和设计架构里经常都会有意无意的使用到事件触发的机制,只是太过平常,反而没有人去注意和抽象出这么一个理念。现在大家都在倡导云原生,很多服务都是往云上迁移和部署,事件触发机制在云上可以有更多的扩展性和想象力。例如,我们的Serverless应用可以监听云上的中间件或者基础组件的事件,通过这些事件,触发特定的Serverless应用,从而打通云上的Paas服务,实现云上服务的一体化。总结下来,虽然目前Serverless很火但我们更应该静下心来思考,为什么会有Serverless的诞生,Serverless最原始的需求和驱动力在哪?是Kubernetes不够好用还是Servicemesh不够友好?Kubernetes被认为是下一代的分布式操作系统,操作系统上必然会运行各种各样千奇百怪的程序,有的需要直面系统内核,有的只是提供用户更好的UI,不过,有一类程序可以以更便捷的方式去编译、运行,而提供这一切的工具与平台就是Serverless。所以,Serverless其实只是一种云原生应用更为特殊的实现和表现方式,也有很多的应用并不适合以Serverless的方式去运行。无服务器固然是愿景,大量的封装和抽象让开发者无需感知很多东西,但这个宇宙运行的规律可能并非直白的线性系统,混沌和复杂性才是常态。如果有人告诉你,Serverless是所有应用的终极目标。
  • [技术干货] Serverless架构基础详解(9)
    1.1.9 核心诉求为什么需要Serverless前端为什么想要上Serverless,其实也很好理解,随着node.js的普及、前端工程化以及BFF的兴起,越来越多的前端需要关心服务的构建、部署、运维,服务的日志、监控报警等等,严重拖累了前端的开发效率,让前端花很多时间在服务器上排查问题,无疑是痛苦而低效的。对于前端来说,最原始的诉求是,我不愿意管服务器等底层资源,哪台节点宕机了,麻烦不用通知我;流量太大了,服务需要扩容了,我也不想关心;我只需要写好代码,就可以自动部署到服务器上,代码有bug,能让我看日志和监控排查问题就行。其实这也不单单是前端的梦想,很多后端或者数据类的研发,也有同样的需求。不过咋看很美好,但是仔细想想,有一些后端的业务很复杂,服务间调用关系以及各种特异化需求其实很难适用于Serverless,想完全不关心底层的服务器,有点困难。所以,Serverless并非银弹,关键是看业务场景和需求,就算只有50%的业务适合,能解决这50%业务的问题,那也是了不起的成就。Faas和Baas又是什么?了解Serverless的同学,或多或少都听过Faas,Faas即Function as a service,一般称作函数即服务。作为开发人员,只需要写一个函数,就可以在例如AWS Lambda等各种函数计算平台上运行起来,真正实现了对服务器的无感知,同时可以对外快速暴露API接口,可以基于函数级别的自动扩缩容,可以监听各种事件进行触发。而且Faas结合云平台的webIDE,如果webIDE设计的足够好,可以给我们带来云平台上更方便的开发体验,结合云上的各种工具和生态,未来会有更大的想象空间。不过,显而易见,以函数为最小粒度,有一些局限性。微服务是以功能职责为划分,拆分成一个一个专注于特定功能和需求的服务,为了解决微服务之间的网络调用和流量管理,引入了很多服务治理等相关的功能和组件,可以想象一下,如果把服务模块再拆分为函数的粒度,函数之间的调用关系无疑会爆炸,再思考一下,如何把老的服务改造成Faas形态,如何复用函数之间的逻辑,如何管理大量函数代码,这无疑对开发者带来了很多困扰。所以,Faas不太适合一般后台长期运行的web服务型应用,真正适合的是那些数据计算、批处理等业务,这些业务逻辑比较单一,运行完可以停止,而且更适合Serverless中基于事件触发的特性,冷启动的延时也无所谓。Faas的一个基本特征是无状态,那实际上的数据或者状态该如何存储呢,所以说到Faas一般都会提及Baas,即Backend as a service,不过类似的Xaas的名词太多了,Baas这个名词看着就像是有人为了强行补充Faas没有干的活儿而起的。因此有些人粗暴的总结Serverless = Faas + Baas,当然如果你要强行认为Serverless就是函数计算,那这个也没有问题。不过,我们的观点是:Faas只是Serverless的一种特例。在这个世界上,除了Faas,还有更多的无状态工作负载适合以Serverless的形态去运行。
总条数:1650 到第
上滑加载中