首页 文章 精选 留言 我的

精选列表

搜索[通用具身大脑],共10000篇文章
优秀的个人博客,低调大师

每日一博 | 一通百通,实现灵活的 K8s 基础架构

作者简介 VIGNESH T.V.,Timecampus CEO、CTO及创始人。 Kubernetes是当前最为流行的开源容器编排平台,成为众多企业构建基础架构的首选。在本文中,我们将探讨针对你的用例构建基础设施的最佳方式,以及你可能要根据各种限制条件做出的各种决定。 架构设计 你的架构应该在很大程度上围绕你的用例来设计,因此在设计过程中你需要非常仔细以确保该基础架构能够支撑你的用例,在必要的时候也可以寻求外部专业团队的帮助。在架构设计的开始保证方向正确十分重要,但是这并不意味着不会发生错误,而且随着每天都有新的技术或研究横空出世,你可以看到变革已经成为常态,并且你的架构设计思维有可能过时。 这就是为什么我强烈建议你采用Architect for Chang的原则,让你的架构成为一个模块化的架构以便在未来有需要的时候你可以灵活地在内部进行改变。 让我们看看在考虑client-server模型的情况下如何实现系统架构的目标。 切入点:DNS 在任何典型的基础架构中(无论是否是云原生架构),一个消息请求必须先由DNS服务器解析,并返回服务器的IP地址。设置你的DNS应该基于你所需要的可用性。如果你需要更高的可用性,你可能想要将你的服务器分布到多个区域或者云提供程序上,具体的实现要基于你想要达到的可用性等级。 内容分发网络(CDN) 在某些情况下,你可能需要尽可能地以最小的延迟为用户提供服务,同时减少服务器的负载。这就是内容分发网络(CDN)发挥重要作用的地方。 Client是否经常从服务器上请求一组静态资产?你是否希望提高向用户交付内容的速度,同时减少服务器的负载?在这种情况下,采用边缘的CDN为一组静态资产提供服务,实际上可能有助于降低用户的延迟和服务器的负载。 你所有的内容都是动态的吗?你是否可以在一定程度上为用户提供延迟的内容,以减少复杂性?或者你的应用程序接收很低的流量吗?在这种情况下,使用CDN可能没有太大的意义,你可以将所有的流量直接发送到全局负载均衡器。但要注意的是,拥有CDN也确实有分配流量的优势,这在你的服务器受到DDOS攻击时是很有帮助的。 CDN提供程序包括Cloudfare CDN、Fastly、Akamai CDN、Stackpath,此外你的云提供商也有可能会提供CDN服务,比如谷歌云平台的Cloud CDN、AWS的CloudFront、微软Azure的Azure CDN等。 Load Balancer 如果有一个请求不能被你的CDN服务,这个请求下一步会传送到你的负载均衡器上。而这些可以是区域性的IP,也可以是全局性的Anycast IP。在某些情况下,你也可以使用负载均衡器来管理内部流量。 除了路由和代理流量到合适的后端服务,负载均衡还能够承担SSL终止、与CDN集成,甚至管理网络流量的某些方面等职责。 虽然存在硬件负载均衡器,但软件负载均衡器提供了强大的灵活性、减少了成本开支以及弹性伸缩性。 与CDN类似,你的云提供程序应该也能够为你提供一个负载均衡器(如GCP的GLB、AWS的ELB、Azure的ALB等),但更有趣的是你可以直接从Kubernetes中调配这些负载均衡器。例如,在GKE中创建一个Ingress也会在后端为你创建一个GLB来接收流量,其他功能如CDN、SSL重定向等也可以通过配置你的ingress来设置,访问以下链接查看详情: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features 虽然一开始总是从小开始,但是负载均衡器可以让你逐步扩展至具有以下规模的架构: 网络及安全架构 下一件需要关注的事情是网络。如果你想要提高安全性,你可能需要一个私有集群。在那里,你可以调节入站和出站流量,在NATs后面屏蔽IP地址,在多个VPC上隔离多个子网的网络等。 如何设置网络通常取决于你所追求的灵活性程度以及如何实现它。设置正确的网络就是要尽可能地减少攻击面,同时还能保持正常的运转。 通过设置正确的网络来保护你的基础设施通常还涉及到使用正确规则和限制条件设置的防火墙,以便限制来自各后端服务的流量的进出,包括入站和出站。 在很多情况下,可以通过设置堡垒主机并通过隧道进行集群中的所有操作来保护这些私有集群,因为你需要向公共网络公开的就是堡垒(又称Jump host),通常是在与集群相同的网络中设置。 一些云提供商在实现零信任安全的方法上也提供了定制化的解决方案。例如,GCP为其用户提供身份意识代理(IAP),可用于代替典型的VPN实现。 所有都处理好之后,下一步是根据你的用例在集群本身内设置网络。 这牵涉到以下任务: 设置集群内的服务发现(可由CoreDNS处理) 如果需要的话,设置一个服务网格(如LinkerD、Istio、Consul等) 设置Ingress controller和API网关(例如:Nginx、Ambassador、Kong、Gloo等) 设置使用CNI的网络插件,方便集群内的联网 设置网络策略,调节服务间的通信,并根据需要使用各种服务类型暴露服务 使用GRPC、Thrift或HTTP等协议和工具,设置不同服务之间的服务间通信 设置A/B测试,如果你使用像Istio或Linkerd这样的服务网格,实现起来可以更容易 如果你想看一些示例实现,我建议你看看这个repo(https://github.com/terraform-google-modules/cloud-foundation-fabric),它可以帮助用户在GCP中设置所有这些不同的网络模型,包括通过VPN的hub和spoke、用于内部的DNS和Google Private Access、支持GKE的共享VPC等等,所有这些都使用Terraform。 而云计算中网络的有趣之处在于,它不局限于你所在地区的云服务商,而是可以根据需要跨越多个地区的多个服务商。这就是Kubefed或Crossplane这样的项目可以提供帮助的地方。 如果你想探索更多关于设置VPC、子网和整体网络时的一些最佳实践,我建议你访问下方网页,同样的概念也适用于你加入的任何云提供商: https://cloud.google.com/solutions/best-practices-vpc-design Kubernetes 如果你使用的是GKE、EKS、AKS这样的托管集群,Kubernetes是自动管理的,从而降低了用户操作的复杂程度。 如果你自己管理Kubernetes,你需要处理很多事情,比如,备份和加密etcd存储,在集群中的各个节点之间建立网络,定期为你的节点打上最新版本的操作系统补丁,管理集群升级以与上游的Kubernetes版本保持一致。基于此,只有当你拥有一个专门的团队来维护这些事情的时候,才建议这样做。 Site Reliability Engineering (SRE) 当你维护一个复杂的基础设施时,拥有合适的可观察性堆栈是非常重要的,这样你就可以在用户注意到错误之前就检测到错误以及预测可能的变化,进而识别异常,并有余力深入钻研问题到底在哪里。 现在,这就需要你有代理,将指标暴露为特定的工具或应用来收集分析(可以遵循pull或push机制)。而如果你使用的是带有sidecars的服务网格,它们往往会自带指标,而不需要自定义配置。 在任意场景下,都可以使用Prometheus这样的工具作为时序数据库,为你收集所有的指标,以及借助类似于OpenTelemetry的工具,使用内置的exporter从应用程序和各种工具中公开指标。借助Alertmanager之类的工具可以向多个渠道发送通知和告警, Grafana将提供可视化仪表板,给用户提供整个基础设施的完整可见性。 综上,这就是Prometheus的可观察性的解决方案: 来源:https://prometheus.io/docs/introduction/overview/ 拥有这样复杂的系统,还需要使用日志聚合系统,这样所有的日志就可以流到一个地方,便于调试。大部分企业倾向于使用ELK或EFK堆栈,Logstash或FluentD根据你的限制条件为你做日志聚合和过滤。但日志领域也有新的玩家,比如Loki和Promtail。 下图说明了类似FluentD的日志聚合系统如何简化你的架构: 来源:https://www.fluentd.org/architecture 但是,如果要追踪跨越多个微服务和工具的请求呢?这是分布式跟踪开始发挥作用的地方,特别是考虑到微服务的复杂性。像Zipkin和Jaeger这样的工具一直是这个领域的先驱,最近进入这个领域的新兴工具是Tempo。 虽然日志聚合会给出各种来源的信息,但它不一定能给出请求的上下文,这才是做跟踪真正有帮助的地方。但是请记住,在你的堆栈中添加跟踪会给你的请求增加很大的开销,因为上下文必须和请求一起在服务之间传播。 下图是一个典型的分布式跟踪架构: 来源:https://www.jaegertracing.io/docs/1.21/architecture/ 但是,网站的可靠性并不仅仅止于监控、可视化和告警。你必须准备好处理系统任何部分的任何故障,并定期进行备份和故障切换,这样至少可以将数据损失的程度降到最低。你可以借助类似Velero的工具实现。 Velero通过利用你使用的相同Kubernetes架构,帮助你维护集群中各种组件的定期备份,包括你的工作负载、存储等。Velero的架构如下: 正如你所观察到的,有一个备份controller,它定期对对象进行备份,根据你设置的计划将它们推送到特定的目的地,其频率是基于你设置的计划。这可以用于故障转移和迁移,因为几乎所有的对象都有备份。 存 储 有许多不同的存储程序和文件系统可用,这在云提供程序之间可能存在很大的不同。这就需要像容器存储接口(CSI)这样的标准,该标准可以帮助大部分volume的外置插件,从而使其易于维护和发展而不会成为核心瓶颈。 下图是CSI架构,通常可以支持各种volume插件: 来源:https://kubernetes.io/blog/2018/08/02/dynamically-expand-volume-with-csi-and-kubernetes/ 分布式存储带来的集群、扩展等各种问题怎么办?这时Ceph这样的文件系统已经证明了自己的能力,不过考虑到Ceph并不是以Kubernetes为中心构建的,部署和管理起来存在一些难度,此时可以考虑Rook这样的项目。 虽然Rook没有和Ceph耦合,也支持其他文件系统,比如EdgeFS、NFS等,但Rook与Ceph CSI就像是天作之合。Rook与Ceph的架构如下: 来源:https://rook.io/docs/rook/v1.5/ceph-storage.html 如你所见,Rook承担了Kubernetes集群中的Ceph安装、配置和管理的功能。根据用户的喜好,自动分配下面的存储。这一切的发生,都不会让应用暴露在任何复杂的情况下。 镜像仓库 镜像仓库为你提供了一个用户界面,你可以在这里管理各种用户账户、推送/拉取镜像、管理配额、通过webhook获得事件通知、进行漏洞扫描、签署推送的镜像,还可以处理镜像或在多个镜像仓库中复制镜像等操作。 如果你使用的是云提供商,他们很有可能已经提供了镜像仓库作为一项服务(例如GCR、ECR、ACR等),这就消除了很多复杂性。如果你的云提供商没有提供,你也可以选择第三方的镜像仓库,比如Docker Hub、Quay等。 但如果你想托管自己的镜像仓库呢? 如果你想在企业内部部署镜像仓库,想对其本身有更多的控制权,或者想降低漏洞扫描等操作的相关成本,那么可能需要进行托管。 如果是这种情况,那么选择像Harbor这样的私有镜像仓库会对你有所帮助。Harbor架构如下: 来源:https://goharbor.io/docs/1.10/install-config/harbor-ha-helm/ Harbor是一个符合OCI的镜像仓库,由各种开源组件组成,包括Docker镜像仓库V2、Harbor UI、Clair和Notary。 CI/CD架构 Kubernetes可以在任何规模下托管所有的工作负载,但这也需要一个标准的方式来部署应用程序,并采用精简的CI/CD工作流程。下图为典型的CI/CD流水线: 一些第三方服务如Travis CI、Circle CI、Gitlab CI或Github Actions都包含了自己的CI运行器。你只需定义你要构建的流水线中的步骤。这通常包括:构建镜像,扫描镜像以查找可能的漏洞,运行测试并将其推送到镜像仓库,在某些情况下还需要提供一个预览环境以进行审批。 现在,虽然如果你管理自己的CI运行器,步骤通常保持不变,但你需要将它们配置为在集群内部或外部设置,并具有适当的权限,以便将资产推送到镜像仓库。 总 结 我们已经介绍了基于Kubernetes的云原生基础设施的架构。正如我们上面所看到的,各种工具解决了基础设施的不同问题。它们就像乐高积木一样,每一个都专注于当前的一个特定问题,为你抽象掉了很多复杂的东西。 这使得用户可以以渐进的方式逐渐上手Kubernetes。并且你可以根据你的用例,只使用整个堆栈中你需要的工具。

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

一通百通,一文实现灵活的K8S基础架构!

作者简介 VIGNESH T.V.,Timecampus CEO、CTO及创始人。 Kubernetes是当前最为流行的开源容器编排平台,成为众多企业构建基础架构的首选。在本文中,我们将探讨针对你的用例构建基础设施的最佳方式,以及你可能要根据各种限制条件做出的各种决定。 架构设计 你的架构应该在很大程度上围绕你的用例来设计,因此在设计过程中你需要非常仔细以确保该基础架构能够支撑你的用例,在必要的时候也可以寻求外部专业团队的帮助。在架构设计的开始保证方向正确十分重要,但是这并不意味着不会发生错误,而且随着每天都有新的技术或研究横空出世,你可以看到变革已经成为常态,并且你的架构设计思维有可能过时。 这就是为什么我强烈建议你采用Architect for Chang的原则,让你的架构成为一个模块化的架构以便在未来有需要的时候你可以灵活地在内部进行改变。 让我们看看在考虑client-server模型的情况下如何实现系统架构的目标。 切入点:DNS 在任何典型的基础架构中(无论是否是云原生架构),一个消息请求必须先由DNS服务器解析,并返回服务器的IP地址。设置你的DNS应该基于你所需要的可用性。如果你需要更高的可用性,你可能想要将你的服务器分布到多个区域或者云提供程序上,具体的实现要基于你想要达到的可用性等级。 内容分发网络(CDN) 在某些情况下,你可能需要尽可能地以最小的延迟为用户提供服务,同时减少服务器的负载。这就是内容分发网络(CDN)发挥重要作用的地方。 Client是否经常从服务器上请求一组静态资产?你是否希望提高向用户交付内容的速度,同时减少服务器的负载?在这种情况下,采用边缘的CDN为一组静态资产提供服务,实际上可能有助于降低用户的延迟和服务器的负载。 你所有的内容都是动态的吗?你是否可以在一定程度上为用户提供延迟的内容,以减少复杂性?或者你的应用程序接收很低的流量吗?在这种情况下,使用CDN可能没有太大的意义,你可以将所有的流量直接发送到全局负载均衡器。但要注意的是,拥有CDN也确实有分配流量的优势,这在你的服务器受到DDOS攻击时是很有帮助的。 CDN提供程序包括Cloudfare CDN、Fastly、Akamai CDN、Stackpath,此外你的云提供商也有可能会提供CDN服务,比如谷歌云平台的Cloud CDN、AWS的CloudFront、微软Azure的Azure CDN等。 Load Balancer 如果有一个请求不能被你的CDN服务,这个请求下一步会传送到你的负载均衡器上。而这些可以是区域性的IP,也可以是全局性的Anycast IP。在某些情况下,你也可以使用负载均衡器来管理内部流量。 除了路由和代理流量到合适的后端服务,负载均衡还能够承担SSL终止、与CDN集成,甚至管理网络流量的某些方面等职责。 虽然存在硬件负载均衡器,但软件负载均衡器提供了强大的灵活性、减少了成本开支以及弹性伸缩性。 与CDN类似,你的云提供程序应该也能够为你提供一个负载均衡器(如GCP的GLB、AWS的ELB、Azure的ALB等),但更有趣的是你可以直接从Kubernetes中调配这些负载均衡器。例如,在GKE中创建一个Ingress也会在后端为你创建一个GLB来接收流量,其他功能如CDN、SSL重定向等也可以通过配置你的ingress来设置,访问以下链接查看详情: https://cloud.google.com/kubernetes-engine/docs/how-to/ingress-features 虽然一开始总是从小开始,但是负载均衡器可以让你逐步扩展至具有以下规模的架构: 网络及安全架构 下一件需要关注的事情是网络。如果你想要提高安全性,你可能需要一个私有集群。在那里,你可以调节入站和出站流量,在NATs后面屏蔽IP地址,在多个VPC上隔离多个子网的网络等。 如何设置网络通常取决于你所追求的灵活性程度以及如何实现它。设置正确的网络就是要尽可能地减少攻击面,同时还能保持正常的运转。 通过设置正确的网络来保护你的基础设施通常还涉及到使用正确规则和限制条件设置的防火墙,以便限制来自各后端服务的流量的进出,包括入站和出站。 在很多情况下,可以通过设置堡垒主机并通过隧道进行集群中的所有操作来保护这些私有集群,因为你需要向公共网络公开的就是堡垒(又称Jump host),通常是在与集群相同的网络中设置。 一些云提供商在实现零信任安全的方法上也提供了定制化的解决方案。例如,GCP为其用户提供身份意识代理(IAP),可用于代替典型的VPN实现。 所有都处理好之后,下一步是根据你的用例在集群本身内设置网络。 这牵涉到以下任务: 设置集群内的服务发现(可由CoreDNS处理) 如果需要的话,设置一个服务网格(如LinkerD、Istio、Consul等) 设置Ingress controller和API网关(例如:Nginx、Ambassador、Kong、Gloo等) 设置使用CNI的网络插件,方便集群内的联网 设置网络策略,调节服务间的通信,并根据需要使用各种服务类型暴露服务 使用GRPC、Thrift或HTTP等协议和工具,设置不同服务之间的服务间通信 设置A/B测试,如果你使用像Istio或Linkerd这样的服务网格,实现起来可以更容易 如果你想看一些示例实现,我建议你看看这个repo(https://github.com/terraform-google-modules/cloud-foundation-fabric),它可以帮助用户在GCP中设置所有这些不同的网络模型,包括通过VPN的hub和spoke、用于内部的DNS和Google Private Access、支持GKE的共享VPC等等,所有这些都使用Terraform。 而云计算中网络的有趣之处在于,它不局限于你所在地区的云服务商,而是可以根据需要跨越多个地区的多个服务商。这就是Kubefed或Crossplane这样的项目可以提供帮助的地方。 如果你想探索更多关于设置VPC、子网和整体网络时的一些最佳实践,我建议你访问下方网页,同样的概念也适用于你加入的任何云提供商: https://cloud.google.com/solutions/best-practices-vpc-design Kubernetes 如果你使用的是GKE、EKS、AKS这样的托管集群,Kubernetes是自动管理的,从而降低了用户操作的复杂程度。 如果你自己管理Kubernetes,你需要处理很多事情,比如,备份和加密etcd存储,在集群中的各个节点之间建立网络,定期为你的节点打上最新版本的操作系统补丁,管理集群升级以与上游的Kubernetes版本保持一致。基于此,只有当你拥有一个专门的团队来维护这些事情的时候,才建议这样做。 Site Reliability Engineering (SRE) 当你维护一个复杂的基础设施时,拥有合适的可观察性堆栈是非常重要的,这样你就可以在用户注意到错误之前就检测到错误以及预测可能的变化,进而识别异常,并有余力深入钻研问题到底在哪里。 现在,这就需要你有代理,将指标暴露为特定的工具或应用来收集分析(可以遵循pull或push机制)。而如果你使用的是带有sidecars的服务网格,它们往往会自带指标,而不需要自定义配置。 在任意场景下,都可以使用Prometheus这样的工具作为时序数据库,为你收集所有的指标,以及借助类似于OpenTelemetry的工具,使用内置的exporter从应用程序和各种工具中公开指标。借助Alertmanager之类的工具可以向多个渠道发送通知和告警, Grafana将提供可视化仪表板,给用户提供整个基础设施的完整可见性。 综上,这就是Prometheus的可观察性的解决方案: 来源:https://prometheus.io/docs/introduction/overview/ 拥有这样复杂的系统,还需要使用日志聚合系统,这样所有的日志就可以流到一个地方,便于调试。大部分企业倾向于使用ELK或EFK堆栈,Logstash或FluentD根据你的限制条件为你做日志聚合和过滤。但日志领域也有新的玩家,比如Loki和Promtail。 下图说明了类似FluentD的日志聚合系统如何简化你的架构: 来源:https://www.fluentd.org/architecture 但是,如果要追踪跨越多个微服务和工具的请求呢?这是分布式跟踪开始发挥作用的地方,特别是考虑到微服务的复杂性。像Zipkin和Jaeger这样的工具一直是这个领域的先驱,最近进入这个领域的新兴工具是Tempo。 虽然日志聚合会给出各种来源的信息,但它不一定能给出请求的上下文,这才是做跟踪真正有帮助的地方。但是请记住,在你的堆栈中添加跟踪会给你的请求增加很大的开销,因为上下文必须和请求一起在服务之间传播。 下图是一个典型的分布式跟踪架构: 来源:https://www.jaegertracing.io/docs/1.21/architecture/ 但是,网站的可靠性并不仅仅止于监控、可视化和告警。你必须准备好处理系统任何部分的任何故障,并定期进行备份和故障切换,这样至少可以将数据损失的程度降到最低。你可以借助类似Velero的工具实现。 Velero通过利用你使用的相同Kubernetes架构,帮助你维护集群中各种组件的定期备份,包括你的工作负载、存储等。Velero的架构如下: 正如你所观察到的,有一个备份controller,它定期对对象进行备份,根据你设置的计划将它们推送到特定的目的地,其频率是基于你设置的计划。这可以用于故障转移和迁移,因为几乎所有的对象都有备份。 存 储 有许多不同的存储程序和文件系统可用,这在云提供程序之间可能存在很大的不同。这就需要像容器存储接口(CSI)这样的标准,该标准可以帮助大部分volume的外置插件,从而使其易于维护和发展而不会成为核心瓶颈。 下图是CSI架构,通常可以支持各种volume插件: 来源:https://kubernetes.io/blog/2018/08/02/dynamically-expand-volume-with-csi-and-kubernetes/ 分布式存储带来的集群、扩展等各种问题怎么办?这时Ceph这样的文件系统已经证明了自己的能力,不过考虑到Ceph并不是以Kubernetes为中心构建的,部署和管理起来存在一些难度,此时可以考虑Rook这样的项目。 虽然Rook没有和Ceph耦合,也支持其他文件系统,比如EdgeFS、NFS等,但Rook与Ceph CSI就像是天作之合。Rook与Ceph的架构如下: 来源:https://rook.io/docs/rook/v1.5/ceph-storage.html 如你所见,Rook承担了Kubernetes集群中的Ceph安装、配置和管理的功能。根据用户的喜好,自动分配下面的存储。这一切的发生,都不会让应用暴露在任何复杂的情况下。 镜像仓库 镜像仓库为你提供了一个用户界面,你可以在这里管理各种用户账户、推送/拉取镜像、管理配额、通过webhook获得事件通知、进行漏洞扫描、签署推送的镜像,还可以处理镜像或在多个镜像仓库中复制镜像等操作。 如果你使用的是云提供商,他们很有可能已经提供了镜像仓库作为一项服务(例如GCR、ECR、ACR等),这就消除了很多复杂性。如果你的云提供商没有提供,你也可以选择第三方的镜像仓库,比如Docker Hub、Quay等。 但如果你想托管自己的镜像仓库呢? 如果你想在企业内部部署镜像仓库,想对其本身有更多的控制权,或者想降低漏洞扫描等操作的相关成本,那么可能需要进行托管。 如果是这种情况,那么选择像Harbor这样的私有镜像仓库会对你有所帮助。Harbor架构如下: 来源:https://goharbor.io/docs/1.10/install-config/harbor-ha-helm/ Harbor是一个符合OCI的镜像仓库,由各种开源组件组成,包括Docker镜像仓库V2、Harbor UI、Clair和Notary。 CI/CD架构 Kubernetes可以在任何规模下托管所有的工作负载,但这也需要一个标准的方式来部署应用程序,并采用精简的CI/CD工作流程。下图为典型的CI/CD流水线: 一些第三方服务如Travis CI、Circle CI、Gitlab CI或Github Actions都包含了自己的CI运行器。你只需定义你要构建的流水线中的步骤。这通常包括:构建镜像,扫描镜像以查找可能的漏洞,运行测试并将其推送到镜像仓库,在某些情况下还需要提供一个预览环境以进行审批。 现在,虽然如果你管理自己的CI运行器,步骤通常保持不变,但你需要将它们配置为在集群内部或外部设置,并具有适当的权限,以便将资产推送到镜像仓库。 总 结 我们已经介绍了基于Kubernetes的云原生基础设施的架构。正如我们上面所看到的,各种工具解决了基础设施的不同问题。它们就像乐高积木一样,每一个都专注于当前的一个特定问题,为你抽象掉了很多复杂的东西。 这使得用户可以以渐进的方式逐渐上手Kubernetes。并且你可以根据你的用例,只使用整个堆栈中你需要的工具。

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

英国电信选择 Ubuntu OpenStack 作为其 5G 核心大脑

英国电信(简称 BT,British Telecom)宣布,选择由 Canonical 开发的 Ubuntu OpenStack 作为云平台,该平台将有助于支持引入 5G 和光纤到户的连接。 作为 Ubuntu 背后的公司,Canonical 将提供开源虚拟基础设施管理器(Vim),作为 BT 网络功能虚拟化(NFV)程序的一部分,以及向基于云的核心网络的过渡,从而减少对专用电信硬件的需求。 这种基于开源云的方法将确保 BT 能够快速部署新服务,并提高在 5G 和 FTTP 驱动下保持领先客户需求的能力,而规范化的 OpenStack 架构也将促进 BT 的全 5G 核心网络的交付。 Canonical 首席执行官 Mark Shuttleworth 告诉 El Reg: 英国电信已经认识到开放架构所带来的效率、灵活性和创新,并认识到这种方法在提供新的 5G 服务方面的价值。我们很高兴与他们合作,为这一方针奠定基础,这将是 BT 5G 战略的基础。我们所做的是让操作员能够非常有效地管理许多不同的云,因为一切都是可编程的和可重用的。 在 2015 年,Canonical 推出了自己的 OpenStack 发行版。OpenStack 云软件将使网络硬件和软件分离,将核心网络组件转化为软件应用程序,这意味着随着不断的集成和开发,它们可以更快地更新。 这种分离允许不同的网络应用程序在数据中心之间共享相同的硬件,使网络在需要额外容量时更具弹性和可伸缩性。与更换核心网络设备相比,软件的更新速度将为 5G 业务的开发带来一种新的方式,即 BT 可以在几周内建立新业务,并在几天内部署。 BT 集团首席架构师 NeilJ.McRae 表示: Canonical 正在为我们提供 cloud-native 基础,使我们能够创建一个智能和完全融合的网络。利用开放源码和最佳品种技术将确保我们能够实现我们的融合愿景,并为我们的客户提供世界领先的 5G 和 FTTP 体验。 更高的带宽和更低的延迟,再加上 5G 覆盖范围的扩大和增长,将提供一个更加响应性更强的网络,实现真正沉浸式的移动增强现实、实时健康监测和移动云游戏。完整的 5G 核心也是 BT 融合网络技术的重要一步,将固定、移动和 WiFi 整合成一个无缝的客户体验。 BT 已经为模型驱动的体系结构采用了 juju 和 charms 来部署虚拟网络功能(VNF)应用程序,而 maas(metal-as-a-service) 则被用作云供应工具。BT 的 5G 核心将支持 Ubuntu 优势的基础设施,以持续管理和支持运营。 预计到 2022 年,BT 将转向完全基于云的 5G 核心网。这将使公司能够做新的和有趣的事情,包括超可靠的低延迟通信(URLLC)和网络切片。 当然,BT 并不是唯一一家将 OpenStack 置于其现代化努力核心的电信供应商,Canonical 的客户还包括 AT&T 以及德意志电信(Deutsche Telecom)、Tele2、Colt 和 Sky。 主要的电信供应商正忙着从私有的硬件网络(这些网络的构建和运行成本很高)过渡到以商品服务器为后盾的基于云的虚拟化网络,因为这是在未来几年内有效交付客户所需的数据量的唯一途径。 参考:theregister

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

海升集团:农业大脑沉淀“新24节气”

2018年春节,中国人展现出了前所未有的水果消费热情,在水果品类、口味并不突出的冬季,国内某大型水果连锁企业的销售数据显示,在2月13至23日期间,全国近3000家门店近300万人次的客流,共计购买了超过9778吨水果,累计销售总额高达2.2亿元,与去年同期相比,销量增长53.8%,更为出人意料的是,如此的水果销售盛况不仅出现在北京、上海、广州等一线城市,三四线城市的水果消费增长非常惊人:该企业在梅州、信阳、九江、琼海等地的水果消费增长分别高达319.8%、231.2%、191.5%和148.9%,水果销售几乎激活了全国春节期间的消费热情。 与春节期间激增的水果消费需求相比,我国人均水果消费水平其实并不高。据统计,2015年我国水果人均年消费量仅为32kg(仅即食鲜果),这一数字与70kg的国际上公认的(人均)水果消费健康标准和10

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

“召回模型”京东新版首页个性化推荐最强大脑

各大电商网站在提供了广而全的商品后,又迎来了新的问题“个性化”需求。京东在2015年3月27日,发布新首页的同时还推出了依靠大数据技术的实现的千人千面的个性化内容推荐——今日推荐、猜你喜欢。 今日推荐、猜你喜欢 使用户在前台看到的推荐内容通过多种模型进行排序得出的结果,京东推荐搜索部总监刘尚堃也将背后的过程还原给大家。目前推荐搜索部有将近70人,包含了研发、算法、运营、测试等部门,其中算法工程师有20人。 了解京东的搜索推荐,首先要普及一个名词“召回”,也就是推荐候选结果排序,召回首先会从海量的商品中选取用户感兴趣的候选集合之后进行排序。 选取集合上有众多的召回模型,其中主要有三大模型:基于行为、基于用户偏好、基于地域,具体实现还有更多子模型。 基于行为:根据用户购买记录推荐其购买过商品的周边产品进行搭配。 基于用户偏好:从商品品类(品牌、产品)、性别、人群、购买力、地域等信息形成商品画像,从而推导出用户画像。其中包括在多屏情况下捕捉不同环境用户使用PC端、移动App、微信手Q购物习惯。 基于地域:把地区划分成网格,从数据总结出该地域用户感兴趣的商品。 具体模型使用京东将所有模型效率进行分析,在线相关,在线相似,离线相关,离线相似,近期比较热销的品牌和品类等都会进入到模型中进行计较,得出模型展示转化率,即订单量/展示量。 刘尚堃还提到推荐搜索部最近的新尝试,增加最近点击和最近关注的商品模型,将最近浏览过的商品推荐到首页,转化率提升了100%。之后又进行改进,增加最近加入购物车的商品模型,将放入购物车未购买的商品推荐给用户,转化率又提升了5-10%。 在模型融合的基础上,京东还进行排序学习,从用户的交互日志中通过模型训练特征权重,继而转化率又有20%的提升。 而推荐架构支持高速算法的高速迭代,平均每周有7个新算法实验上线。未来在技术层面做进一步优化,丰富排序特征,同时将DNN技术应用于排序,替代目前的L2R算法,预计提升5%转化率。 架构支撑算法高速迭代 转化率提升和继续学习构建是京东个性化推荐的难点,未来在量方面上还会进行不同程度的优化。并且目前也在考虑同合作伙伴合作使用关系数据,更好进行个性化推荐。 原文发布时间为:2015-7-14 本文作者:王聪彬 本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网

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

赤峰市:大数据为智慧城市装上“最强大脑”

“近期有寒潮来袭,请各位党员干部注意关注各自辖区内的防寒防雪防大风工作,确保人民群众生产生活正常有序……”最近几天,随着冷空气的侵袭,赤峰市迎来了新一轮的大面积降温,部分区域降温幅度甚至达到10多度。看到手机上的“智慧社区”推送的这条信息,家住红山区阳光家园的老党员李孟成跟家里人交代了几句,披了件厚大衣走出了家门,“前几天小区里有处水管漏水,我看看修好了没,别结冰打滑摔着人。” 近年来,赤峰市红山区围绕“两网两中心三体系N个应用”,积极开展智慧城市建设和大数据产业应用。去年6月,红山区依托城市基础数据库,委托内蒙古朗坤科技有限公司将“互联网+”党建、督查考核、法律监督、移动办公、智慧城管、智慧社区、安全生产等一系列信息化平台纳入“智慧红山”整体框架。该工程不仅实现了党建工作、日常政务办公和城市及社区管理的“智慧化”全覆盖,还将重大项目推进情况督查考核、依法行政监督、安全生产实时监管等众多关系到全域社会经济发展的重大项目纳入其中,极大地提升了政府为民服务的主动意识和办事效率,真正做到服务有温度,工作有态度。 用“大智慧”治理城市 “智慧城市概念很广泛,涵盖的内容非常多。诸如用手机实现订餐、买票、约车,使用基于地图的各类服务等……”红山区委书记刘万虎告诉记者,相对于这些初级的服务应用,红山区更专注于运用大数据分析和信息化平台建设,让城市生活变得更“智慧”。“更‘智慧’的城市,应当是将大数据、云计算、物联网、互联网等新技术广泛应用到政府治理、居民生活、产业发展等各个领域,以便政府更好地管理城市、服务群众、发展生产。” 红山区作为赤峰市的主城区,自古就有“东接辽沈,南依京畿”之说,辖区有11个街道、2个镇,共27个行政村和67个社区,居住着汉、蒙、满、回、朝鲜等20多民族,独特的地理位置及人口构成,使得城市治理需要不断有新的“大智慧”。记者在红山区的规划蓝图中看到,围绕“两网两中心三体系N个应用”,城市居民可以利用新技术实现出行、生活、工作、就医等全面便利化、人性化。 用“大格局”规划产业 作为智慧城市建设的发展主线,红山区的顶层设计框架不仅科学完善,而且极具可操作性。 为进一步加快智慧城市建设进度,提升政府管理、民生服务、企业应用等几个方面信息化水平,红山区结合自身实际,在赤峰市智慧城市顶层设计框架内,按照“两网两中心三体系N个应用”的总体部署,进一步加强区内信息化基础设施建设,充分利用云计算、互联网、物联网、大数据等新一代信息技术,整合各类数据资源,逐步实现信息资源共享利用,促使区内公共服务更高效、城市建设与运行管理更精准、公众生活更便捷,保持区内信息化综合水平在全赤峰市的领先地位,并初步建成“智慧城市”体系框架,以承接“智慧赤峰”建设项目,进一步带动智慧产业的集聚和发展。 打造智慧城市,红山区拥有得天独厚的区位和技术优势。辖区内坐拥蒙东地区唯一的云计算产业发展中心,该中心是国家级电子商务示范基地、创业孵化示范基地、科技企业孵化器、众创空间,是自治区云计算改革创新试点、物联网科技企业孵化器。2015年,云计算入驻企业完成交易额15亿元,实现税收3000多万元,安置就业1200多人。 据了解,去年6月以来,红山区智慧城市建设已累计投入1.5亿元,启动了智慧城市专用光纤网、大数据中心机房、城市基础数据库、智慧社区、智慧城管、智慧城市综合管理指挥中心、安全生产、督查考核、“互联网+党建”9项重点领域应用一期建设。 同时,积极推进电子商务产业发展,建成了农村、跨境、社区、特色农牧产品4个领域的电子商务平台,为全市2000多家企业提供电子商务服务,网上交易额突破10亿元。 围绕智慧城市项目建设,红山区政府和智慧城市建设投资联合体各成员单位,将进一步加强协同合作,充分完善包括大数据应用、科技、通讯、交通、信息安全、电子商务、民生、医疗、旅游等众多领域的信息化建设和实际运用。如今,一个极具“智慧”的蒙东地区智慧城市样板区正逐渐形成! 用“大中心”服务群众 都说有了金刚钻,揽得瓷器活。除了在制度上形成创新外,红山区还不断加大软硬件投入,并通过“大中心”提高政府办事效能和优化为民办事流程。 “过去,小区管理主要通过入户上门和通告栏张贴公告等形式,不仅效果不明显,而且还存在告知不到位、时效性较差等现象,另外就是不能针对特定群体进行分类管理。”据内蒙古朗坤科技有限公司总经理郭支成介绍,使用了智慧社区管理平台后,小区管理变得更加人性化和个性化。记者通过办公电脑打开智慧社区管理平台,登陆后看到,新闻资讯、便民服务、公告通知、小区信息和查询系统等功能板块一应俱全,只需轻轻一点,小区内居住情况和人员信息就一目了然。 目前,与智慧社区一起上线的各大平台正在迅速推广当中。据介绍,在“智慧红山”一期项目中,督查考核上线运营,初步实现了“督考合一”,以绩效节点解决部门工作中存在的责任不清、落实不力、配合不足等问题;互联网+党建广泛应用,试运行手机APP对党员进行教育管理,目前已覆盖党员9000余名;安全生产云和食品安全管控系统建设完成,实现全区重点领域安全生产、食品安全智慧化、透明化管理;智慧城管、智慧社区软件系统于去年11月份全面铺开;人口库、法人库、地理信息库等城市基础数据库初步建成,其余项目正在稳步推进。 智慧生活既离不开互联网,更离不开物联网。目前,红山区正在搭建一张覆盖全城的物联网,实现城市全面感知。通过在全区范围内布设1500个高清摄像头,实现全区视频全覆盖,同时,在道路、桥梁、泵站等重点城市部件上都安装了物联网传感器,通过这些设备就可以收集到和城市管理有关的所有有用数据。 为了进一步提高各模块的协同性,红山区还在加快建设全自治区首个智慧城市运营指挥中心,充分通过整合交通、社区、市政、城市管理、市场监管、应急管理、安全生产、宏观经济运行等政府综合监管和指挥调度职能,集中物流、旅游、供销等经济综合调度功能,实现智慧城市综合管理体系的全局指挥。据了解,该中心已于去年底正式投入使用,城市管理人员可以在智慧中心的大屏上看到城市每一处的实时状况,并根据实际情况做出相应处理,实现城市的透明化管理。 本文转自d1net(转载)

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

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

Rocky Linux

Rocky Linux

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

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册