云上部署的便利性和方案

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 低门槛上云的可选部署方案

每年双十一的时候,由于云厂商对于新用户的推广和补贴用户,总会有一些非技术的同事买云主机或者其他类似服务,买了以后也没啥诉求,就想看能不能搭个博客或者小网站自己玩玩。除了个人用户以外,也有一些小公司可能也有类似诉求,需要一个简单的项目管理或者其他企业软件,一般的诉求都是免费或者花钱少。


我们就用wordpress举例,考虑最简单的wordpress也需要一个PHP环境,一个数据库,如果还需要https,那还需要一个nginx或者caddy。


手动安装


手动其实比较麻烦,php环境、数据库和caddy可以使用apt/yum安装,再从wordpress官网下载最新版本,解压使用。数据库需要手动改下密码,然后wordpress配置连接。这么一套,10分钟肯定跑不掉。


Docker-compose方案


docker是最容易想到的方案。

一般来说为了方便我都会帮忙用docker-compose的方式部署一下,几行命令就能搞定,配置文件如下:


version: "3.9"
services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - wordpress_data:/var/www/html
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
volumes:
  db_data: {}
  wordpress_data: {}


这样来的快,但是慢慢就遇到一些别的问题,比如升级。wordpress有自动升级,只要不出问题基本可以一直用,但是数据库偶尔还是要升级的。这个时候需要重新docker-compose restart一下。


考虑到操作的长期性,我们需要一个docker管理软件,严格讲是远程管理docker-compose的软件,我之前一直使用的Daocloud作为管理界面。


安装包方案


仔细想想在Windows下安装软件的情况,一个installer,一直下一步就能搞定。

而自己搞还有一个问题就安全,配置是否直接使用默认值,默认值是否为最优选择?这些都需要斟酌。


所以一个靠谱的傻瓜安装包也是一个选择,比如Bitnami。

Bitnami提供了常见软件/工具的一键可用的安装包和集成环境,并且暴露了必要的配置,基本上一句命令行就能搞定问题。同时还提供了不同环境的安装包,不光是windows、linux这种,还有docker,甚至云厂商的集成版本。


比如它提供的Docker版本如下:

version: '2'
services:
  mysql:
    image: docker.io/bitnami/mysql:8.0
    volumes:
      - 'mysql_data:/bitnami/mysql'
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - MYSQL_USER=bn_wordpress
      - MYSQL_DATABASE=bitnami_wordpress
  wordpress:
    image: docker.io/bitnami/wordpress:5
    ports:
      - '80:8080'
      - '443:8443'
    volumes:
      - 'wordpress_data:/bitnami/wordpress'
    depends_on:
      - mysql
    environment:
      - ALLOW_EMPTY_PASSWORD=yes
      - WORDPRESS_DATABASE_HOST=mysql
      - WORDPRESS_DATABASE_PORT_NUMBER=3306
      - WORDPRESS_DATABASE_USER=bn_wordpress
      - WORDPRESS_DATABASE_NAME=bitnami_wordpress
volumes:
  mysql_data:
    driver: local
  wordpress_data:
    driver: local


也可以直接用,比如

$ curl -sSL https://raw.githubusercontent.com/bitnami/bitnami-docker-wordpress/master/docker-compose.yml > docker-compose.yml
$ docker-compose up -d


对于海外的云厂商,支持Google、Azure、Aws等。


云市场


便利的云上部署可以极大降低使用难度,特别是降低入门门槛,利于新用户吸纳。所以云厂商一般也有类似的市场,提供一些免费/收费的集成环境。不过这种一般都是厂商绑定的,非通用。


比如在阿里云云市场搜索Wordpress


cloud-market-2.png


这里的0元/月一般都是首月,免费试用下,第二个要收费,另外就是版本相对比较旧,比如现在Wordpress最高版本是5.9,这里的都是5.8的。


阿里云最近还推出了计算巢,目前公测中。这个可以理解为云市场的升级版,除了软件以外还捆绑了云资源配置,购买以后会自动创建云资源并完成部署。


当然,服务提升了,价格也不一样,服务商的收费普遍比云市场贵一些。


yunchao.png



计算巢的收费主要是厂商的服务费+云资源的使用费用。目前公测期间,没有平台费用。

另外阿里云还有应用镜像可选,对于特别知名的项目(特别是web类的),可以直接选择。

light-server.png



这个应用镜像的维护周期不明确,单从版本看,比较陈旧。


参考

https://bitnami.com/stack/wordpress/containers

https://help.aliyun.com/product/268599.html

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 运维 安全
多云网络部署存在挑战,F5分布式云应用简化方案解读
多云网络部署存在挑战,F5分布式云应用简化方案解读
45 0
|
3月前
|
弹性计算 运维 Kubernetes
阿里云ECS与混合云策略结合,提供云上云下无缝对接,提升业务灵活性和运维效率。
【7月更文挑战第3天】阿里云ECS与混合云策略结合,提供云上云下无缝对接,提升业务灵活性和运维效率。ECS支持多种计费模式和先进架构,保证低延迟计算。混合云融合公有云灵活性与私有云安全,实现资源最优配置。通过VPC互通、应用迁移、数据同步实践,确保安全合规,助力企业数字化转型。阿里云服务展示技术实力,支持企业在混合云时代抓住机遇。
115 3
|
5月前
|
存储 运维 监控
构建高效稳定的云基础设施:自动化运维策略与实践
【5月更文挑战第28天】 在当今快速演进的云计算环境中,自动化运维成为确保服务连续性和效率的关键。本文深入探讨了自动化运维的核心原则、工具选择以及实施策略,旨在为读者提供一个清晰的视角来理解和应对现代IT基础设施的挑战。通过分析案例研究和最佳实践,文章揭示了如何有效地整合自动化工具以优化资源管理、故障响应和系统升级过程。
|
5月前
|
运维 监控 安全
构建高效稳定的云基础设施:自动化运维策略与最佳实践
【5月更文挑战第22天】 随着云计算的日益普及,企业对云基础设施的依赖程度不断提高。有效的自动化运维策略成为确保系统稳定性、提升响应速度和降低人为错误的关键。本文将探讨一系列高效的自动化工具和流程,以及它们在云环境中的最佳实践,旨在为读者提供一套可行的方法论,用于构建和维护一个可靠且灵活的云基础设施。我们将重点讨论自动化部署、监控、故障恢复及安全性管理,并提出相应的建议和解决方案。
|
5月前
|
运维 Prometheus 监控
构建高效稳定的云基础设施:运维最佳实践
【4月更文挑战第20天】 在动态的云计算环境中,确保服务的高效性与稳定性是现代IT运维团队面临的主要挑战。本文深入探讨了一系列运维最佳实践,旨在帮助读者构建和维护一个健壮的云基础设施。从自动化部署、监控策略到灾难恢复计划,文章将详细阐述如何通过这些实践来优化资源使用效率,降低系统故障风险,并提高整体服务质量。
219 0
|
弹性计算 运维 Kubernetes
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(1)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(1)
174 0
|
弹性计算 运维 Kubernetes
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(3)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(3)
214 0
|
监控 Kubernetes 负载均衡
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(5)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(5)
141 0
|
存储 弹性计算 Cloud Native
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(2)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(2)
252 0
|
调度 容器 Perl
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(4)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.2 游戏容器化部署最佳实践(4)
174 0