2010-08-31 32 views
8

He leído muchos artículos sobre Azure y .NET Service Bus. Creo que entiendo la parte técnica, pero en este momento me falta el punto principal: algunos "estudios de casos" que deberían explicarme qué tipo de proyectos deberían trasladarse a la nube. Supongamos que estoy comenzando un nuevo proyecto. ¿Cómo puedo decidir si mi proyecto se ajusta a la plataforma Azure?¿Por qué y cuándo necesito Azure?

¿Cuáles son los escenarios más comunes para Azure? ¿Es para aplicaciones B2C en todo el mundo, aplicaciones B2C locales o también para aplicaciones B2B "internas"? ¿Cómo puedo decidir si Azure global es mejor que la infraestructura local o el proveedor de alojamiento de servidor local? ¿Cuáles son los pros y los contras de mudarse a Azure en comparación con otros escenarios?

También estoy interesado en la experiencia real. ¿Implementaste algún proyecto real en Azure? ¿Cuál es tu experiencia? ¿Azure ya está maduro? Muchas tecnologías necesitan varias (al menos 3) versiones antes de que sean utilizables. ¿Es lo mismo con Azure?

Mi última preocupación es la seguridad y la confianza. ¿Confías en la plataforma Azure? Leí un artículo que mostraba algunas transacciones bancarias hipotéticas sobre Azure con el uso del servicio de SQL Azure. ¿Es realmente algo que se puede hacer de forma segura en Azure?

Hay post similar pero no encontré respuestas allí.

Editar:

leí este article hoy. También explica algunas de mis preguntas.

+0

esta necesidad de estar en wiki :) –

+0

@Andrew: no tengo idea de cómo hacer esta wiki ahora. –

Respuesta

7

Uno de los mejores escenarios para Azure es una aplicación para la que está esperando para el crecimiento viral. Sí, es casi tonto tener tales expectativas, pero hay una cierta clase de aplicaciones, especialmente aplicaciones "sociales", que solo vivirán si experimentan un crecimiento viral.

Es extremadamente difícil planificar su propia infraestructura de modo que se pueda adaptar a ese tipo de crecimiento sin tener periodos prolongados de interrupción o al menos desaceleraciones que amenacen la lealtad. Siempre te quedarás atrás, reaccionando a la escasez de recursos a menos que estés constantemente supliendo la necesidad esperada, en cuyo caso estás usando potencialmente tu capital y acortando tu pista.

Azure soluciona esos problemas cuidadosamente. Puede agregar recursos cuando los necesite. Puede responder a los picos de uso con unos minutos de anticipación y agregar nuevos recursos a través de la consola de administración de Azure.

Creo que hay muchos otros escenarios para los que Azure es una excelente combinación, pero el que he descrito es bastante convincente, creo.

+3

Solo para agregar, una muestra grande que lo hace más cierto es simplemente cualquier tipo de crecimiento cíclico (viral incluido). Si tiene períodos del año en que su carga de trabajo es 4 veces el resto del año, tendrá que comprar recursos para cumplir con esa carga máxima, sabiendo que no se utilizarán durante gran parte del año. Azure le brinda la capacidad de escalar hacia arriba/abajo con bastante rapidez para manejar esa carga, manteniendo el "tiempo de respuesta" mientras mantiene los costos bajos. Si expandes esa lógica a todo tu software, los costos de TI pasan de CapEx a OpEx ... lo que hace que tu modelo de negocio sea mucho más flexible y seguro –

+0

@Taylor, gracias por la elaboración. Es exactamente correcto Pagar por el hardware es un desembolso de capital absolutamente enorme para la mayoría de las empresas. Cuando suma los costos de co-lo, blades de servidor, matrices de discos, dispositivos de respaldo, medios de respaldo, contratos de servicio de hardware y tiempo de administración de sistemas, obtiene un gran cheque antiguo. Lo peor es que, si bien debe ampliarse para manejar su demanda pico, una buena parte del tiempo de ejecución real estará inactivo o casi inactivo. Que desperdicio. Los modelos de pago instantáneo y de pago instantáneo ofrecidos por Azure o AppEngine de Google se vuelven muy atractivos muy rápidamente. –

1

Para mí, es en gran medida un análisis de costo-beneficio. Determine cuánto le costará soportar toda la infraestructura internamente frente a Azure.

La seguridad, obviamente, es el mayor punto de fricción.

No puedo hablar con la seguridad personalmente, ya que no he tenido que preocuparme demasiado por ella, pero he aquí un par de recursos sobre la seguridad azul que encontré.

http://azuresecurity.codeplex.com

http://www.windowsecurity.com/articles/Microsoft-Azure-Security-Cloud.html

2

Después de haber aspirado de Azur kool aid firehose durante los últimos días, puedo responder un par de sus puntos.

¿Es seguro?

Sí. Es físicamente seguro y seguro de datos. Los datos que almacena en él no se colocan en una unidad, sino que están salpicados en muchos. Su mayor riesgo es de Ex empleado disgustado, que está realmente bajo su control.

¿Es adecuado para usted?

La respuesta a esto es muy abierta. Convierta la pregunta en una pregunta: es mejor que pregunte: ¿Necesita alguno de los beneficios de Azure? La respuesta a esa pregunta podría ser mucho más clara que su contraparte. Hay algunos benefits to Azure (principalmente basados ​​en la escalabilidad, facilidad de mantenimiento, comportamiento estilo CDN y eliminación del costo de la infraestructura de TI interna), pero todavía tiene sus limitaciones y no es adecuado para todos los propósitos y en algunos casos no le dará ningún beneficio en absoluto .

2

El beneficio principal de Azure es que le permite escalar una aplicación o servicio hacia arriba o hacia abajo según lo requieran sus necesidades sin tener que invertir en costos a largo plazo como hardware o personal para mantener el hardware.

Si implementa la misma aplicación utilizando su propia infraestructura, tiene muchos costos fijos por adelantado, independientemente de la cantidad de valor o utilidad que obtenga de la aplicación. Por ejemplo, tiene que comprar, instalar, configurar y mantener el hardware suficiente para manejar su carga pico anticipada, incluso si su carga pico ocurre solo una vez al día o una vez al mes. ¿Qué sucede si subestimes tu carga máxima? Su servicio disminuye hasta que pueda construir más hardware. ¿Qué sucede si sobreestimas tu carga máxima? Tiene hardware sin usar sentado, lo que significa que ha gastado dinero que no le está funcionando.

Sí, Azure puede usarse para escenarios B2C, como ejecutar un sitio web o servicio orientado al consumidor. B2C necesita poder escalar rápidamente (en minutos u horas) para manejar la captación viral de boca en boca. ¿Puedes traer nuevo hardware de servidor a las instalaciones y tenerlo en funcionamiento en media hora? Probablemente no.

Sí, Azure se puede usar para escenarios B2B, como ejecutar una API de servicio para el inventario o la administración de la cadena de suministro. Puede configurar su aplicación Azure como una isla autosuficiente o, si utiliza el Bus de servicio, puede vincularla a su red corporativa para servicios de back-end.

Azure es particularmente útil para manejar el procesamiento de "sobretensión", como la realización de análisis de datos en grandes cantidades de datos. Acceda a varias instancias de Azure para revisar los datos y luego ciérrelos todos cuando vaya a casa al final del día. Tiene el beneficio de tener cientos o miles de nodos de computación disponibles para usted, pero solo los paga cuando los usa.

Aunque siempre les presiono para que hagan más, debo dar crédito al equipo de la plataforma Azure por no asumir demasiado al mismo tiempo. Azure ofrece un menú bastante pequeño de servicios en este momento (almacenamiento de blobs, almacenamiento de tablas, servicio de cola), pero esos servicios funcionan bien y se adaptan bien.

¿Azure es madura? En el sentido de que los servicios ofrecidos son totalmente cocidos y confiables, sí, diría que Azure está maduro. Si quiere decir madurar en el sentido de que todos los servicios posibles que podría desear están incorporados, no, Azure aún está ampliando la gama de sus ofertas de servicios.

Existen escenarios de aplicaciones y servicios para los cuales Azure probablemente no es la mejor opción por ahora.No sé si los centros de datos de Azure son adecuados para el procesamiento del mercado financiero en tiempo real, por ejemplo. Azure es adecuado para el análisis de datos casi en tiempo real y, sin duda, para el análisis de riesgos al final del día. Azure no implementa la implementación automática y la ampliación para manejar cargas dinámicas o raspado máximo: puede administrarlo manualmente o escribir su propio administrador de instancias usando la API de servicio. La estructura de precios de Azure está orientada a las aplicaciones empresariales: es excesivo y no rentable para alojar un sitio web o blog personal, a menos que dicho sitio tenga un tráfico bastante alto y genere ingresos.

Divulgación: soy un empleado de Microsoft y trabajo en herramientas para Windows Azure.

8

[Editar]

Simplemente descubierto este de 10 meses después de la mía. Bueno, las cosas cambian. Pasamos de Microsoft a Ruby, Coffeescript, Node.js y un poco de Scala y nunca me arrepentí. Heroku y MongoHQ demostraron ser mucho más aptos para lo que estamos haciendo.

[/ editar]

Tengo dos sitios de cara al consumidor en la beta que se ejecuta en Azure y estado jugando con él desde temprana beta.

Los Pros:

  • Azure es increíblemente estable. No tuvimos un solo incidente aunque procesamos muchos datos.
  • El SDK es completo, bien documentado e integrado en el IDE.
  • tiempo de actividad superior a la SLA
  • Fast - Azure es muy, muy rápido en todos los aspectos
  • encaja muy bien en el flujo de trabajo de desarrollo
  • empleados y MVP muy comprometido en Microsoft. Usted recibe ayuda cuando la necesita.
  • Ahorramos enormemente en los costos de administración. P.ej. no necesitamos uno ;-)
  • Fácil de escalar. Este fue el mayor punto de venta. No hay necesidad de inversión inicial, y una vez que obtengamos la entrevista de CNN, haremos un par de papeles más por uno o dos días.
  • Sistema de base de datos de carga de clase empresarial con SQL Azure. Transmitir el código es una cuestión de horas como máximo.

Los contras:

  • Sin memoria caché distribuida - hay soluciones memcached por ahí, pero se siente como un truco
  • costos iniciales altos cuando se mira desde un escenario de aplicación web (por ejemplo, el costo ha una influencia indebida en la arquitectura de su aplicación)
  • Costo muy elevado de la solución NoSQL y cola. Hay una tarifa de transacción involucrada que hace que algunos escenarios sean muy complicados de lograr.
  • No hay información de facturación en tiempo real (o semi en tiempo real) a través de una API.
  • La interfaz de administración es una desgracia para Microsoft.
  • Microsoft se mueve lentamente/les lleva mucho tiempo crear nuevas funciones.
  • Estás muy bloqueado ya que Azure es un proveedor PaaS vs Amazon (IaaS). Esto cambiará una vez que las funciones de VM estén disponibles.
  • Se necesita muy larga (~ 10 - 30 min) para hacer girar una nueva instancia
  • La falta de un mapa/Reducir marco

Ahora algunos de los contras son serios en este momento pero no deben impedir que se de elegir la plataforma Azure ya que la mayoría de ellos probablemente se resolverán en PDC.

Creo que Azure funciona para todos los escenarios que mencionaste, quizás con la excepción de que debido a la falta de almacenamiento en caché se encontrará con problemas en el extremo superior de las aplicaciones web por ahora.

Definitivamente confío en Azure más de lo que confío en mi banco y un montón de incidentes me han demostrado en los últimos años. Al final, se trata de que es mucho más fácil para Microsoft contratar y concentrar a las personas de seguridad de primera clase que a las compañías que no son de TI. Y tienen mucho más que perder.

0

La pregunta se basa en premisas falsas. Los proyectos no necesitan para moverse a la nube. Lo que ofrece la nube, como se menciona en las respuestas anteriores, es una plataforma para nuevas ideas que no está limitada por la escalabilidad. El beneficio clave de la nube es que todos los principales costos relacionados con el crecimiento son operativos, mientras que los "proyectos" tradicionales necesitan un gasto de capital para crecer y, por lo tanto, se basan en un modelo de crecimiento al estilo de VC financiero anterior a la crisis.

El punto es que cuando aparecen nuevas ideas, y si se vuelven populares, y si están alojadas en la nube, pueden crecer sin restricciones (siempre que su modelo de costo siempre garantice que el costo por transacción es menor que o igual a los ingresos por transacción), y el resultado será que estos 'proyectos' se vuelven irrelevantes. Por ejemplo, mientras MS compró Skype por mil millones, los programadores podrán crear un popular cliente de Skype alojado en la nube y lograr lo que Skype hizo sin gastos de capital o necesidad de crecimiento de VC/financiero (teóricamente).

La pregunta debería ser, por lo tanto, no 'lo que es el beneficio de la nube', pero en realidad 'lo que el modelo de negocio tiene sentido, una vez que se acepta que una nube alojada uno probablemente con el tiempo aparecerá'

Cuestiones relacionadas