标签: cloud

云托管与托管主机

似乎无法避免关于云计算的炒作,但实际过渡到这个新平台需要经过多次讨论......

从理论的角度来看,可以说如下:

云:

  • 架构变更(你可能没有安装任何你想要的东西)
  • 学习曲线(因为上述)
  • 没有故障转移(因为故障被处理)
  • 粒度成本(每Ghz或Gbyte支付)
  • 瞬时可扩展性(不是那么即时,但至少是透明的?)?较低的延迟

管理:

  • 故障转移(取决于提供商)
  • 手动扩展(需要维护)
  • 静态成本(您支付包裹,无论您是否完全使用它)
  • 降低成本(仅适用于入门套餐)
  • 数据所有权(你这样做)
  • 自由(你呢)?较低的延迟(取决于提供商)

假设以上是正确的; 然而,逻辑位置是"它取决于..."..在应用程序本身.现在出现了一个隐藏的问题:你如何描述你的j2ee应用程序,以确定它是否是云的候选者; 知道它是

  • 服务/功能的数量相当大的应用程序(即; servlet)
  • 依赖于复杂的数据库(即数字表)
  • 不需要太多的媒体资源,主要是基于文本的

java cloud hosting

11
推荐指数
1
解决办法
2202
查看次数

Amazon EC2 AMI预先配置了Django Stack

什么是配置最好的EC2 AMI

  • Django Stack
  • MySql已安装并配置
  • Apache或任何其他服务器

搜索后我发现只有一个bitniami djangostack.有没有人尝试过.还有其他选择吗?

谢谢

python cloud django web-services amazon-ec2

11
推荐指数
1
解决办法
4127
查看次数

修复了Windows EC2计算机上的MAC地址

在我们拥有它的Windows机器上,可以将MAC地址更改为预先指定的值.但是可以将EC2 Windows机器上的MAC地址设置为预先指定的值吗?

这是问题所在:

我们提供运行Amazon EC2的虚拟实验室/培训/评估环境.客户通常希望在云中运行许可软件(他们拥有!),但许可组件需要固定的MAC地址才能存在.

但是,如果我们调整MAC地址,尤其是在重启或机器快照之后,还不清楚EC2会发生什么.我看到的一个大问题是,如果我们拍摄具有固定MAC的机器的快照,然后启动它的多个副本,那么理论上每个副本将具有相同的MAC地址.显然是一个路由问题.

但是,目前还不清楚会发生什么,或者底层虚拟化堆栈是否只是在每次启动机器时生成随机MAC.

当然,如果你有想法,我很想听听其他解决方法.

cloud amazon-ec2 windows-server-2008 amazon-web-services

11
推荐指数
2
解决办法
1万
查看次数

使用JavaScript的Cloud API(亚马逊,Azure)

我正在研究直接从客户端JavaScript使用一些云存储的可能性.但是,我遇到了两个问题:

  1. 安全性 - 体系结构通常基于每个客户端构建,因此有一个API密钥(例如).这是有问题的,因为我需要每一个安全我的用户.我无法向所有用户提供相同的API密钥.

  2. 跨域AJAX.浏览器可以使用HTTP标头来执行跨域请求,但这意味着我必须能够在云端设置它们.但是,我需要的唯一工作就是能够添加自定义HTTP响应头:Access-Control-Allow-Origin:otherdomain.com.

我的场景涉及来自JS客户端的大量简单队列消息,我想我会使用云来摆脱来自我的主要托管服务提供商的这种流量.Windows Azure有这个队列服务部分,它似乎非常接近我需要的,除了我不知道这些问题是否可以解决.

有什么想法吗?在我看来,云服务的JavaScript客户端在不久的将来是不可避免的场景.

那么,是否有一些带有REST API的云存储可以管理客户端的身份验证,而不会为其提供API密钥?

javascript cloud api azure amazon-web-services

11
推荐指数
2
解决办法
2210
查看次数

如何跨多个节点在云(AWS,heroku等)中建立时钟同步?

我想在云中运行一个庞大的节点集群(AWS,Heroku,或者可能是自我管理的VMS),其时钟必须与预定义的容差同步.我正在寻找可能200毫秒的容差.这意味着如果我有250个节点,250个节点中任何一个节点之间的最大时钟差异不应超过200毫秒.我真的不关心世界的实际日期/时间.解决方案必须是容错的,并且不需要依赖任何一个系统的时钟精度 - 实际上,很可能没有一个时钟会非常准确.

要求足够强大,如果由于任何原因确定时钟同步对于任何特定节点不可靠,我宁愿由于时钟失步而从集群中丢弃节点 - 所以在任何可疑的故障时,我都会喜欢能够执行该节点的某种类型的受控关闭.

我喜欢使用类似NTP的东西,但根据NTP 已知问题twiki:

NTP不是为在虚拟机内部运行而设计的.它需要一个高分辨率的系统时钟,响应时间到时钟中断,并以高精度提供服务.没有已知的虚拟机能够满足这些要求.

虽然然后同样的twiki描述了解决这种情况的各种方法(例如在主机操作系统上运行ntp),但我不相信我能够使用AWS或者horoku来修改环境以符合解决方法.

即使我没有在VM中运行,一位拥有多年运行ntp经验的值得信赖的运营经理告诉我,由于每隔一段时间内本地时钟漂移不良,ntp可以并且会丢失同步(或者说得失时间).它不会经常发生,但确实会发生,并且随着您增加机器,您会增加发生这种情况的机会.AFAIK,检测你的距离需要停止ntpd,运行查询模式命令,然后重新启动它,并且可能需要很长时间才能得到答案.

总结一下 - 我需要一个时钟同步,其主要目标如下:

  • 在运营控制有限的VM中运行良好(即:"云服务提供商")
  • 所有参与者之间的集群中的时间容差约为200ms
  • 能够检测坏节点并以主动方式对其作出反应
  • 容错(无单点故障)
  • 可扩展(当你添加更多节点时,这个东西不能倒下 - 绝对避免n ^ 2)
  • 可以支持数百个节点
  • 任何节点都不应被视为具有优于任何其他节点的时间概念
  • 整个集群可以漂移(在合理范围内) - 只要它一致漂移即可

从描述来看,似乎伯克利算法可能是正确的选择,但是它已经实现了吗?

很高兴有:

  • 最小配置(节点自动注册参与) - 对于启动新节点很重要
  • HTML仪表板或(REST?)API,用于报告参与时钟同步的节点以及相对时间偏移量
  • 漂亮的图表?

cloud clock ntp clock-synchronization

11
推荐指数
1
解决办法
6689
查看次数

构建云的Erlang应用程序

我正在开发一个将部署到AWS的套接字服务器,到目前为止,我们已经按照与Erlang in Practice中的示例项目类似的结构设置了基本的OTP应用程序,但我们希望避免使用全局消息路由器,因为这不会很好地扩展.

通过分布式应用程序的OTP设计指南以及" 了解你一些Erlang"中的相应章节(Distribunomicon分布式OTP),看来内置的分布式应用程序机制适用于已知主机名和IP的内部部署解决方案.群集配置是提前确定的,而在我们预期的设置中,应用程序需要动态地上下扩展,并且节点的IP地址将是随机的.

对不起,这是一个冗长的构建,我的问题是,是否有部署到云的分布式Erlang应用程序的设计指南,需要处理所有动态扩展?

谢谢,

cloud erlang distributed amazon-ec2 amazon-web-services

11
推荐指数
2
解决办法
1267
查看次数

在多实例Web环境中防止竞争条件的最佳方法?

假设您在多实例环境中的ASP.NET MVC中有一个Action,它看起来像这样*:

public void AddLolCat(int userId)
{
    var user = _Db.Users.ById(userId);

    user.LolCats.Add( new LolCat() );

    user.LolCatCount = user.LolCats.Count();

    _Db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

当用户反复按下按钮或刷新时,将发生竞争条件,使得LolCatCount可能与LolCats的数量不相似.

解决这些问题的常用方法是什么?您可以在JavaScript中修复客户端,但这可能并不总是可行的.即当页面刷新时发生某些事情,或者因为有人在Fi​​ddler中搞砸了.

  • 我想你必须制作某种基于网络的锁?
  • 你真的不得不忍受每次通话的额外延迟吗?
  • 你能告诉一个Action它只允许每个用户执行一次吗?
  • 是否有可以使用的常见模式?像过滤器或属性?
  • 你早点回来,还是真的锁定了这个过程?
  • 当你提前返回时,我应该返回一个"已建立的"响应/响应代码吗?
  • 使用锁时,如何使用(半)长时间运行的进程防止线程不足?

*只是为了简洁而展示的一个愚蠢的例子.现实世界的例子要复杂得多.

c# asp.net cloud azure

11
推荐指数
1
解决办法
3559
查看次数

在向ManagedProcess发送消息时,Cloud Haskell永远挂起

问题

你好!我在Cloud Haskell中编写了一个简单的Server-Worker程序.问题是,当我尝试创建时ManagedProcess,在服务器发送步骤之后,我的示例即使在使用时也会永久挂起callTimeout(在100毫秒后应该会中断).代码很简单,但我发现它没有任何问题.

我也在邮件列表上发布了这个问题,但就我所知的SO社区而言,我在这里可以更快地得到答案.如果我从邮件列表中得到答案,我也会在这里发帖.

源代码

Worker.hs:

{-# LANGUAGE DeriveDataTypeable        #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE DeriveGeneric             #-}
{-# LANGUAGE TemplateHaskell           #-}

module Main where

import Network.Transport     (EndPointAddress(EndPointAddress))
import Control.Distributed.Process hiding (call)
import Control.Distributed.Process.Platform hiding (__remoteTable)
import Control.Distributed.Process.Platform.Async
import Control.Distributed.Process.Platform.ManagedProcess
import Control.Distributed.Process.Platform.Time
import Control.Distributed.Process.Platform.Timer (sleep)
import Control.Distributed.Process.Closure (mkClosure, remotable)
import Network.Transport.TCP (createTransport, defaultTCPParameters)
import Control.Distributed.Process.Node hiding (call)
import Control.Concurrent (threadDelay)
import GHC.Generics (Generic)
import Data.Binary (Binary) 
import Data.Typeable (Typeable)
import Data.ByteString.Char8 (pack)
import System.Environment …
Run Code Online (Sandbox Code Playgroud)

cloud haskell distributed-computing cloud-haskell

11
推荐指数
1
解决办法
441
查看次数

如何/在何处存储云应用程序的临时文件和日志?

我正在开发一个具有相当复杂架构的Python/MySQL云应用程序.操作此系统(当前)生成临时文件(纯文本,YAML)和日志文件,我打算将它们存储在文件系统上.

但是,我们的预期云运营商仅为应用程序提供临时的非持久性文件系统.这意味着存储临时文件和日志文件的初始方法将不起作用.

必须有一个标准的方法来解决这个我不知道的问题.我不想像S3那样使用对象存储,因为它会扩展当前的堆栈并增加复杂性.但我可以在具有相同提供程序的其他服务器上安装其他专用应用程序(如果有任何用于此目的的内容).唯一的限制是它必须是PHP,Python,MySQL.

一般性问题:当没有可用的永久文件系统时,存储文件的标准方法是什么?

对于我的具体案例:是否有任何使用Python和/或MySQL的解决方案,它实现简单快捷?这是Redis的用例吗?

python mysql cloud storage redis

11
推荐指数
1
解决办法
582
查看次数

是否管理/自动更新Amazon Lightsail实例?

我一直在研究Amazon Lightsail,但有一件事我无法找到任何信息.

实例是否自动管理和更新?特别是,我想到OS/Web服务器安全更新.

使用EC2,我必须不时登录以执行操作系统升级,更新和安装安全补丁.这对于EC2来说很好,但我现在正在设置一个VPS,我基本上可以安装和忘记,至少在系统方面.

如果这是在错误的网站上,请道歉,但毕竟这里有一个标签.

cloud vps amazon-web-services amazon-lightsail

11
推荐指数
1
解决办法
1994
查看次数