【Day 4】DevOps x Containerized x 王大陆都知道的容器化好处

tags: 铁人赛 Docker Container Microservice DevOps

概述

碎念时间

  • 为什麽我们需要 容器化 ?
    • 试想,如果一家新成立的公司,要构建一个网站,初期只是个 静态网页
      • 公司刚成立没有钱,老板决定把简单的网页,架在 GitHub Pages 上,里面就放一页式的形象网站而已。
      • 备注:GitHub Pages 是一个提供网页托管服务 的网站,有些人称 github.io
    • 後来,这公司成立了网路商店,欲贩售一些商品,结合资料库的动态网站
      • 可能会卖个关庙面、水煮鸡胸肉、水饺、海鲜、蜂蜜等等的商品。
      • 初期的网路商店原理很简单,就是一个填表单网站。
      • 填完购物表单後,明细存在 DB 内。
      • 发信给填表者、管理者,并以约定方式付款。
      • 由 LAMP (Linux、Apache 2.4.48MySQL Community Server 8.0.26PHP 8.0.10) 所建构出的服务。
    • 事业起步後,流量变大了⋯⋯
      • 结合直播,电动加跳钢管卖海产,流量爆冲,流量就上来了
      • 想做 「会员系统」,透过注册网站会员或是串接 OAuth,以方便统计客户的住址、年龄、性别、学历、身高、体重、购物历史等等,加速出货退会、分析潜在商机使用。
      • 串接 「金流系统」,结合第三方的金流系统,以方便会计作业、发票开立、收款付款退款、介接物流业者等。
    • 各种系统和服务都集中在一台机器上⋯⋯
    • 然後某天要办抽奖的时候、然後呢?然後服务就死掉了
    • 网站可承受流量多寡(C10k problem)、避免 DDos 等等的议题,犹如大海般,今天应该讨论不完。
    • 而今天我们先来谈谈**浴缸** 容器(Container),为解决复杂问题奠基。

问题探讨

系统层级环境 / 虚拟化环境 / 容器化环境

  • 系统整体的耦合性过高,使得不同模组所产生的相依性与问题相互箝制⋯⋯
  • 纯粹地提高硬体规格,亦无法解决阿馆所面临的问题⋯⋯
  • 王大陆在好几年前就分别提出解决的方案
  • 使用容器的好处已经是老生常谈,作者 就不赘述了 稍微略提。
    • 容器与宿主共用 Kernel,不用多跑一套作业系统核心,就是轻就是快
    • 具可携性、易扩展、跨平台移转等特性
    • 应用程序隔离 (麻酱面麻酱跟面要分开)

DevOps 场景中的容器化好处

  • DevOps 一词包含了 Development(开发) 和 Operation(运维)
  • 我把它解读成,在一边写 Code且一边测试部署的过程中,所需做的功。
  • 通常 DevOps 会搭配 WorkFlow 一并使用
    • 看板开发法
    • 敏捷式开发法
    • 混合式开发法
    • 陨石式开发法
    • 各种开发...(略)
  • 为了提高开发过程中,有些反覆的工作,每经过在测试的时候总是
    • 准备编译环境、准备原始码、编译、打包、准备执行环境、部署程序到执行环境中、蒐集测试结果⋯⋯

拿做咖啡来形容有无容器化的差异⋯⋯

  • 使用「咖啡师」制作 Expresso 咖啡流程示意图
  • 使用「胶囊咖啡机」制作 Expresso 咖啡流程示意图

安装 Docker 执行环境

下载并且安装

  • 从官方网站 下载连结

  • 选择合适版本下载并安装

  • 按 OK

  • 工程师也是要领薪水、要吃饭的,如果你不是当老板的,或者是员工很少、没有赚太多钱,就不跟你计较了,勾起 "I accept the terms" 按 "Accept"

  • 装好了之後,用 Spotlight 唤醒他,或者是直接到应用程序目录开启他。

小结

  • 一个容器最好只做一件事情。
  • 麻酱面,麻酱跟面要分开!
  • 篇幅有限,只有安装完环境和讲一些自己扭曲的观点。
  • 明天再来演示基本的 Docker 操作和 Dockerfile。

後记

  • 铁人赛好硬,一周上六天班有点招架不住。
  • 满满的 Crema

<<:  [day1]行动支付小小小优惠

>>:  Day6-"while、do-while"

Day19 弱点扫描软件安装与使用注意事项

我们在前几篇文章介绍如何收集资料、并介绍几个好用的工具如 nmap、Nikto、WPScan,透过这...

[Day 8]开赛八天即遭遇难题(前端篇)

挑战目标: MockNative Camp前端 今天原本是要来refactor和解决hover的问题...

Day21 - 前处理: 语者正规化

前一天在说明使用的语音特徵时有提到,模型有静态模型跟动态模型两种。在训练静态模型时,因为资料集中的语...

[机派X] Day2 - 树莓派碰上 Ubuntu

引言 今天是机派X系列文章的第二天,这篇文章终於要进入正题了! 首先,我们要在树莓派上安装 Linu...

Day 22.5 | Livewire 实作 购物网站: 建立资料表

本来预计都写在 Day22 的,但是加上本篇内容後会让一天的篇幅太长,且考虑到有些夥伴可能没有建立资...