DEV Community

LeoJulieta
LeoJulieta

Posted on

Como migrar workloads de IA após o fim da parceria Microsoft‑Oracle

Ruptura Microsoft‑Oracle na IA: o que mudar‑a nos seus workloads e como migrar sem downtime

Introdução

A inesperada quebra da parceria entre Microsoft e Oracle para serviços de inteligência artificial está sacudindo o ecossistema de nuvem. Em menos de 48 h, a integração que permitia rodar workloads de IA híbridos entre Azure e OCI desapareceu das lojas de marketplace, gerando dúvidas urgentes entre desenvolvedores e arquitetos. Se você tem modelos de linguagem grande (LLM) distribuídos entre as duas nuvens, este artigo mostra, passo a passo, como identificar o impacto, comparar custos e migrar tudo para o Azure – tudo isso com scripts práticos e um playbook de CI/CD pronto para uso.


O que foi cancelado?

  • Integração de IA da Oracle no Azure Marketplace (Oracle AI Platform, OCI Data Science).
  • Provisionamento automático de recursos OCI a partir do portal Azure.
  • Cobrança cruzada e roteamento de tráfego híbrido entre Azure e OCI.

Com a ruptura, esses pontos de integração foram desativados; quem ainda usa OCI para treinamento ou inferência precisa migrar artefatos, reconfigurar pipelines e ajustar a política de custos.


Impacto nos seus LLMs

Cenário original Impacto da ruptura Ação recomendada
Treinamento em OCI GPU (ex.: BM.GPU4.8) + inferência no AKS Perda de conectividade direta e cobrança cruzada Exportar checkpoints para Azure Blob (az storage blob upload …) e registrar a imagem no ACR
Dados de treinamento armazenados no OCI Object Storage Egressão paga (US$ 0,09 / GB) Copiar para Azure Blob (az storage sync …) usando Azure Data Factory para minimizar custos
Pipelines híbridos no Azure DevOps que chamam APIs OCI Falha de autenticação Substituir chamadas por Azure Machine Learning SDK ou por APIs de Azure OpenAI

Dica prática: use um “blue‑green deployment” – crie um novo ambiente no Azure, valide a inferência e só depois desligue o cluster OCI. Isso elimina downtime perceptível.


Comparativo rápido de custos e desempenho

  • GPU A100 (Azure – Standard_ND96asr_v4): US$ 3,20 / h (spot)
  • GPU A100 (OCI – BM.GPU4.8): US$ 3,60 / h (on‑demand) + egressão de dados

Com reservas de instância e Savings Plans no Azure, o TCO pode cair de 15 % a 30 % em relação ao OCI, sobretudo quando a carga de inferência permanece 24 h/dia.


Scripts práticos para desmontar OCI e reimplantar no Azure

1. Destruir recursos OCI com Terraform (arquivo main.tf)

provider "oci" {
  tenancy_ocid        = var.tenancy_ocid
  user_ocid           = var.user_ocid
  fingerprint         = var.fingerprint
  private_key_path    = var.private_key_path
  region              = "us-phoenix-1"
}

resource "oci_core_instance" "gpu_instance" {
  compartment_id = var.compartment_id
  shape          = "BM.GPU4.8"
  display_name   = "ml-training"
  # ... demais atributos
}
Enter fullscreen mode Exit fullscreen mode

Comando para destruir:

terraform init
terraform destroy -auto-approve
Enter fullscreen mode Exit fullscreen mode

2. Exportar checkpoints para Azure Blob

az storage blob upload \
  --account-name meuaccount \
  --container-name checkpoints \
  --file /tmp/model.ckpt \
  --name model.ckpt
Enter fullscreen mode Exit fullscreen mode

3. Registrar a imagem Docker no Azure Container Registry (ACR)

az acr login --name meuacr
docker tag meuapp:latest meuacr.azurecr.io/meuapp:latest
docker push meuacr.azurecr.io/meuapp:latest
Enter fullscreen mode Exit fullscreen mode

4. Deploy no Azure Kubernetes Service (AKS)

az aks get-credentials --resource-group rg-ml --name aks-ml
kubectl apply -f k8s/deployment.yaml
Enter fullscreen mode Exit fullscreen mode

Playbook completo de CI/CD (GitHub Actions → Azure Pipelines)

name: CI/CD LLM
on:
  push:
    branches: [ main ]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Build Docker image
        run: |
          docker build -t ${{ secrets.ACR_NAME }}.azurecr.io/llm:${{ github.sha }} .
      - name: Push to ACR
        env:
          AZURE_LOGIN: ${{ secrets.AZURE_CREDENTIALS }}
        run: |
          echo $AZURE_LOGIN | docker login ${{ secrets.ACR_NAME }}.azurecr.io --username ${{ secrets.ACR_USER }} --password-stdin
          docker push ${{ secrets.ACR_NAME }}.azurecr.io/llm:${{ github.sha }}
  deploy:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - name: Deploy to AKS
        uses: azure/aks-set-context@v1
        with:
          resource-group: rg-ml
          cluster-name: aks-ml
      - run: |
          kubectl set image deployment/llm-deploy llm=${{ secrets.ACR_NAME }}.azurecr.io/llm:${{ github.sha }}
          kubectl rollout status deployment/llm-deploy
Enter fullscreen mode Exit fullscreen mode

Importante: o mesmo pipeline pode ser reproduzido no Azure Pipelines usando a tarefa Docker e a extensão Kubernetes – basta apontar o service connection para o mesmo ACR.


Checklist de segurança e conformidade

  • [ ] IAM: conceda apenas Contributor ao Service Principal que executa o pipeline.
  • [ ] Criptografia: habilite Azure Disk Encryption nas VMs de treinamento.
  • [ ] Network: use Azure Private Link para acessar o Blob sem tráfego público.
  • [ ] Auditoria: ative Azure Monitor & Log Analytics para rastrear acesso ao ACR.
  • [ ] Compliance: verifique se o Azure Policy inclui o controle ISO 27001 para workloads de saúde ou finanças.

Perguntas frequentes (FAQ)

1. Preciso refazer todo o código‑fonte?

Não. Apenas ajuste os endpoints de armazenamento e o cliente de inferência (ex.: troque oci://bucket/model.ckpt por https://meuaccount.blob.core.windows.net/checkpoints/model.ckpt).

2. Quanto tempo leva a migração de dados?

Depende do volume. Para 10 TB, usando Azure Data Factory em modo “Copy” com 5 GB/s de throughput, a transferência completa leva cerca de 6 h. Planeje janelas de baixa demanda.

3. E se eu quiser manter parte da carga no OCI?

É possível criar um VPN Site‑to‑Site entre Azure Virtual Network e OCI VCN, mas lembre‑se dos custos de egressão e da latência adicional nas chamadas de inferência.

4. Existe suporte da Microsoft para essa migração?

Sim. Abra um ticket de Azure Migration & Modernization; eles fornecem scripts de validação de compatibilidade e estimativas de custo.


Conclusão

A ruptura Microsoft‑Oracle não é apenas um “noticiário” – ela altera a arquitetura de IA de quem já opera em ambientes híbridos. Ao seguir os scripts e o playbook acima, você pode:

  1. Desmontar rapidamente recursos OCI com Terraform.
  2. Transferir artefatos para Azure Blob e registrar imagens no ACR.
  3. Reimplantar com zero downtime usando AKS e estratégias blue‑green.
  4. Controlar custos com Savings Plans e evitar surpresas de egressão.

Prepare seu time, ajuste as pipelines e aproveite a consolidação no Azure para ganhar performance, segurança e economia. Boa migração!


Herramienta mencionada: Groq Cloud

Top comments (0)