Metodologia de sucesso da implementação Synapse: Avalie o design do ambiente de desenvolvimento de soluções
Nota
Este artigo faz parte da série de artigos de sucesso da implementação do Azure Synapse by design . Para obter uma visão geral da série, consulte Azure Synapse implementation success by design.
O desenvolvimento de soluções e o ambiente em que é realizado são fundamentais para o sucesso do seu projeto. Independentemente da metodologia de projeto selecionada (como waterfall, Agile ou Scrum), você deve configurar vários ambientes para dar suporte ao desenvolvimento, teste e produção. Você também deve definir processos claros para promover mudanças entre ambientes.
A configuração de um ambiente moderno de data warehouse para uso de produção e pré-produção pode ser complexa. Tenha em mente que uma das principais decisões de projeto é a automação. A automação ajuda a aumentar a produtividade enquanto minimiza o risco de erros. Além disso, seus ambientes devem suportar o desenvolvimento ágil futuro, incluindo a adição de novas cargas de trabalho, como ciência de dados ou tempo real. Durante a revisão do projeto, produza um design de ambiente de desenvolvimento de solução que dará suporte à sua solução não apenas para o projeto atual, mas também para suporte contínuo e desenvolvimento de sua solução.
Design de ambiente de desenvolvimento de soluções
O design do ambiente deve incluir o ambiente de produção, que hospeda a solução de produção, e pelo menos um ambiente de não produção. A maioria dos ambientes contém dois ambientes que não são de produção: um para desenvolvimento e outro para testes, garantia de qualidade (QA) e teste de aceitação do usuário (UAT). Normalmente, os ambientes são hospedados em assinaturas separadas do Azure. Considere a criação de uma assinatura de produção e uma assinatura de não produção. Esta separação proporcionará uma fronteira de segurança clara e uma delimitação entre produção e não produção.
O ideal é estabelecer três ambientes.
- Desenvolvimento: o ambiente no qual suas soluções de dados e análises são construídas. Determine se as áreas restritas devem ser fornecidas para desenvolvedores. Sandboxes podem permitir que os desenvolvedores façam e testem suas alterações isoladamente, enquanto um ambiente de desenvolvimento compartilhado hospedará alterações integradas de toda a equipe de desenvolvimento.
- Test/QA/UAT: O ambiente semelhante ao de produção para testar implantações antes de sua liberação para produção.
- Produção: O ambiente de produção final.
Espaços de trabalho de sinapse
Para cada espaço de trabalho Synapse em sua solução, o ambiente deve incluir um espaço de trabalho de produção e pelo menos um espaço de trabalho de não produção para desenvolvimento e teste/QA/UAT. Use o mesmo nome para todos os pools e artefatos em todos os ambientes. Uma nomenclatura consistente facilitará a promoção de espaços de trabalho para outros ambientes.
Promover um espaço de trabalho para outro espaço de trabalho é um processo de duas partes:
- Use um modelo do Azure Resource Manager (modelo ARM) para criar ou atualizar recursos do espaço de trabalho.
- Migre artefatos como scripts SQL, blocos de anotações, definições de trabalho do Spark, pipelines, conjuntos de dados e fluxos de dados usando as ferramentas de integração e entrega contínua (CI/CD) do Azure Synapse no Azure DevOps ou no GitHub.
Azure DevOps ou GitHub
Certifique-se de que a integração com o Azure DevOps ou o GitHub esteja configurada corretamente. Projete um processo repetível que libere alterações em ambientes de desenvolvimento, teste/QA/UAT e produção.
Importante
Recomendamos que os dados de configuração confidenciais sejam sempre armazenados com segurança no Cofre de Chaves do Azure. Use o Azure Key Vault para manter um local central e seguro para dados de configuração confidenciais, como cadeias de conexão de banco de dados. Dessa forma, os serviços apropriados podem acessar dados de configuração de dentro de cada ambiente.
Próximos passos
No próximo artigo da série Azure Synapse success by design, saiba como avaliar sua equipe de recursos qualificados que implementarão sua solução Azure Synapse.