Tengo una pregunta sobre si los proveedores de la nube tienen un mecanismo interoperable. Por ejemplo, estoy desarrollando un servicio WCF y alojamiento en Azure con éxito. Después de un período prolongado de tiempo usando Azure, ¿puedo usar el mismo código para implementarlo en AWS? ¿Será posible? ¿La API de ambos coincide con la implementación? Si no, ¿qué es todo el cuidado adicional necesario para alojar el mismo servicio al cambiar de otros proveedores de nube como Salesforce.com, OpenStack, etc.,¿Puede Azure ser interoperable con Amazon?
Respuesta
En general, no puede simplemente tome lo que desarrolla para una plataforma en la nube y ponerla en otra: tienen diferentes conjuntos de funcionalidades y exponen diferentes API. Sin embargo, cuanto más bajo nivel genere su código, más probable es que encuentre otro proveedor con una API muy similar, ya que la virtualización de la infraestructura es más simple (y más cercana a la estandarizada) que la virtualización de una aplicación CMS.
Si está utilizando solo IaaS, probablemente pueda realizar el puerto con bastante rapidez, pero tendrá que trabajar más para realizar su aplicación. Si está utilizando PaaS (o SaaS!), Entonces está más bloqueado, pero obtiene más soporte para desarrollarse rápidamente: es esa plataforma de soporte que es a la vez el valor agregado y el bloqueo, y no lo hará obtener uno sin el otro.
Si está utilizando una función web de Azure para alojar su servicio WCF, desde el punto de vista del despliegue no tendrá muchos problemas con AWS. Simplemente usará las instalaciones ofrecidas por AWS SDK para .NET (también conocido como Publicar en AWS CloudFormation). Por supuesto, deberá cambiar la parte de registro si utilizó los servicios de Azure Diagnostic y alla Azure con los servicios AWS relacionados. Lo hicimos varias veces en el último año y funciona.
Para rol de trabajo no es tan simple, porque en Azure son fácilmente desplegadas como papel web, pero en AWS tiene despliegue no directamente de Visual Studio por lo que tiene que hacer un trabajo manual que utiliza los servicios de Windows o algo más
- 1. Retrollamada WCF: ¿Es interoperable con Java?
- 2. Azure vs Appharbor vs Amazon EC2
- 3. ¿Puede Azure ejecutar WPF?
- 4. Windows Azure para desarrolladores web frente a Amazon EC2
- 5. WCF/WebService: manejo de excepción interoperable
- 6. Windows Azure o Amazon EC2 para el desarrollo ASP.NET MVC?
- 7. ¿Una referencia no puede ser NULL o puede ser NULL?
- 8. ¿Puede Javascript ser Bootstrapped?
- 9. No se puede iniciar sesión en Amazon con Ruby Mechanize
- 10. Amazon SimpleDB vs Amazon DynamoDB
- 11. Enrutamiento GeoIP con Windows Azure
- 12. ¿Puede ser inmutable ser un cerdo de la memoria?
- 13. ¿Qué marco de plantillas interoperable para JavaScript y Grails/Java?
- 14. ¿Cuándo puede ser nulo Request.Url?
- 15. Variable sin $, ¿puede ser posible?
- 16. Scala PartialFunction puede ser Monoid?
- 17. ¿Puede un DateTime ser nulo?
- 18. ¿Puede un objeto ser falso?
- 19. ¿Cómo puede ser efectivo ASLR?
- 20. principal no puede ser nula
- 21. ¿En qué caso puede ser exento de CSRF ser peligroso?
- 22. ¿Puede conectar Amazon EBS a varias instancias?
- 23. Uso de Amazon S3 junto con Amazon RDS
- 24. Tareas programadas con Sql Azure?
- 25. Amazon SimpleDB vs Amazon RDS
- 26. Diferencias entre Amazon Elastic Block Storage (EBS) y Microsoft Azure Drives
- 27. Un tramo puede ser un div, pero un div no puede ser un tramo
- 28. ¿Puede un píxel CSS ser una fracción?
- 29. Azure Table Vs MongoDB en Azure
- 30. Clave externa que también puede ser cero
Por supuesto, podría alojar un entorno en IaaS que se pareciera a las partes de PaaS que su código está usando (por ejemplo, una instancia de Windows que puede ejecutar una aplicación WCF) pero eso es muy diferente a la compatibilidad total de los servicios. –
Debe tener cuidado de mantener su WCF solo en la API de .NET y no en ninguna de las cosas específicas de Azure (o introducir algún IoC) si desea también poder transferirlo a WAS u otro host en Windows Server. Sin embargo, ya hice esto en el pasado, escribí un sitio para implementaciones Azure y no Azure. –
@Paul: +1 para los detalles; siempre habrá partes más portátiles y partes que no lo son. –