What about the possibility to scaffold and deploy your architecture using the voice? During this talk we'll see how this can be possible. We'll take Alexa and Azure as an example but ideally you can do the same with other technologies. Maybe soon this task will be much more fun!
4. Whyvoice DevOps ?
sperimentare un modo diverso di fare qualcosa di
ripetitivo, spesse volte quasi annoiante
ma si può parlando? ...ci avete mai pensato?
come sarebbe se fosse davvero "frictionless" ?
10. Coding the fulfillment
Device
"Alexa, chiedi ad
aldo di fare il
deploy del progetto
Codemotion"
Alexa Service
Intent:
Slot:
DeployProj
ect
ProjectNam
e,
Codemotion
Confermi il deploy
del progetto
Codemotion?
Text to speech
Fulfillment
Event
request handlres
CreatResourceHa
ndler
CanHandle(
)
Handle()
BuildProjectHandle
r
CanHandle(
)
Handle()
DeployProjectHan
dler
CanHandle(
)
Handle()
Respons
e
....
11. Cosa si può fare?Per ora 3 cose ...
provisioning di un servizio su Azure
(app, db, storage...)
deploy di un progetto ospitato
in Azure DevOps
build di un progetto
...
12. Azure Management Libraries(IaaC)
public class AzureFunctionDeployment : BaseDeployment
{
protected override Task ExecuteCreateAsync()
{
var definition = Azure
.WithSubscription(Options.SubscriptionId)
.AppServices.FunctionApps
.Define(AppName)
.WithRegion(Options.Region);
var create = definition.WithExistingResourceGroup(
Options.ResourceGroupName)
return create.CreateAsync();
}
}
https://github.com/Azure/azure-libraries-for-net
13. Resource Deployer
FunctionName("AldoResourceDeployer")]
public async Task Run([QueueTrigger("azure-resource-deploy" ...
[Queue("project-deploy" ...)
{
var azure = await azureService.Authenticate(conf.ClientId,
conf.ClientSecret, conf.TenantId);
var deploy = await deploymentService.Deploy(azure,
deployOptions, ard.AzureResource);
if(deploy.IsSuccess)
{
var message = ...
await notificationService.SendUserNotification(user,message);
}
...
}
14. Project Deployer &Builder
FunctionName("AldoProjectDeployer")]
public async Task Run([QueueTrigger("project-deploy" ...)]
ProjectToDeploy pd)
{
var release = await azureDevOpsService.TriggerRelease(pd);
}
FunctionName("AldoProjectBuilder")]
public async Task Run([QueueTrigger("project-build" ...)]
ProjectToBuild pb)
{
var build = await azureDevOpsService.TriggerBuild(pb);
}
19. Next
account linking per integrarsi pienamente con Azure
DevOps e personalizzare l'esperienza
Durable Function stateful o Akka actor che orchestra gli
worker per rendere il flusso più immediato e avere
anche altre possibilità
aggiungere ulteriori azioni e parametri (nome branch,
env...)
localizzazione della skill con frasi diverse per le stesse
azioni
suggerimenti...
In questa sessione proviamo a mettere insieme Alexa e Microsoft Azure per vedere se è possibile fare operazioni di CI-CD
come il deploy o la build di progetti utilizzando comandi vocali
ma non solo, proveremo anche a crere servizi, quindi la parte di infrastruttura, sui cui poi fare il deploy dei nostri progetti
tutti sapete cosa è Alexa?
...è l'assitente vocale di Amazon che ormai è fuori da diversi anni ma sembra che, almeno da noi
abbiamo fatto il botto solo lo scorso anno amazon ha praticamente seminato device echo ovunque
quello che vedremo è ancora solo un esperimento, non di certo pronto per poter essere utilizzato
però c'è la voglia di sperimentare qualcosa di nuovo per fare in modo diverso le stesse cose
ci avete mai pensato?
ma se un giorno non fosse più così useremmo la voce per fare alcune cose oppure continueremmo a cliccare
usare la voce ed essere sicuri che dall'altra parte c'è qualcuno o "qualcosa" che capisce permette di svolgere molte più cose in parallelo
ma la cosa bella è che ci verrebbe naturale così come è naturale parlare con i colleghi del team