我非常希望我的上一篇文章让你对这篇文章感到兴奋!
不久之前,我的一位朋友和我正在讨论云计算,SaaS,IaaS和PaaS。
我们都有一个共同的重要因素,就是我们在IT行业一起开始了我们的职业生涯,并成为了我们指定领域的IT架构师/解决方案架构师。
所以他问我一个问题,关于我对PaaS的想法,以及它会如何影响传统的软件开发/部署实践?
这使我的心思一震。然后我想到的是微软Azure,Cloud Foundry,顺便说一下,那时我已经使用UhuruCloud Trial PaaS。
然后我介绍UhuruCloud给他。
他的第一个问题是,它仅适用于.NET应用程序吗?然后,我回答说,不是,它的基于Windows和Linux的应用程序托管MSSQL和MySQL数据库平台+ NoSQL数据库,如MongoDB和Redis等。
他沉默了一会儿。然后他接着说, 我们接着提到,Uhuru还是不是在测试阶段? 我回答他是的,他是对的,我也重复告诉了他提到的,我在这个过程中最初遇见的一些错误。
作为架构师,我们接下来得出的结论是,世界上没有任何软件是无缺陷的。
最后,他提到他计划去看看Azure。
然后,我告诉他可以尝试Azure,但是,在Uhuru PaaS部署.NET应用的时间比Azure少了很多。
然后他让我展示将.NET DB应用程序移植到云端是多么容易。
当我写博客的时候,我告诉他,我会在演讲的时候为你演示。
他期待着。
现在到这篇文章
[注意:如果您想以原始尺寸查看图像,只需单击图像即可查看相同的图像]
系统要求
基于Windows 7开发工作站的Visual Studio 2010 Professional或更高版本
MMC插件x86 / x64取决于您的操作系统架构从Uhuru软件网站
Visual Studio插件x86 / x64取决于您的Visual Studio版本
示例应用程序,说dotNETTestApp-withDB
最后!最重要的是在这里获得一个Uhuru试用PaaS帐户
http://www.surveygizmo.com/s3/796977/Uhuru-beta-registration
上面的链接在下面给出
一旦你安装了以上让我们开始!
在继续之前,我想解释下Uhuru公共PaaS和私人PaaS的架构是如何设计的。
下面是怎样设计的Uhuru公共PaaS
下面是怎样设计的Uhuru私人PaaS
[下一步]
将示例应用程序解压缩到您选择的文件夹
1)打开dotNETTestApp-withDB文件夹 并双击DatabaseTestApp Visual C#项目
2)现在在Visual Studio 2010中,您应该看到如下所示的App和Web.config文件
3)确保我们确实拥有Cloud Manager设置 - 点击查看菜单 - >云管理器
4)我们现在要创建一个新的服务,使我们的示例应用程序连接到Uhuru PaaS
在我们进入之前,我想在示例应用程序中展示用于创建数据库表的示例代码
//这将创建一个名为test的表,并将分别包含一系列20行的随机GUID。这个应用程序将有一个GridView来显示数据和一个按钮来填充它。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Configuration;
namespace DatabaseTestApp
{
public partial class_default:System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
}
protected void Button1_Click(object sender,EventArgs e)
{
string connString = WebConfigurationManager.AppSettings [“dbConnectionString”];
string tableName =“test”+ Guid.NewGuid()。ToString()。Replace(“ - ”,“”);
SqlConnection conn = new SqlConnection(connString);
conn.Open();
尝试
{
SqlCommand command = conn.CreateCommand();
command.CommandText =“Create table”+ tableName +“(id smallint,description varchar(50))”;
command.ExecuteNonQuery();
for(int i = 0; i <20; i ++)
{
command.CommandText =“insert into”+ tableName +“(id,description)values(”+ i +“,\'”+ Guid.NewGuid()。ToString()+“\')”;
command.ExecuteNonQuery();
}
command.CommandText =“select * from”+ tableName;
SqlDataReader reader = command.ExecuteReader();
GridView1.DataSource = reader;
GridView1.DataBind();
}
catch(Exception ex)
{
Response.Write(“哎呀,出错了:”+ ex.ToString());
}
finally
{
conn.Close();
}
}
}
}
现在让我们浏览一下Web.config文件
<?xml version =“1.0”?>
<! -
有关如何配置ASP.NET应用程序的更多信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
- >
<configuration>
<system.web>
<compilation debug =“true”targetFramework =“4.0”/>
</system.web>
<appSettings>
<add key =“dbConnectionString”value =“{mssql-2008#databaseTestAppDb}”/>
</的appSettings>
</configuration>
在<add key>部分是非常重要的,因为它定义了服务名称到我们将我们的应用程序部署到Uhuru的PaaS上。
确保您使用相同的名称,否则应用程序将无法成功部署。
现在开始有趣的东西吧!
[在Cloud Manager中定义Uhuru Cloud凭据]
1)在Visual Studio中 - >云管理器窗口 - >点击连接到目标
2)添加您的由Uhuru软件发送的Uhuru试用PaaS凭据
3)点击添加一次完成
4)你现在应该看到你的Uhuru证书填充
5)点击云管理器上的连接按钮,并确保状态提到当前目标:您的Uhuru证书
6)单击服务按钮 - >右键单击并选择添加新服务
7)现在为了简单起见,我将选择与Web.config文件中定义的相同的服务名称。对于服务类型 - >选择MSSQL并单击创建
8)现在你可以看到正在创建的服务
9)现在我们需要验证一些事情,然后再继续部署
如截图所示,我们需要确保在部署之前设置Web应用程序的以下属性
1)Deployable :True
2) Services :mssql#DatabaseTestApp
3)URL:anilapp.uhurucloud.net <您的自定义URL.uhurucloud.net>
最后在解决方案资源管理器 - >右键单击该项目,然后选择生成
验证构建是否成功。
现在是时候把App推到Uhuru PaaS上了
右键单击项目,然后选择“ 生成并推送”
现在让Uhuru Cloud Manager施展魔力吧!
现在成功了!耶!
现在点击Cloud Manager中的后退按钮
你可以看到我们的应用程序已经部署,但没有启动
要启动应用程序 - >右键单击AppName下,然后选择开始选择的应用程序
你现在可以看到该应用程序已经开始
现在让我们点击网址部分,在您喜欢的网页浏览器中查看我们的应用程序
真棒
!
现在让我们点击按钮插入示例数据
恭喜!
我们只是部署了一个数据库启用应用程序的Uhuru PaaS没有任何大惊小怪!
一旦你完成了结果,你可以继续前进,停止应用程序,通过右键单击所选的应用程序,并 选择停止选择的应用程序
[结论]
请注意,这仍然在测试版!我遇到了一些错误,但如果你按照这个博客,你应该能够部署并且没有任何问题!
Uhuru PaaS是为谁和不适用谁?
Uhuru PaaS是为谁? | Uhuru PaaS不适用! |
---|---|
希望从Windows和Linux构建和部署跨平台应用程序到云的应用程序开发人员 | 仅适用于.NET和SQL Server商店 |
对于需要使用最少配置和更少IT管理对应用程序进行测试和配置到生产服务器的测试和开发环境 | |
通过指定需要部署的实例的数量,可以部署在具有自动故障转移和虚拟机/自我修复功能的高度可扩展环境中。 | |
适合公共和私有云计划 |