今天Windows Azure Live to Code的分享
今天参加了微软广州的Live to Code,晚上回公司OT写了封报告E-mail,也没让公司今天白出工资给我...
因为没有涉及到公司机密什么的,所以就拿出来跟大家分享一下。
首先要说明的是,在会议之前我对云的概念基本一头雾水,而且***居然让我们提前装好开发工具和SDK搞到我在出租屋的破网速下装到半夜,早上还发现打印好的确认函落在工资丫一大清早跑回公司拿确认函再去会议现场***居然不用确认函!!!
总的来说就是本来就不是很懂,领导临时有事让我自己去,然后前一天休息不足第二天一大早飞起来人也迷迷糊糊,所以听得不是很多也不会太懂。剩下的就是只是会后吃完饭作的简短报告,肯定没有整理过和没有深思熟虑。大学时挂了13科,也不是什么会听课的人,听讲能力也就这个样子。
如果有什么错的话也请大家一定要指出,就算是不为我个人成长,也让我对公司负责是吧。都毕业一年了,算是职业码农了,能力不足也没什么理由可以搪塞了。
在这之前会议最后主持人提到“Live to Code”说是[liv] to Code(为Code而生),我怎么老觉得应该是[laiv] to Code(现场编程)呢?因为每次Live to Code都是现场活动丫。有谁有靠谱的说法吗?
以下是E-mail全文:
Hi All,
今天参加了Windows Azure Live to Code的活动,广州站只有第一天的技术说明会,大致介绍了云和Azure相关的内容。
以下简短汇报会议内容。
最不重要的饮食方面,提供和上下午的茶点,以及中午价值268/位的高级海鲜自助餐。
活动送了两个小纪念品以及个人抽中三等奖微软无限鼠标一个(淘宝96包邮)。
关于云方面,首先说明微软在会议中对其公有云的定义,也是Azure的定位。
他们认为云是从一开始的租用服务器,到租用虚拟机,到IaaS以设备为单位租用可伸缩性的虚拟机开始为公有云服务时期。
而Azure定位为继IaaS之后,实现PaaS。
IaaS应该是Infrastructure as a Service,PaaS为Platform as a Service。
想必原有的租用网络空间或者虚拟机是很容易理解的事情。云服务也差不多是租用资源的一种服务,但其不同的是提供了平台化和伸缩性,以下用Azure进行说明。
首先是平台。Azure提供与租用服务器类似的[账号-管理]结构,用账号登陆后,进入的是一个管理界面。
传统的租用服务器或者虚拟机管理的就是已经设定好的虚拟机和服务器,只是往上面挂载站点,操作对象就是一台“机器”。
而Azure进去后操作对象是一个“平台”,需要自行在上面添加“机器”,然后往机器里面添加网站或者应用。
在Azure平台上你可以添加多个“机器”来实现多个网站,区别于在一个机器上挂载不同的网站。
这里产生了什么明显的质变呢?
首先来说,在Azure上你可以添加不同的机器,这些机器其实就是虚拟机,而这些虚拟机是可以选择不同的操作系统的,比如各个版本的Windows、Linux;
而这些操作系统上,可以根据需求挂载不同运行环境的网站或者应用,比如.NET、LAMP、Java;
这些平台上可以自由选择使用不同的数据库、存储方式,比如MySQL、SQL Database(SQL Server的Azure版本);
所有这些都是根据需求自由组合的,不具有固定虚拟机的约束性。
也就是说,Azure将原本要手动配置的或者固定的东西抽象上一层,变成可选的可伸缩的组建,而Azure只是经营这些组件的“平台”。
下面来讲,平台化后形成的伸缩性。
在平台化之后,一个有效的虚拟机被定义为一个Instance,而一个网站或者应用程序我们暂时称为一个Application,一系列Application组成的一个完整的系统就成为一个完整的Service。
以下分为Instance,Application,Service三级来讲述其伸缩性。
首先是Instance。每个Instance都必然挂载着一个Application(否则就是一台没有用的空机器),那么这个Instance就可以根据需要改变其占用的资源。
具体来说,如果发现CPU不够用,那么就可以把该Instance的CPU变成两个、三个、四个,以此类推。
同理,其内存空间、硬盘空间(虚拟的)都可以被伸缩地改变,那么根据需求不同,调整该虚拟机的性能来面向不同的需求就非常节约并有效利用资源。
如果单个Instance不足以控制了,那我们面向同一个Application,就可以动态地添加Instance,也就是添加虚拟机,来满足需求。
Azure在这里会自动地对不同的Instance实现负载均衡。
在这之上,控制不同Application的资源伸缩管理,整合后,将一个完整的Service提供给客户。
而对客户来说,这个Service只是一个统一的单独的对象,就是为他提供相关服务的一个对象,像云一样,拿出来的都是同样的东西,无论形状、大小。
当然,Azure提供了完整的监控工具来让你监测各资源的使用情况,以调整资源占用,也提供了各种API,允许你系统自行监控和调整资源。
整个平台让我们能将精力集中在系统开发和资源控制方面,而不用在理会管理上的事情,实现了更高层次的托管。
另一个Azure提供的伸缩性需要补充,就是实例是以虚拟机为单位的,这个虚拟机是可以转移的:
可以从一个地区的服务器,复制或者转移到另一个地区;
可以从Azure转移到本地,也可以从本地转移到Azure。
而存储和应用是分开的,也就是说:
你可以选择A地区的Azure部署应用,然后在B地区部署数据库;
你可以选择用自己的数据库,用Azure的应用,反过来亦然。
在此我简单距离云服务所带来的三个应用场景:
第一个场景。
我们的商城要进行一次抢购活动,会在某个时间段进行,但原本我们只有一个虚拟机。
我们可以提前一个小时甚至更早地随时生成成百上千个虚拟机,只为了这次活动,活动结束后我们就可以释放掉这些资源。
如果没有云的伸缩性,我想我们的解决方案应该是疯狂加班弄一个可以负载那么多并发的应用,然后提前投入大量的硬件资源,事后被浪费。
或者我们要去租用大量的临时服务器去解决,然后还要链接这些服务器,做均衡、做配置等。
而有了Azure(或者类似的云服务),我们只需添加服务器镜像,就是在管理界面活动前后点几下鼠标而已。
第二个场景。
我们的项目面临着不可控制的需求增长,然后我们可以利用云,随着增长而添加虚拟机。
到后来我们的需求减少了,我们可以简单地减少虚拟机。
我想,这种伸缩性+平台化会比想办法一台台去租用服务器,一台台去配置,然后冗余了等过期才能退回去强。
第三个场景。
我们的一个客户的网站本在国内,由我们负责开发和管理。
客户的业务有一天要向国外扩张,则需要在国外设立一个镜像。
如果是以前,就是在国外找一个服务商,然后把镜像放上去。
有了Azure的话,直接可以部署到当地的云服务器即可。
这些场景已经很明显地解释了情况:
这些需求我们本来就有了传统的解决方案;
Azure(或者云)提供了更便利、更高效、更可选的解决方案。
所以剩下的就是成本问题了,估计也会是公司最终考虑的最重要因素。
以下说明成本问题。
首先这是会后这两个小时总结和写的,中途还逛了下亚马逊的蓝牙耳机,所以不可能细致地分析具体成本,我也没有权限去得知现在的相关的公司成本。
所以,这里我暂时只作简短的分析。
首先在成本上来讲,云服务(指Azure和相关公有云,以下同)所做的就像传统的技术革命一样,用大量的新工具、更高的产量来代替传统劳动。
体现在这里的就是,用信息化管理平台替代很多人为操作(租借、搬运、管理服务器),以及用集中化量产来降低成本(蟑螂生孩子一样生产云服务器集群和扩充数据中心)。
也就是云的使用成本比传统成本低很多,而起生产成本极可能依着产量的上升而降得比传统低,甚至可能已经比传统低了。
另一个最大的影响就是市场,但云是一个巨大的竞争市场,有充分的市场竞争,不太可能会形成垄断经营,从而不会有过分的销售价。
总体对公司未来来说,云极有可能是更低成本的解决方案。
但我觉得,这不会造成公司成本下降,反而可能导致成本上升。
因为这只导致了运营成本的下降,但大家运营成本都下降了,竞争也就加大了,所以大家的生产投入必定加大。
也就是我们需要更少的运维,需要更多的开发人员,这跟从打洞洞到敲键盘、从写汇编到写高级语言类似,因为市场需求会像脱缰的剩女而狂奔。
而未来投入的每一分钱,都会更多地为了创造新价值,而不是维护原有价值。
当然我个人作为开发人员并不乐观,因为这曾经就是造成开发人员如此命贱的原因,我对市场持乐观态度,对无产阶级前景持悲观态度。
另外,就这次的自助餐而言,相对于Microsoft其他只有茶点的苦逼活动,个人觉得微软在Azure中国上投入应该相对大和有诚意的。
以上,作为今天Azure Live to Code的简短报告,如果各位同事有兴趣或者有需要,我再进行详细回答或者整理出正式文档。
通讯录没太多人,请自行转发给有需要的同事。
Regards,
Indream Luo
今天Windows Azure Live to Code的分享的更多相关文章
- How to build windows azure PowerShell Source Code
Download any version source code of Windows Azure Powershell from https://github.com/Azure/azure-sdk ...
- 使用CSDN Code将网站部署到Windows Azure Website上
在云计算时代,开发和部署应该是完全统一和集成的.在海外,开发者可以用github来管理他们的代码,并且直接部署到Windows Azure上.随着Windows Azure在国内的发布,我们发现,其实 ...
- Windows Azure Platform (一) 云计算的出现
<Windows Azure Platform 系列文章目录> 最近的一年一直致力于微软云计算技术的推广和研究,对于微软的云计算平台Windows Azure Platform有一定的了解 ...
- 网站部署到Windows Azure Website上
使用CSDN Code将网站部署到Windows Azure Website上 在云计算时代,开发和部署应该是完全统一和集成的.在海外,开发者可以用github来管理他们的代码,并且直接部署到Wind ...
- 【课程分享】ASP.NET MVC5&微信公众平台整合开发实战(响应式布局、JQuery Mobile,Windows Azure、微信核心开发)
对这个课程有兴趣的,能够联系我QQ2748165793 基础知识储备 ASP.NET MVC 5基础(6讲) 第一讲-初识ASP.NET MVC并搭建整合开发环境 第二讲-深入MVC开发模式 第三讲- ...
- [SDK2.2]Windows Azure Storage (15) 使用WCF服务,将本地图片上传至Azure Storage (上) 服务器端代码
<Windows Azure Platform 系列文章目录> 这几天工作上的内容,把项目文件和源代码拿出来给大家分享下. 源代码下载:Part1 Part2 Part3 我们在写WEB服 ...
- Windows Azure 初体验
最近看到windows azure 在做活动,只需花一块钱就可以体验一个月的windows azure. 于是,我就注册了一个账号也尝试一把云时代,传送门. 注册很简单的,成功后可以看到这个界面. 然 ...
- 简化 Web 应用程序与 Windows Azure Active Directory、ASP.NET 和 Visual Studio 的集成
大家好! 今天的博文深入讨论我们今天推出的开发人员工具和框架中的一些新功能.我们通过与 ASP.NET 和 Visual Studio 团队合作开发了一些重大的增强功能,让开发人员能够轻松使用 Win ...
- Windows Azure Storage (6) Windows Azure Storage之Table
<Windows Azure Platform 系列文章目录> 最近想了想,还是有必要把Windows Azure Table Storage 给说清楚. 1.概念 Windows Azu ...
随机推荐
- Win10商店东方财富网 UWP版更新,支持平板,PC,手机
东方财富股份有限公司 近日向Win10商店提交了东方财富网V4.1版,这次为广大Win10平台用户带来了期待已久的桌面版本,可谓是良心厂商,值得鼓励和支持.4.1主要更新: 1. 支持桌面Window ...
- 2003服务器搭建vpn
先说下为什么会有本文,公司的git突然被防火墙屏蔽了,有些同事无奈用4g网去提交,我比较穷,1g的小水管hold不住,于是我想着用vpn.国内封杀的比较严重,免费的更是少,找朋友要了一个3小时试用的, ...
- 安装hadoop+zookeeper ha
安装hadoop+zookeeper ha 前期工作配置好网络和主机名和关闭防火墙 chkconfig iptables off //关闭防火墙 1.安装好java并配置好相关变量 (/etc/pro ...
- 主机信息收集工具DMitry
主机信息收集工具DMitry DMitry是Kali Linux内置的一款信息收集工具.它的目标主要是Web类主机.它不仅通过主动查询.端口扫描方式,还借助第三方网站和搜索引擎获取信息. 它搜集的 ...
- DelphiXE10.1项目中增加预编译的方法
操作: 菜单选择Proceject->Options->Delphi Compilerz在Conditional Defines(第一行)中添加预编译标识.例:VCL代码:uses{$IF ...
- 第二天ci项目规划 数据库设计
第二天ci项目规划 数据库设计 商品 + 用户 + 订单 数据库设计思想和方法 关于商品品牌 ,分类 ,属性 如何表示 用一个字段 还是再设计一张表 品牌和商品 是一种信息 还是两种信息 一张表一般只 ...
- checkBox 开关按钮
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- Set和存储顺序
set(interface) 存入Set的每个元素必须是唯一的,因为Set不保存重复的元素.加入Set的元素必须定义 equal()方法以确保对象的唯一性.Set和Collection有完全一样的接口 ...
- 【尺取】POJ 3320
POJ 3320 Jessica's Reading Problem 题意:一本书P页,第i页有ai知识点,问你至少从某一处开始连续要翻多少页才能复习完所有的知识点,不能跨页翻. 思路:<挑战程 ...
- iPhone开发基础教程_第二章
1.各个子文件夹的作用 Classes: 编写的大多代码都保存在这里,其中包括所有的Objective-C类,可以在Classes文件夹下创建一些子 ...