初见面:b站学了半小时
体会:就是一个远程不知道在哪儿的整个开发的环境提供。今天看了个片儿CTO讲的,其实就是一个世界电脑🌍world computer💻
On-Premises 就是没有拖到云上,物理硬件设备都必须要有
IaaS < PaaS < SaaS ...
Iaas是架构即服务infrastration as a service。比如提供了1G内核,硬盘500G..网络
PaaS是平台即服务。比如提供了Linux系统/windows系统,还可以用各种Java,php,mysql...
微软最赚钱的是提供SaaS,它包含了其他两个。相当于还提供给了我跑在电脑上,有网络的提供后,还可以用office365,用各种php,数据库已经弄好的服务直接用现成的。
--网络提供:各种域名,DNS,内容分发网络
(比如澳洲人访问中国百度卡,然后把百度的cache直接deploy在澳洲的那些机房服务器上,直接走那边用缓存,减小延迟) 负载均衡
--对外只有一台服务器接受各种request,但是它💻handle不了了,然后分给身后其他n台虚拟机vm或者是真正的💻。。(自己的肤浅理解)
数据库提供:最支持当然是原生Server SQL微软自家,但其他常见的都可以用。NoSQL的意思是Not Only SQL,不仅仅是!!可以不像关系型数据库每一个schema都要一样,比如都有id,name,但有些人有其他单独项比如hobby,就不用全部建一列,其他都写Null来浪费资源,所以可以定制化各种对象存储。最出名的叫CosmosDB,但我只听过MongoDB🤭
继续学~~
结构
App Service --- 相当于就是部署的一个web
App Service Plan --- 相当于一个vm,一个vm可以部署很多个web,只要够大
subscription --- 相当于有各种开发组啊,按各个部门分,好看谁花了多少钱,有点像群体性的users
resource group --- 相当于把很多服务打包📦比如xampp
webApp --- 相当于deploy自己的网页上去建一个方案
production到产品上线里面的服务,直接可以选Auto Scale
自己就扩成几台,
scale out 扩容,负载均衡 多加几台
scale up 把容量1GB 增大成3GB
Application Insight --- 应该就是管理可视化面板??
权限等级:
Account Administrator
只有一个,他一建立,自动获得下面两个身份🆔。Service Administrator
一个subscrition感觉就是一个组长,默认也就是上面这个人Account。权限就是可以创建更多CoCo-adminstrator
部署方式:
https://www.bilibili.com/video/BV1GE411X7if
去Deployment Center
点击GitHub帐号,会授权自己的GitHub,然后选择deploy的repository的master分支,可惜GitHub不支持php。。。
后来我就选的Kudu来build,也很傻瓜式操作,搞定~
1.FTP 常用软件--FileZilla
2.Git直接电脑上传,或者github Repositry传
3.各种云☁️OneDrive,DropBox
4.VisualStudio直接右键publish...优点 -- 像.Net这种需要编译的直接可以编译好上传速度快,有些东西Azure上已经有了,不用build。
Deployment Slot
这个功能就是切换 版本 的意思
以前叫做blue green啥的。。比如有两台服务器,一台blue正在运行现有代码,但是要修改,修改就在green上,弄好之后,用Load Balancer不知不觉的悄悄转过去。
而在Azure☁️上,就是通过这个Deployment Slot来建立。
免费的肯定不能用这些功能,要S1以上才有。
建立也很简单,如下图👇
然后把新代码按上次那样部署上去,会有一个新网址,只是会多一个
develop
字样,点【Swap】就OK了。点之前网址比如是111-develop.azure.com内容是2222,点了之后就swap了效果:
以前的网页是111.azure.com,内容是 1111, 现在就变成了 1111.azure.com 但内容是 2222。
有点听不懂这儿🙉,比如,运维不想让开发看到某些配置参数,但开发又需要用到,就先这样暂时设置,而不是code里面去改很多代码,到时候又改回来。还有比如,测试又用测试能用开发不能用的某些值。。同样操作。
不仅可以在代码中设置是哪种环境development/staging/production
环境,运维人员还可以在Azure上直接修改模式。产生的环境变量,都可以在Kudu面板下的Environment->Environment variables找到配置项!
打了勾的地方就说不要把这个configure也换了,只换代码。比如,环境现在已经是development,但新代码里面还写这development,不打勾☑️的话,本来已经上线的production变成了development。所以,还是记得打勾。
Service App Editor(linux下app不可用)
说白了就是可以在线进去看云上部署好的代码并且修改
好处是可以快速查看,或者用terminal run一些东西,看日志。
Kudu ——————————
苦读。Kudu快速🔜进入的两个方法1.像上面进如App Service Editor的网址一样只需要去掉后面.net/后面这些具体文件路径名dev....2.点面板上👇
那多了这个SCM它其实就是一个像后台面板管理工具🔧
可以查看你之前自己设置的很多configure环境变量
比如想安装phpMyAdmin啊,Let‘s Encrypt啊,php各种版本啊。。。
这个SSH在Portal里面development tool下面的console也找得到。下面跑程序图片可以看到
如果遇到502怎么办
在portal里面点这个🔧选Diagnostic Tools
然后用console把程序跑起来
就会看到具体哪一行有错误❌,当然kudu里面也可以看只是整合到了portal上面
Visual Studio上整合了很多Azure功能
找到这个cloud☁️
有debugger🐞,打开protal,kudu,停掉网页,打开网页。。
要用remote debugger功能可以在configuration下面打开(一般还是不会用到这个功能)
爆简单的解决cors方法
屏幕快照 2020-05-10 下午4.41.33.png
Database篇
服务级别协议(SLA) 应保证至少99.995% 的可靠性和可用性
适合没有MIS团队(管理信息系统--Management Information System),只有开发团队,不用操心数据库升级啊,打个patch之类的
最下面就是硬件服务器专门来运行database,所以cost多,而且还要更多维护higher administration。到蓝色部分就只用管O/S(operation?what)到SaaS完全就用就完了啥都不管
有三种不同的模式:Single就是专供,不share
Elastic pool共享池可以动态扩容,无法确定多大时,可能爆流量时,选这种。缺点:不是所有的资料migrate上去都可以用,第一种SQL Database是比较早起出来的。
第二种SQL Managed Instance,就是因为上面第一种跟原生Database有些不一样,它就改进了,基本上SQL Server功能都支持
所以,这种其实是不错的选择!
SQL Virtual Machine就是自己先在云里买个虚拟机,然后在里面部署SQL
优点:没有买sql的licence这个费用包含在内
缺点:要自己弄很多,而且搞了很多之后才能达到一定的SLA
所以一般不推荐🙅
cost价格查询 https://azure.microsoft.com/en-us/prising/calculator
创建
比较了上面几种之后,就是创建一个Database
1.先在portal上搜索🔍,出来了几种,就是上面提到过的几种。
2.add 中间有几部要选(都在一个serve里,走内网是不花钱的💰)
点了Configure database的话,出现下面对话框,里面可以选择size,几核,看到估价。Provisioned是每小时都在扣钱,为了稳定的项目production可以一直连着;Serverless是按秒,相当于我用一次付费一次,代价就是每次都要花时间现连🔗,可以用在不用那么稳定,就是一个测试机/POC网站。
后面会专门提到费用计算💰
(概念验证(英语:Proof of concept,简称POC)是对某些想法的一个较短而不完整的实现,以证明其可行性,示范其原理,其目的是为了验证一些概念或理论。概念验证通常被认为是一个有里程碑意义的实现的原型 。
)
3.网络Networking选项
5.建好的database server--可以增加pool,看防火墙设置等
6.server好了之后database app也建好了。里面也可以看连接🔗状况,设置防火墙,扩容。。
7.设置防火墙
可以在刚刚预先那里yes就少下面几步,也可遇到了再来设置,很简单。比如用ssms查看数据库时,连接的时候会跳出来
ssms ---- SQL Server Management Studio是微软的一个与其数据库产品Microsoft SQL Server配合使用的产品,以便于设定、配置及管理其元件。(就像豪华版的phpMyAdmin)
只需要添加自己的ip即可
自己资料Migration
下载⏬地址:
database的备份
透過Geo-Replication設定Always On,用PaaS的好處 - 幾個按鈕就搞定複雜的設定
Always On: SQL Database服务不中断的功能。在地端设定很麻烦复杂,又很多权限要处理
只需要在database面板点Geo-Replication然后选个区域做secondary database
比如把第一台的数字🔢换了,备份的这台会马上同步跟着换。
注意⚠️:第二台只能是只读read-only。适合来做吃资源的报表
如果假设第一台需要做“灾难演练🔥”反正需要用到第二台,第一台发生状况
failover
: 网络 故障转移; 故障切换; 容错; 失效接管; 失效转移;
确定之后,两个数据库互换,就变成了primary那台是secondary了,同样也只有read-only功能
在刚刚Force Failover🔘下面有个Stop Replication
费用计算
在database下的Configure里面就可以选择
最早只有DTU方式,但是不灵活。后来衍生出vCore方式,并且是推荐使用的方式。
DTU不灵活是因为,compute,storage这种已经固定死了单位,但有些程序比如需要很大量的storage但是不需要很高的compute这种就选择不到,只能往大storage,高compute选,造成了compute的浪费。
而vCore
模式可以将Storage
与CPU
分开, 分开来买多少个核,第几代Gen。
IOPS(Input/Output Operations Per Second)是一个用于计算机存储设备(如硬盘(HDD)、固态硬盘(SSD)或存储区域网络(SAN))性能测试的量测方式,可以视为是每秒的读写次数
vCore还可以用hybrid的方式,如果有licence就不用再花钱买
这两种高端一点的就是IOPS不一样
Azure Storage
创建
1,Azure Blob
👆总结:就是一层一层的不放心自己的资料💾放在本地三分都被烧掉🔥,放在本地+不同地方被烧掉🔥,钱💰就越贵。某些还可以拿来读取Read-access这样就可以拿来生成报表
Access Tier
管理Blob的工具🔧
SAS--Share Access Signature(像百度云盘分享连接一样)
有时候不希望public能看到这个Blob而是像“提前码”一样的东西,就用这个SAS
然后再复制粘贴Blob的资源链接URL,得到错误提示❌
[图片上传中...(屏幕快照 2020-05-14 下午3.18.53.png-e3345f-1589441636249-0)]
Access Policy
像是事先设定一个规定,比如这个百度连接分享都是30天,或者15天,又或者15天的Blob不仅可以读还可以写。。。好处是可以快速删除和创建批量的Blob
自动同步到Azure☁️的小工具---AzCopy(🔍搜索即可下载)
和Explore这种GUI工具相比,它是一种CLI工具,
可以更加自动化,比如想每天晚上9:00自动备份,就不需要自己去丢Blob到Explore工具里面
2, Azure Files
Azure Files ---- local disc磁碟机 💽的感觉。比如不好上云的架构,就全部打包📦放在vm里面,然后传上去存在Azure Files下面。就像本来你只有c盘,D盘,E盘,把云☁️上的一块区域变成了F盘。
专业术语:PaaS服务的File Server或者是NAS Service
运行速度:就是读写速度差异
HDD -- General purpose V2(最大100TB,单个不超过5TB,超过需要开启large file share。定义大小只是最大容量,费用还是依照实际使用
SSD -- Premium(最大100TB,走Provision机制,vCore这些)