CNAB Spec

    查看原文

    CNAB (Cloud Native Application Bundles) 是关于打包,安装,管理分布式应用的规约。

    • https://github.com/deislabs/cnab-spec/blob/master/100-CNAB.md
      • 它可以打包多种运行时的安装工具,例如 Helm,Terraform。
      • 他可以支持打包到多种后端,各个云平台,甚至离线的环境。例如,openstack, azure, kubernetes, nomad, local docker, aci, 甚至 IoT。
      • bundle.json 中定义了元信息,invocation image(简单来说,有点像桌面系统的安装器),可让用户自定义的参数,executable images,以及镜像们所需要的环境变量和密钥。
      • bundle.json 是未签名的,bundle …
    read more

    Docker App and CNAB

    查看原文

    Docker App 可用于部署应用到 docker 中。它基于 CNAB Spec。应用开发者可以将应用打包成 CNAB bundles,其中包含了一些metadata,需要的 image,运行的 service 等等。应用使用者使用 docker-app install 安装应用。

    read more

    Loki - like Prometheus, but for logs

    查看原文

    本文是Grafana Loki service的设计文档。

    • 解决的问题:Metrics 和 Alerts 只能揭示预定义的问题,未知的问题还得从 Log 里面去细细查找。常见的 Incident Response 流程是:alert -> metric dashboard -> adhoc query -> log -> distribution tracing -> fix。 日志和 Metric 分在两个系统,这增加了 Operations 的 Context Switch。
    • 现存方案:full-text search systems to index logs。缺点:不好 scale,运维复杂。
    • 解决方案:预装 agent 到各个节点,收集日志,将 …
    read more

    使用 Deep Learning 做时间序列分析

    查看原文

    本文介绍了哪些数据是时间序列数据,以及如何使用深度学习做时间序列分析。

    • 时间序列数据可以是来自外太空的能量信号,也可以是股票,销售数据等等。人体本身也是产生时间序列数据的很好的数据源:心跳,体温等等。
    • Classic Approach:测量时间序列如何基于时间发生值的大小变化,频率变化,邻近时间点数据变化,(S)AR(I)MA(X) models(基于linear self-dependence计算相关度),非线性变化等等。
    • Deep Learning:从操作上来说,堆叠几个喜欢的 Framework 层层计算,小心 overfitting。(近年来的使用发现这种方法适用非常多的场景,包括时间序列分析)
      • Recurrent neural nets: 这个方法这一找出时间序列中的隐藏状态,并给予时间找到它们的依赖。缺点是只适合短时间序列(10-100 time steps)
      • Convolutional neural nets: 一般它用于寻找 3D 或图像数据的 pattern,但它也可以用于处理 …
    read more

    Stack Overflow 如何监控之 2018 版

    查看原文

    本文介绍了 Stack Overflow 当下(2018)的监控技术栈。

    • 监控是什么?是裸眼时不时扫头上那三五台大电视屏幕,是被开发搞的飞起的上线事故应急响应,如此种种。得操心监控阈值设定,高了不行,低了不行,节假日要换个阈值,有时候又没法自动化。
    • 监控什么?三大类:日志,健康检查,监控指标。
      • 日志: 主程序错误丢到 Windows 套餐的 Opserver,其他服务像 Redis,Elasticsearch,SQLServer 做本地 disk logging + log rotation。HAProxy 会把负载均衡的服务的总体流量和响应时间记下来,排查问题时很有用。默认的 HAProxy 日志中会有以下四个数据:
      • TR: Time a client took to send us the …
    read more

    Sops - an editor of encrypted files

    查看原文

    Sops 可以对 YAML,JSON,BINARY 加密,使用 AWS KMS, GCP KMS, Azure Key VAult 以及 PGP。

    需要提前配置云平台的验证信息。

    可以在保留文件数据结构的情况下,对部分字段加密解密。

    # file.yaml is in cleartext
    $ sops -e -i /path/to/existing/file.yaml
    # file.yaml is now encrypted
    $ sops -d -i /path/to/existing/file.yaml
    # file.yaml is back …
    read more

    Kubernetes Logging Architecture

    查看原文

    Kubernetes 没有内建的日志收集组件,需要自行安装。对于服务器端程序,日志收集的重要性不言而喻。 在 k8s 的环境中,有一个特殊的需求:container/pod/node 挂了,我们还需要看到它们的日志。 这就要求我们需要在 cluster 内部实现 cluster-level-logging,外部配置一个 logging 后端。

    日志分两种,容器日志和非容器日志(例如 kubelet), 所有系统日志都会通过 stdout,stderr 输出到 /var/log (glog 库)。 所有容器日志都会输出到 logdriver. Kubernetes 本身不负责 logrotate,Logdriver 例如 Docker 会有 log-opt 这样的工具来做。

    一些 Cluster-level logging architectures 的解决方案 …

    read more

    Hawk - HTTP Holder-Of-Key Authentication Scheme

    查看原文

    Hawk 是一个使用 MAC 对 HTTP 请求头,请求参数进行加密校验的算法。 Hawk 的主要用例是进行服务端和客户端的 two-legged 授权验证。

    范例:

    GET /resource/1?b=1&a=2 HTTP/1.1
    Host: example.com:8000
    Authorization: Hawk id="dh37fgj492je", ts="1353832234", nonce="j4h3g2", ext="some-app-ext-data", mac="6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE="
    

    它需要客户端和服务端都有一个 加密用的 key。协议本身不提供获取和传送密钥的手段,一般需要使用者使用 TLS 先行建立一个传输层的安全连接。协议只是验证请求头和部分请求参数没被篡改,所以不可以就把敏感数据放进去 …

    read more

    Page 1 / 54 »