Modernización de .NET

El .NET heredado, hacia delante sin detener el negocio

La aplicación sigue sosteniendo el negocio, y precisamente por eso nadie quiere tocarla. Llevamos sistemas WebForms, WCF, VB.NET y .NET Framework al .NET actual parte por parte, con lo antiguo y lo nuevo funcionando en paralelo hasta que no quede nada en el lado antiguo.

Probablemente está aquí porque

  • Una aplicación WebForms o WCF sigue sosteniendo una parte crítica del negocio, y quienes la escribieron ya no están.
  • Todas las estimaciones para modernizarla han sido una reescritura para la que no puede permitirse congelar la hoja de ruta.
  • Está atado a Windows Server e IIS porque la aplicación no puede funcionar en ningún otro sitio.
  • Las revisiones de seguridad y cumplimiento señalan una y otra vez una versión del framework sin soporte.

Cómo modernizamos

Siempre del mismo modo, porque es el único que hemos visto terminar.

Evaluar desde la experiencia, no desde la investigación

Hemos escrito código de producción en todas las tecnologías de la lista de abajo, así que la evaluación es memoria y no una fase de investigación que usted paga.

Desbloquear primero la compilación

Proyectos de estilo SDK, bibliotecas compartidas con multi-targeting y un pipeline que funciona solo. Rinde antes de que termine la migración y hace repetible todo lo que viene después.

Strangler, nunca de golpe

La nueva tecnología se levanta junto a la antigua. Las partes se trasladan detrás de las mismas URL, de una en una, con una vuelta atrás para cada una.

Que su equipo pueda terminarlo

Cada parte se documenta como un patrón. El objetivo es que sus propios desarrolladores se encarguen de las siguientes, con nuestra revisión.

Ofertas de entrada de alcance cerrado

Un primer paso que un responsable puede aprobar

Cualquier proyecto puede empezar con una de estas ofertas. Cada una tiene un nombre y un alcance por escrito antes de empezar, de modo que la primera decisión es pequeña, y usted ve cómo trabajamos antes de comprometerse con algo de mayor tamaño.

2 semanas

Evaluación de modernización

Cada proyecto, dependencia y supuesto de alojamiento de la solución, con lo que pasará a ser, y presupuestado como un plan strangler que puede financiar fase a fase.

Qué incluye

  • Inventario de proyectos, paquetes, controles de terceros e interoperabilidad COM
  • Qué se porta de forma mecánica, qué hay que reescribir de verdad y qué no debería sobrevivir
  • Plan de migración por fases, ordenado por riesgo y con estimaciones
  • Una presentación para quienes lo pagan

Con qué se queda

Un plan por fases y presupuestado que puede llevar a aprobación, y que es suyo, hagamos o no el trabajo.

Preguntar por esta oferta
3 semanas

Modernización de la compilación y el pipeline

Proyectos de estilo SDK, gestión de paquetes actual y un pipeline de CI que funciona solo. El paso poco vistoso que hace repetible todo lo que viene después.

Qué incluye

  • Conversión de csproj heredados y packages.config
  • Bibliotecas compartidas con multi-targeting para la migración
  • CI que compila y prueba cada cambio
  • Compilación y despliegue en contenedores donde encaje

Con qué se queda

Una solución que compila igual en todas partes, lista para empezar la migración, y que ya rinde antes de que empiece.

Preguntar por esta oferta
6–8 semanas

Migración de la primera parte

Una parte acotada de la aplicación llevada a .NET moderno, funcionando junto al sistema antiguo detrás de las mismas URL y probada en producción.

Qué incluye

  • Parte elegida por su valor y por lo limpiamente que se separa
  • La nueva tecnología levantada junto a la antigua
  • Tráfico redirigido parte por parte, con marcha atrás
  • El patrón documentado para que su equipo pueda repetirlo

Con qué se queda

El patrón strangler probado en su propio sistema, con usuarios reales en el lado nuevo, y una estimación medida para el resto.

Preguntar por esta oferta

Cada oferta se presupuesta a precio cerrado cuando hemos visto el alcance, y un precio cerrado no cambia: si nos lleva más tiempo, es problema nuestro, no suyo.

Preguntas que nos hacen los clientes

¿Tenemos que reescribir nuestra aplicación WebForms?

El marcado, sí: el ciclo de vida de la página y el ViewState no tienen equivalente en .NET moderno. La lógica de negocio que hay debajo normalmente no, y separar ambas cosas es la mayor parte del trabajo. Por eso la evaluación va primero.

¿Pueden nuestros servicios WCF mantener a sus clientes actuales?

A menudo, sí. Cuando quienes los llaman son terceros a los que no puede cambiar, CoreWCF mantiene vivo el contrato SOAP mientras todo lo que hay detrás pasa a .NET moderno.

¿Cuánto dura una migración de .NET Framework?

Depende mucho más de la capa de datos y de las dependencias de terceros que del tamaño del código. La evaluación de dos semanas existe precisamente para responder a esa pregunta con una estimación por fases en lugar de una suposición.

¿Trabajan con VB.NET?

Sí. Hemos llevado VB.NET a producción y lo leemos, lo portamos o lo encapsulamos, incluidas las partes que nadie del equipo actual quiere abrir.

¿Sigue funcionando sobre .NET Framework?

Cuéntenos qué hace la aplicación y sobre qué funciona. Le diremos lo que implica realmente la migración, y cuál debería ser la primera parte.