<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Zero12</title>
	<atom:link href="https://www.zero12.it/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.zero12.it/home/</link>
	<description>a Var Group Company</description>
	<lastBuildDate>Thu, 08 Jun 2023 07:31:26 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.3</generator>
	<item>
		<title>Apple Vision PRO: applicazioni pratiche nel business</title>
		<link>https://www.zero12.it/apple-vision-pro-applicazioni-pratiche-nel-business/</link>
					<comments>https://www.zero12.it/apple-vision-pro-applicazioni-pratiche-nel-business/#respond</comments>
		
		<dc:creator><![CDATA[Stefano Dindo]]></dc:creator>
		<pubDate>Thu, 08 Jun 2023 07:22:51 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://www.zero12.it/?p=14113</guid>

					<description><![CDATA[<p> Apple Vision Pro è il nuovo visore per la realtà aumentata/virtuale presentato da Apple durante il WWDC 2023. Questo prodotto si distingue dai similari non solo per l&#8217;elevata dotazione tecnologica ma soprattutto per le modalità di interazione più immediate e coinvolgenti. I suoi più di dieci sensori tra cui Lidar, TrueDepth Camera, telecamere, camere ad [&#8230;]</p>
<p>L'articolo <a href="https://www.zero12.it/apple-vision-pro-applicazioni-pratiche-nel-business/">Apple Vision PRO: applicazioni pratiche nel business</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><b> Apple Vision Pro</b><span style="font-weight: 400;"> è il <a href="https://www.apple.com/apple-vision-pro/">nuovo visore</a> per la </span><b>realtà aumentata/virtuale</b><span style="font-weight: 400;"> presentato da Apple durante il WWDC 2023. Questo prodotto si distingue dai similari non solo per l&#8217;elevata dotazione tecnologica ma soprattutto per le modalità di interazione più immediate e coinvolgenti.</span></p>
<p><span style="font-weight: 400;">I suoi </span><b>più di dieci sensori</b><span style="font-weight: 400;"> tra cui Lidar, TrueDepth Camera, telecamere, camere ad infrarossi ed permettono di catturare fedelmente la realtà e le interazioni dell’utente su di essa.</span></p>
<p><span style="font-weight: 400;">Per garantire un’ottima usabilità del prodotto i dati vengono elaborati in modo estremamente rapido grazie ai </span><b>due processori separati,</b><span style="font-weight: 400;"> uno dedicato al sistema operativo mentre l’altro si concentra sulla gestione e sulla elaborazione dei dati dei sensori per poi farli visualizzare all&#8217;utente in tempo reale.</span></p>
<p><span style="font-weight: 400;">Un aspetto fondamentale del dispositivo è la sua </span><b>continua connessione con la realtà </b><span style="font-weight: 400;">possibile tramite</span> <span style="font-weight: 400;">la modifica del focus dei contenuti per passare a focalizzarsi sull’interlocutore. Inoltre, grazie alla tecnologia </span><strong>eye-sight </strong><span style="font-weight: 400;">al suo interno, il movimento degli occhi di chi lo utilizza viene tracciato e riprodotto sul display <strong>favorendo l&#8217;interazione con altre persone</strong>.</span><span style="font-weight: 400;"><b>  </b></span></p>
<p><img fetchpriority="high" decoding="async" class=" wp-image-14137 aligncenter" src="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_1.jpg" alt="" width="603" height="315" srcset="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_1.jpg 1200w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_1-300x157.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_1-1030x538.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_1-768x401.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_1-705x368.jpg 705w" sizes="(max-width: 603px) 100vw, 603px" /></p>
<p><span style="font-weight: 400;">Oltre alla modalità di realtà aumentata, ci si può immergere in un mondo completamente virtuale, sia dalla parte visiva che uditiva attraverso l’utilizzo dell’audio spaziale che simula a 360 gradi l’ambiente che ci circonda.</span></p>
<p><span style="font-weight: 400;">L’integrazione con la nuova interfaccia di </span><b>VisionOS</b><span style="font-weight: 400;"> permette di utilizzare tutte le </span><b>applicazioni</b><span style="font-weight: 400;"> Apple già disponibili per gli altri dispositivi in un&#8217;unica realtà utilizzando direttamente le mani, gli occhi e la voce.</span></p>
<p><span style="font-weight: 400;">Per Apple la </span><b>sicurezza</b><span style="font-weight: 400;"> e la </span><b>privacy</b><span style="font-weight: 400;"> sono fondamentali per questo ha creato una nuova modalità di sblocco denominata </span><strong>Optical ID</strong><span style="font-weight: 400;"> che, tramite il riconoscimento della retina, permette solo all’utente proprietario di sbloccare il dispositivo. </span></p>
<p><span style="font-weight: 400;">Sono proprio la </span><b>reattività</b><span style="font-weight: 400;">, le </span><b>fedeltà di riproduzione</b><span style="font-weight: 400;"> e la </span><b>facilità di utilizzo</b><span style="font-weight: 400;"> del dispositivo Apple Vision Pro che ha generato svariate opportunità: da contenuti come 2D e 3D a opportunità di business per le imprese.</span></p>
<h2><span style="font-weight: 400;">Quali nuove </span><b>opportunità</b><span style="font-weight: 400;"> si aprono con Apple Vision Pro?</span></h2>
<p><span style="font-weight: 400;">In campo </span><strong>lavorativo</strong><span style="font-weight: 400;"> è possibile grazie a questa tecnologia andare a <strong>rivoluzionare i meeting</strong> che saranno più immersivi e coinvolgenti dato che circonderanno l&#8217;utente che si potrà trovare in un <strong>qualsiasi luogo</strong> non essendo più vincolato dall’utilizzo di uno schermo, rendendo ancora più semplice per le persone lavorare da qualunque luogo.</span></p>
<p><span style="font-weight: 400;">Nel<strong> settore </strong></span><strong>manifatturiero</strong><span style="font-weight: 400;"> dà la possibilità di <strong>effettuare training mirati al personale</strong> tramite la capacità di far vedere ed analizzare macchinari e strumentazione a grandezza naturale posizionandola in qualsiasi ambiente o verificare ed approvare una linea di produzione prima di renderla definitiva.</span></p>
<p><span style="font-weight: 400;"> <img decoding="async" class="wp-image-14138 aligncenter" src="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_2.png" alt="" width="612" height="315" srcset="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_2.png 1281w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_2-300x154.png 300w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_2-1030x530.png 1030w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_2-768x395.png 768w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_2-705x363.png 705w" sizes="(max-width: 612px) 100vw, 612px" /></span></p>
<p><span style="font-weight: 400;">In <strong>ambito </strong></span><strong>sportivo</strong><span style="font-weight: 400;"> apre nuovi scenari di <strong>fruizione dei contenuti</strong> mai visti finora, dove l’utente può essere <strong>coinvolto completamente</strong> nelle partite pur restando comodamente nel salotto di casa. Ad esempio sarebbe possibile posizionare più streaming che mostrano inquadrature diverse contemporaneamente dato che <strong>non si sarebbe più limitati dal singolo schermo della TV</strong>, o ricostruire le scene salienti in un modello in scala che l’utente può vedere posizionato sul suo tavolo.</span></p>
<p><img decoding="async" class="wp-image-14139 aligncenter" src="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_3.png" alt="" width="600" height="315" srcset="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_3.png 1275w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_3-300x157.png 300w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_3-1030x540.png 1030w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_3-768x403.png 768w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_3-705x370.png 705w" sizes="(max-width: 600px) 100vw, 600px" /></p>
<p><span style="font-weight: 400;">Oppure l’utente potrebbe usare Vision Pro per rendere più interessanti ed interattivi gli allenamenti indoor immergendosi in contenuti che vanno a riprodurre l’ambiente esterno, come un passo di montagna per allenamenti su cyclette o tapisroulant.</span></p>
<p><span style="font-weight: 400;"> </span></p>
<p>Nel <strong>ramo education</strong><span style="font-weight: 400;"> andrebbe a rendere più <strong>interattivo ed emozionante l’apprendimento</strong> mostrando ad esempio agli alunni ricostruzioni di eventi storici, o permettendo la visita ad un museo senza la necessità di doversi spostare fisicamente.</span></p>
<p><img loading="lazy" decoding="async" class="wp-image-14131 aligncenter" src="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_4.png" alt="" width="646" height="315" srcset="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_4.png 1276w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_4-300x146.png 300w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_4-1030x502.png 1030w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_4-768x374.png 768w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_4-705x344.png 705w" sizes="auto, (max-width: 646px) 100vw, 646px" /></p>
<p><span style="font-weight: 400;">Oppure gli studenti possono anche vedere rappresentazioni 3D anatomiche o di qualsiasi altro ambito, permettendo di analizzarle nel dettaglio. </span></p>
<p>&nbsp;</p>
<p><span style="font-weight: 400;">Nell’<strong>ambito </strong></span><strong>medico</strong><span style="font-weight: 400;"> la <strong>rappresentazione 3D</strong> degli organi e la facile interazione con gli stessi permettono di <strong>pianificare</strong> in modo dettagliato <strong>una particolare e complicata operazione</strong>. Un altro utilizzo può essere quello delle <strong>operazioni a distanza</strong> andando ad integrarsi con le tecnologie già presenti permettendo ai medici di operare come se fossero all’interno della sala operatoria.</span></p>
<p><span style="font-weight: 400;"> <img loading="lazy" decoding="async" class="wp-image-14132 aligncenter" src="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_5.png" alt="" width="634" height="315" srcset="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_5.png 1186w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_5-300x149.png 300w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_5-1030x512.png 1030w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_5-768x381.png 768w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_5-705x350.png 705w" sizes="auto, (max-width: 634px) 100vw, 634px" /></span></p>
<p><span style="font-weight: 400;">Questo strumento porterà anche a nuove </span><strong>shopping experience</strong><span style="font-weight: 400;">, dove potrà essere data la possibilità al cliente di<strong> vedere in prima persona i prodotti</strong> che sta acquistando anche in caso non sia presenti, oppure <strong>vedere il risultato della personalizzazione</strong> del prodotto. Ad esempio nel campo </span><strong>automotive</strong><span style="font-weight: 400;"> si può usare Vision Pro per mostrare al cliente <strong>l’auto o la moto che sta configurando</strong>, davanti a lui, come se fosse già pronta, modificando le varie componenti in tempo reale per poter prendere la miglior decisione di acquisto.</span></p>
<p><img loading="lazy" decoding="async" class="wp-image-14133 aligncenter" src="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_6.png" alt="" width="603" height="315" srcset="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_6.png 1207w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_6-300x157.png 300w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_6-1030x538.png 1030w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_6-768x401.png 768w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_6-705x369.png 705w" sizes="auto, (max-width: 603px) 100vw, 603px" /></p>
<p><span style="font-weight: 400;">Oppure è possibile, nel caso di <strong>shopping remoto</strong>, effettuare una <strong>video call con il cliente mentre si mostra in tempo reale gli oggetti in vendita</strong>, che verranno piazzati comodamente nello spazio a disposizione dell’utente finale, con ad esempio la comodità di effettuare shopping di capi di moda comprandoli direttamente dal proprio salotto.</span></p>
<p><span style="font-weight: 400;"> </span></p>
<p><span style="font-weight: 400;">Nel </span><strong>retail</strong><span style="font-weight: 400;"> è possibile <strong>migliorare</strong> il modo in cui viene effettuato il <strong>training al personale di store</strong> dando la possibilità di andare oltre ad un video o una sequenza di foto, immaginiamo un fashion store che dà la possibilità ai propri dipendenti di vedere la sfilata in modo immersivo o di poter visualizzare i capi come se fossero davanti a loro, potendo vederne i dettagli da ogni angolazione; per uno store di arredamento potrebbe dare il valore aggiunto di poter piazzare un modello 3D nell’ambiente reale in modo da vederne l’abbinamento finale.</span></p>
<p><span style="font-weight: 400;"> <img loading="lazy" decoding="async" class="wp-image-14134 aligncenter" src="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_7.png" alt="" width="430" height="230" srcset="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_7.png 901w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_7-300x160.png 300w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_7-768x411.png 768w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_7-705x377.png 705w" sizes="auto, (max-width: 430px) 100vw, 430px" /></span></p>
<p><span style="font-weight: 400;"> <img loading="lazy" decoding="async" class="wp-image-14135 aligncenter" src="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_8.png" alt="" width="451" height="230" srcset="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_8.png 902w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_8-300x153.png 300w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_8-768x392.png 768w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_8-705x360.png 705w" sizes="auto, (max-width: 451px) 100vw, 451px" /></span></p>
<p><span style="font-weight: 400;"> <img loading="lazy" decoding="async" class="wp-image-14136 aligncenter" src="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_9.png" alt="" width="466" height="230" srcset="https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_9.png 900w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_9-300x148.png 300w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_9-768x379.png 768w, https://www.zero12.it/wp-content/uploads/2023/06/zero12_Apple-Vision-Pro-applicazioni-pratiche-per-il-business_9-705x348.png 705w" sizes="auto, (max-width: 466px) 100vw, 466px" /></span></p>
<p><span style="font-weight: 400;">Anche se ad oggi in pochi possono dire di aver testato Vision Pro, ciò che è sicuro è che un prodotto come questo aprirà un grande numero di <strong>nuove opportunità di interazione, intrattenimento e fruizione dei contenuti</strong> che, sfruttati nel modo corretto, porteranno a nuove esperienze che gli utenti impareranno ad usare e diventeranno sempre più comuni nell’uso di tutti i giorni.</span></p>
<p>&nbsp;</p>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17">
#top .hr.hr-invisible.av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17{
height:30px;
}
</style>
<div  class='hr av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17 hr-invisible  avia-builder-el-0  el_before_av_image  avia-builder-el-first '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-tq6y15-df715f2bc947644e6d9f34aa5e4353d7">
.avia-image-container.av-tq6y15-df715f2bc947644e6d9f34aa5e4353d7 img.avia_image{
box-shadow:none;
}
.avia-image-container.av-tq6y15-df715f2bc947644e6d9f34aa5e4353d7 .av-image-caption-overlay-center{
color:#ffffff;
}
</style>
<div  class='avia-image-container av-tq6y15-df715f2bc947644e6d9f34aa5e4353d7 av-styling-circle avia-align-left  avia-builder-el-1  el_after_av_hr  el_before_av_hr '   itemprop="image" itemscope="itemscope" itemtype="https://schema.org/ImageObject" ><div class="avia-image-container-inner"><div class="avia-image-overlay-wrap"><img decoding="async" class='avia-img-lazy-loading-not- avia_image ' src="https://www.zero12.it/wp-content/uploads/2023/06/Michele_M-80x80-1.jpg" alt='' title=''   itemprop="thumbnailUrl"  /></div></div></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed">
#top .hr.hr-invisible.av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed{
height:15px;
}
</style>
<div  class='hr av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed hr-invisible  avia-builder-el-2  el_after_av_image  el_before_av_textblock '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>
<section  class='av_textblock_section av-k7uo2fcf-636995ac18f3c8633aa728a2a41b0530'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><h3><strong>Michele Massaro</strong></h3>
</div></section>
<section  class='av_textblock_section av-k7uo2fcf-1-d055b3fa53f8d84b67ebf514a0463474'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><p>Project Manager zero12 &#8211; Var Group Company</p>
</div></section>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-jt7fpl-e427b210006377381a1ad2bd1a0bda3f">
.av_font_icon.av-jt7fpl-e427b210006377381a1ad2bd1a0bda3f{
color:#00afe4;
border-color:#00afe4;
}
.av_font_icon.av-jt7fpl-e427b210006377381a1ad2bd1a0bda3f .av-icon-char{
font-size:25px;
line-height:25px;
}
</style>
<span  class='av_font_icon av-jt7fpl-e427b210006377381a1ad2bd1a0bda3f avia_animate_when_visible av-icon-style- avia-icon-pos-left avia-icon-animate'><a href='https://www.linkedin.com/in/michelemassaro/' target="_blank" rel="noopener noreferrer" class='av-icon-char' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></a></span>
<p>&nbsp;</p>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-14n76g9-6-6ecb981619cf65ff2a451c145097ece7">
#top .hr.hr-invisible.av-14n76g9-6-6ecb981619cf65ff2a451c145097ece7{
height:30px;
}
</style>
<div  class='hr av-14n76g9-6-6ecb981619cf65ff2a451c145097ece7 hr-invisible  avia-builder-el-6  el_after_av_font_icon  el_before_av_image '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-tq6y15-5-2b350d8c3c02a3b4ede068fee6d6cfed">
.avia-image-container.av-tq6y15-5-2b350d8c3c02a3b4ede068fee6d6cfed img.avia_image{
box-shadow:none;
}
.avia-image-container.av-tq6y15-5-2b350d8c3c02a3b4ede068fee6d6cfed .av-image-caption-overlay-center{
color:#ffffff;
}
</style>
<div  class='avia-image-container av-tq6y15-5-2b350d8c3c02a3b4ede068fee6d6cfed av-styling-circle avia-align-left  avia-builder-el-7  el_after_av_hr  el_before_av_hr '   itemprop="image" itemscope="itemscope" itemtype="https://schema.org/ImageObject" ><div class="avia-image-container-inner"><div class="avia-image-overlay-wrap"><img decoding="async" class='avia-img-lazy-loading-not- avia_image ' src="https://www.zero12.it/nicolo_g-80x80/" alt='' title=''   itemprop="thumbnailUrl"  /></div></div></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-4l6mux-4-902b6c217f605b95c3fe45e5dc844762">
#top .hr.hr-invisible.av-4l6mux-4-902b6c217f605b95c3fe45e5dc844762{
height:15px;
}
</style>
<div  class='hr av-4l6mux-4-902b6c217f605b95c3fe45e5dc844762 hr-invisible  avia-builder-el-8  el_after_av_image  el_before_av_textblock '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>
<section  class='av_textblock_section av-k7uo2fcf-3-919693fbb6ae48e14ec73df40581eb51'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><h3><strong>Nicolò Giaccone</strong></h3>
</div></section>
<section  class='av_textblock_section av-k7uo2fcf-1-2-99be60d43925fb5d2b3e5f033a9d764f'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><p>iOS app developer zero12 &#8211; Var Group Company</p>
</div></section>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-jt7fpl-1-4eccfbff68457f211610872def76f22f">
.av_font_icon.av-jt7fpl-1-4eccfbff68457f211610872def76f22f{
color:#00afe4;
border-color:#00afe4;
}
.av_font_icon.av-jt7fpl-1-4eccfbff68457f211610872def76f22f .av-icon-char{
font-size:25px;
line-height:25px;
}
</style>
<span  class='av_font_icon av-jt7fpl-1-4eccfbff68457f211610872def76f22f avia_animate_when_visible av-icon-style- avia-icon-pos-left avia-icon-animate'><a href='https://www.linkedin.com/in/nicol%C3%B2-giaccone-3a9065264/' target="_blank" rel="noopener noreferrer" class='av-icon-char' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></a></span>
<p>L'articolo <a href="https://www.zero12.it/apple-vision-pro-applicazioni-pratiche-nel-business/">Apple Vision PRO: applicazioni pratiche nel business</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zero12.it/apple-vision-pro-applicazioni-pratiche-nel-business/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Un approccio IaC con Cloud Development KIT (CDK)</title>
		<link>https://www.zero12.it/un-approccio-iac-con-cloud-development-kit-cdk/</link>
					<comments>https://www.zero12.it/un-approccio-iac-con-cloud-development-kit-cdk/#respond</comments>
		
		<dc:creator><![CDATA[Martina Becevello]]></dc:creator>
		<pubDate>Thu, 16 Feb 2023 13:45:59 +0000</pubDate>
				<category><![CDATA[Articoli]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[CDK]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[IaC]]></category>
		<category><![CDATA[Terraform]]></category>
		<category><![CDATA[zero12]]></category>
		<guid isPermaLink="false">https://www.zero12.it/?p=13925</guid>

					<description><![CDATA[<p>Un esempio di progetto di Cloud Development Kit (CDK) in TypeScript, che permetta di creare un’infrastruttura completa di Network, EC2, RDS, CloudFront, backup e monitoring. Come discusso nell’articolo precedente &#8220;INFRASTRUCTURE AS CODE (IAC): COS’È?&#8221;, Cloud Development Kit è una delle scelte tecnologiche possibili quando si decide di utilizzare un approccio di Infrastructure As Code per una [&#8230;]</p>
<p>L'articolo <a href="https://www.zero12.it/un-approccio-iac-con-cloud-development-kit-cdk/">Un approccio IaC con Cloud Development KIT (CDK)</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Un esempio di progetto di Cloud Development Kit (CDK) in TypeScript, che permetta di creare un’infrastruttura completa di Network, EC2, RDS, CloudFront, backup e monitoring.</h2>
<p>Come discusso nell’articolo precedente <a href="https://www.zero12.it/infrastructure-as-code-iac/" target="_blank" rel="noopener">&#8220;INFRASTRUCTURE AS CODE (IAC): COS’È?&#8221;</a>, <strong>Cloud Development Kit</strong> è una delle scelte tecnologiche possibili quando si decide di utilizzare un approccio di <strong>Infrastructure As Code</strong> per una <strong>infrastruttura AWS</strong>.</p>
<p>In questo caso approfondiremo un <strong>esempio di progetto</strong>, che permetta di realizzare una infrastruttura completa e pronta all’uso.<br />
Presupponendo che l’utente abbia configurato il proprio PC con le proprie credenziali AWS, si può installare prima <strong>NodeJS</strong> e poi CDK tramite pacchetto npm.<br />
Se dovessero servire indicazioni aggiuntive, si può fare riferimento alla documentazione ufficiale: <a href="https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html" target="_blank" rel="noopener">https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html</a>.</p>
<p>Per <strong>ricevere il codice</strong> realizzato per questo articolo compilando il form a <strong><a href="https://www.zero12.it/?page_id=13968&amp;preview=true" target="_blank" rel="noopener">questo link</a></strong>, oppure puoi partire da una cartella vuota e seguire passo passo per ottenere un progetto completo.</p>
<h2>Come creare il progetto</h2>
<p>Partendo da zero, create una nuova cartella e datele un nome a vostro piacimento.<br />
<strong>Cloud Development Kit</strong> permette di sviluppare con vari linguaggi, in questo caso useremo <strong>TypeScript</strong>, quindi all’interno della cartella aprite un terminale e lanciate il seguente comando: <em>cdk init app &#8211;language typescript</em> per inizializzare il progetto.</p>
<p>A questo punto avrete una cartella popolata con vari file, nella root ad esempio troviamo i comuni <em>README.md</em> e <em>package.json</em> tipici di un <strong>progetto NodeJS</strong>, ma anche un particolare file <em>cdk.json</em> che vedremo tra poco.</p>
<p>In questo articolo ci concentreremo in particolare sulle cartelle “<em>bin</em>” e “lib” in quanto qui andremo a definire i <strong>servizi AWS</strong> che vogliamo creare.<br />
Non tratteremo l’argomento dei test in questo articolo, quindi ci concentreremo sulle attività di <strong>codifica e deploy dell’infrastruttura</strong>.<br />
Partendo dal file “<em>cdk.json</em>”, qui il campo di interesse è il cosiddetto “<em>context</em>”. Al suo interno definiamo un contesto per ogni ambiente in cui vogliamo effettuare un deploy, nel nostro caso li abbiamo chiamati “<em>dev</em>” e “<em>prod</em>”. Qui definiamo quante più variabili ci possono servire, tenendo conto che se rendiamo il file troppo complesso, risulterà anche più difficile da leggere e da mantenere.</p>
<h2>Definizione della struttura</h2>
<p>Abbiamo individuato come buona prassi, quella di definire una struttura come la seguente, andando poi a personalizzare l’oggetto “<em><strong>stacks</strong></em>” in base alle necessità:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-13949" src="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_1.jpg" alt="" width="1088" height="704" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_1.jpg 1088w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_1-300x194.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_1-1030x666.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_1-768x497.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_1-705x456.jpg 705w" sizes="auto, (max-width: 1088px) 100vw, 1088px" /></p>
<h3></h3>
<p>Nella cartella “<strong><em>bin</em></strong>” troviamo un unico file, che è l’entry point del progetto. Il nome del vostro file dipenderà dal nome della cartella dentro la quale avete eseguito il comando di init in precedenza. Di seguito uno snippet del file, senza gli import dei vari pacchetti, e con la definizione di un solo stack, per brevità.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-13950" src="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_2.jpg" alt="" width="1084" height="669" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_2.jpg 1084w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_2-300x185.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_2-1030x636.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_2-768x474.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_2-705x435.jpg 705w" sizes="auto, (max-width: 1084px) 100vw, 1084px" /></p>
<p>&nbsp;</p>
<p>Dato che ogni costrutto CDK deve essere <strong>istanziato</strong> in un determinato <strong>scope</strong>, qui troviamo <strong>l’inizializzazione di un oggetto</strong> “<em>App</em>” che farà da contenitore di tutti gli stack che andremo ad istanziare. I vari servizi che andremo a definire, invece, saranno realizzati nello scope del rispettivo <strong>stack di appartenenza</strong>.</p>
<p>Successivamente definiamo un oggetto “<em>builConfig</em>”, che contiene tutte le variabili d’ambiente del <strong>deploy</strong> che vogliamo eseguire. Il tipo di oggetto “<em>BuildConfig</em>” è definito nel file “<em>/lib/common/build-config.ts</em>”. In pratica è <strong>un’interfaccia</strong> che corrisponde 1:1 ai campi presenti nell’oggetto <strong>context</strong> del file “<em>cdk.json</em>”. In questo modo la costante “<em>buildConfig</em>” conterrà tutte le <strong>variabili d’ambiente</strong> del deploy che stiamo effettuando, e le avremo disponibili negli stack in cui passiamo tale oggetto.</p>
<p>Creiamo anche la costante “<em>envDetails</em>” che viene passata ad ogni stack istanziato, per fornire le informazioni su che <strong>account</strong> e <strong>regione AWS</strong> tale stack sarà creato.</p>
<p>La costante “<strong><em>prefix</em></strong>” invece è una pura comodità per facilitare la <strong>nomenclatura delle risorse</strong>, in modo da avere uno standard unico in tutto il progetto.</p>
<p>Arrivando alla dichiarazione dello stack, così come per i costrutti che rappresentano i servizi, il costruttore si aspetta:</p>
<ul>
<li><strong>scope</strong>: che come detto per gli stack è l’App;</li>
<li><strong>id</strong>: un identificativo derivante dalla dipendenza da CloudFormation, che serve a garantire l’unicità della risorsa durante il deploy;</li>
<li><strong>proprietà</strong>: queste dipendono in numero e tipo da come abbiamo definito lo stack, quindi in questo caso ad esempio viene passato l’oggetto “buildConfig”, ma potremmo passare anche interi stack ad altri stack, creando così delle dipendenze;</li>
</ul>
<p>Infine definiamo la funzione “<em>addTagsToStack()</em>” che serve per aggiungere dei tag allo stack CloudFormation che verrà creato. Dato che i costrutti che gli appartengono ereditano tali tag, ci troveremo anche i <strong>servizi</strong> creati taggati in questo modo e ciò faciliterà la <strong>manutenzione dell’infrastruttura</strong> e <strong>l’individuazione delle risorse</strong> create con IaC oppure no. Ovviamente tali tag possono essere aggiunti e modificati in base alle necessità.</p>
<p>Passiamo ora alla cartella “<em>lib</em>”, che contiene tutte le dichiarazioni degli stack. Queste seguono la seguente struttura:</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-13951" src="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_3.jpg" alt="" width="1086" height="511" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_3.jpg 1086w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_3-300x141.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_3-1030x485.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_3-768x361.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_3-705x332.jpg 705w" sizes="auto, (max-width: 1086px) 100vw, 1086px" /></p>
<p>&nbsp;</p>
<p>Ogni stack è una <strong>classe TypeScript</strong> che estendiamo per definire le <strong>proprietà di interesse</strong>. Tutte le proprietà che vogliamo esporre agli stack che importeranno questo stesso stack, le dichiariamo come “<em>public</em>” e saranno accessibili come <strong>campi dell’oggetto</strong>, quindi ad esempio “<em>networkStack.vpc</em>” oppure “<em>networkStack.privateSubnets</em>”.</p>
<p>Le definizioni di questi campi, e tutti i servizi che appartengono a questo stack, li gestiamo all’interno del costruttore.</p>
<p>Partendo in ordine alfabetico, vediamo i file della cartella “<em>lib</em>”.</p>
<p>La documentazione dei costrutti è disponibile al link <a href="https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html" target="_blank" rel="noopener">https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html</a>. Unico appunto, nel caso si arrivi alla documentazione tramite link esterni (esempio Stack Overflow), fare attenzione a controllare di essere nella versione #2 di CDK, visto che è la più aggiornata.</p>
<p>&nbsp;</p>
<h2>Backup</h2>
<p>Qui creiamo una <strong>chiave KMS</strong> per <strong>criptare</strong> i backup, decidendo la “<em>retentionPolicy</em>” in base all’ambiente in cui siamo. La chiave poi la passiamo alla<strong> vault</strong> che andiamo a creare, che sarà il<strong> raccoglitore dei backup</strong>.<br />
La frequenza con cui vengono realizzati i backup deriva dalle <strong>regole del piano</strong>.</p>
<p>Nell’esempio prevediamo una regola giornaliera con retention 7 giorni, una regola settimanale con retention 3 settimane, ed una regola mensile con retention 3 mesi.</p>
<p>La selezione di quali risorse sono comprese in questo piano, avviene tramite <strong>tag</strong>, in particolare, se ipotizziamo di essere in ambiente “<em>dev</em>”, il tag che verrà considerato valido in questo caso sarà con chiave “<em>aws-backup-active-dev</em>” e valore “<em>true</em>”.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-13952" src="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_4.jpg" alt="" width="1083" height="995" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_4.jpg 1083w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_4-300x276.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_4-1030x946.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_4-768x706.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_4-705x648.jpg 705w" sizes="auto, (max-width: 1083px) 100vw, 1083px" /></p>
<p>&nbsp;</p>
<h2>CloudFront</h2>
<p>Qui creiamo un <strong>bucket S3</strong> che useremo per <strong>salvare i file</strong> ad esempio di una Single Page Application (che potrebbe essere realizzata in Angular) che verrà distribuita dalla distribuzione CloudFront. In particolare il bucket sarà <strong>privato</strong>, ed i contenuti saranno accessibili dal web solo tramite la <strong>CDN</strong>, ciò è reso possibile definendo il “<em>defaultRootObject</em>” che cerca un file “index.html” nella root del bucket.</p>
<p>Per rendere il sito più sicuro agganciamo un <strong>WAF</strong>, il servizio di <strong>firewall di AWS</strong>, che essendo un servizio globale sarà deployato sulla regione Nord Virginia. Per recuperare l’arn in maniera automatica, utilizziamo l’oggetto “<em>parameterReader</em>” definito nella cartella “common” che eseguirà una <strong>chiamata API</strong>.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-13953" src="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_5.jpg" alt="" width="1085" height="899" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_5.jpg 1085w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_5-300x249.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_5-1030x853.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_5-768x636.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_5-705x584.jpg 705w" sizes="auto, (max-width: 1085px) 100vw, 1085px" /></p>
<p>&nbsp;</p>
<h2>EC2</h2>
<p>In questo progetto di esempio, il servizio <strong>EC2</strong> lo utilizziamo solo per la creazione di <strong>un’istanza ponte</strong> per poterci collegare alle risorse che saranno in sottoreti private, in particolare il <strong>database RDS</strong>. Nel costrutto EC2 decidiamo <strong>il tipo di istanza da utilizzare, l’AMI</strong> <strong>(quindi il sistema operativo), la quantità di storage, la posizione nella rete VPC, ed il security group</strong> che definisce le regole di accesso a questa istanza.</p>
<p>Come accortezza, verificare che l’AMI scelta sia disponibile nella regione di deploy, e che la <strong>chiave PEM</strong> sia già stata creata sulla console AWS. Per comodità successivamente agganciamo un Elastic IP per avere un IP pubblico statico a cui connettersi.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-13954" src="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_6.jpg" alt="" width="1088" height="831" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_6.jpg 1088w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_6-300x229.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_6-1030x787.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_6-768x587.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_6-705x538.jpg 705w" sizes="auto, (max-width: 1088px) 100vw, 1088px" /></p>
<p>&nbsp;</p>
<h2>ECS</h2>
<p>Questo è probabilmente il file che contiene più definizioni di risorse.</p>
<p>Nella prima parte definiamo il <strong>bilanciatore</strong> come pubblico, e creiamo un <strong>listener HTTPS</strong> su <strong>porta 443</strong>. Il listener è unico perché i target group sono <strong>differenziati</strong> tramite “<em>host-header</em>” nelle regole del listener. Il traffico sarà quindi in HTTPS dal bilanciatore verso internet, mentre in HTTP dal bilanciatore verso i servizi ECS.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-13955" src="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_7.jpg" alt="" width="1086" height="582" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_7.jpg 1086w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_7-300x161.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_7-1030x552.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_7-768x412.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_7-705x378.jpg 705w" sizes="auto, (max-width: 1086px) 100vw, 1086px" /></p>
<p>&nbsp;</p>
<p>Nella seconda parte andiamo a definire il <strong>cluster ECS</strong> con i rispettivi servizi e task.</p>
<p>Per facilitare la configurazione, cicliamo sugli oggetti “<em>buildConfig.stacks.ecs.services</em>“ definiti in “<em>cdk.json</em>”. Questo è uno dei vantaggi maggiori di un <strong>approccio IaC</strong>, in quanto con un minimo sforzo, possiamo replicare la configurazione per tutti i servizi <strong>eliminando gli errori umani</strong> che potrebbero verificarsi eseguendo le operazioni da console o definendole una ad una. Per ogni servizio ECS è previsto un <strong>Log Group</strong>, un<strong> repository ECR</strong> ed il proprio<strong> Task Definition</strong>.</p>
<p>Come detto, le configurazioni principali vengono prese dal “<em>cdk.json</em>” quindi non è necessario modificare il codice a meno di cambiamenti strutturali.</p>
<p>&nbsp;</p>
<h2>Network</h2>
<p>Lo <strong>stack Network</strong> prevede la creazione della <strong>rete VPC</strong>, ed all’interno due sottoreti private e due pubbliche. I <strong>range di IP</strong> e l’<strong>AZ</strong> da utilizzare sono definiti sul “<em>cdk.json</em>” quindi anche qui si può evitare di modificare il codice, trovandosi tutte le risorse nominate correttamente in base alle configurazioni.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-13956" src="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_8.jpg" alt="" width="1085" height="836" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_8.jpg 1085w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_8-300x231.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_8-1030x794.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_8-768x592.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_8-705x543.jpg 705w" sizes="auto, (max-width: 1085px) 100vw, 1085px" /></p>
<p>&nbsp;</p>
<h2>RDS</h2>
<p>Per il database il costrutto dipende dal tipo di <strong>engine</strong> scelto (esempio MySQL o PostgreSQL) e dalla scelta tra<strong> istanza RDS</strong> o <strong>cluster Aurora</strong>, quindi alcune modifiche lato codice sono possibili se si vogliono cambiare queste configurazioni. In questo caso creiamo un’istanza singola di RDS MySQL, con <strong>autoscaling dello storage</strong> definito tramite parametri del “<em>cdk.json</em>”. Da notare come vengono disabilitati i backup automatici di RDS impostando &#8220;<em>backupRetention: Duration.days(0)&#8221;</em> perché aggiungiamo il tag apposito che abbiamo previsto per la selezione di <strong>AWS Backup</strong>, in modo da non avere un costo doppio per lo storage dei backup stessi.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-13957" src="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_9.jpg" alt="" width="1071" height="1059" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_9.jpg 1071w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_9-300x297.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_9-1030x1018.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_9-80x80.jpg 80w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_9-768x759.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_9-36x36.jpg 36w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_9-705x697.jpg 705w" sizes="auto, (max-width: 1071px) 100vw, 1071px" /></p>
<p>&nbsp;</p>
<h2>Security</h2>
<p>Per abitudine raccogliamo le definizioni dei <strong>Security Group</strong> in un unico stack, per prevenire dipendenze circolari nel codice. Infatti è buona prassi utilizzare nelle regole gli <strong>ID</strong> dei Security Group dei servizi da cui vogliamo abilitare le connessioni, ed è quindi più comodo e semplice da mantenerli configurarli in un unico file.</p>
<p>Qui ad esempio abilitiamo le richieste verso il DB solo dai servizi ECS e dall&#8217;istanza EC2 ponte.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-13958" src="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_10.jpg" alt="" width="1089" height="400" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_10.jpg 1089w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_10-300x110.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_10-1030x378.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_10-768x282.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_10-705x259.jpg 705w" sizes="auto, (max-width: 1089px) 100vw, 1089px" /></p>
<p>&nbsp;</p>
<h2>WAF</h2>
<p>Il <strong>Web Application Firewall</strong> è un servizio che può essere agganciato sia a <strong>CloudFront</strong> che ad un <strong>Application Load Balancer</strong>, in base a se viene deployato a livello globale o sulla regione dell’ALB. Viene previsto un<strong> IP set</strong> per avere delle sorgenti in whitelist, e poi delle regole gestite da AWS che coprono casi d’uso tipici come, ad esempio, un <strong>attacco di SQL Injection</strong>.</p>
<p>Viene salvato un parametro su <strong>SSM</strong> con l’arn del WAF appena creato, che verrà poi richiamato dalla funzione “<em>parameterReader</em>” nel modulo di CloudFront descritto in precedenza.</p>
<p>Essendo da deployare a livello globale, lo stack dedicato al WAF dovrà essere in<strong> Nord Virginia</strong>, quindi c’è da fare attenzione ad eseguire il bootstrap di CDK anche in tale regione.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-13948" src="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_11.jpg" alt="" width="1084" height="509" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_11.jpg 1084w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_11-300x141.jpg 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_11-1030x484.jpg 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_11-768x361.jpg 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cloud_Development_Kit_Alessandro-Dindinelli_zero12_11-705x331.jpg 705w" sizes="auto, (max-width: 1084px) 100vw, 1084px" /></p>
<p>Arrivati al momento del deploy, vengono previsti degli <strong>script npm</strong> che facilitano l’operazione in modo da non dover ricordare la sintassi completa:</p>
<ul>
<li>&#8220;cdk-diff-dev&#8221;: &#8220;cdk context &#8211;clear &amp;&amp; cdk diff $npm_config_stack -c config=dev &#8211;profile PROFILE_NAME&#8221;,</li>
<li>&#8220;cdk-deploy-dev&#8221;: &#8220;cdk context &#8211;clear &amp;&amp; cdk deploy $npm_config_stack -c config=dev &#8211;profile PROFILE_NAME&#8221;,</li>
<li>&#8220;cdk-destroy-dev&#8221;: &#8220;cdk destroy $npm_config_stack -c config=dev &#8211;profile PROFILE_NAME&#8221;,</li>
</ul>
<p>Quindi ad esempio per eseguire il deploy di un singolo stack  in ambiente dev il comando da eseguire sarebbe: “<em>npm run cdk-deploy-dev &#8211;stack STACK_NAME</em>”.</p>
<p>Prendendo come esempio lo stack “<em>ec2</em>” che ha come parametri del costruttore anche gli stack “<em>network</em>” e “<em>security</em>”, CDK vedrà la <strong>dipendenza</strong> e li eseguirà prima dello stack “<em>ec2</em>” in modo da trovare pronti tutti i parametri necessari.</p>
<p>&nbsp;</p>
<h2>I principali vantaggi</h2>
<p>Come avete potuto capire dall’esempio precedente un approccio di gestione architetturale tramite Infrastructure As Code permette di creare, controllare, aggiornare e gestire via codice un&#8217;infrastruttura rendendo programmabile quello che tipicamente veniva svolto manualmente. Alcuni dei numerosi vantaggi derivanti sono:</p>
<ul>
<li>Flessibilità</li>
<li>Chiarezza sulle operazioni svolte</li>
<li>Maggiore controllo</li>
<li>Sicurezza</li>
<li>Replicabilità</li>
<li>Riduzione degli errori</li>
<li>Documentazione sempre aggiornata</li>
</ul>
<p>Tutto ciò però è possibile con competenze trasversali che vanno da aspetti sistemistici e infrastrutturali fino allo sviluppo software che, grazie all’approccio IaC, sarà sempre più integrato con gli applicativi sviluppati.</p>
<p>Per riuscire a trarne il massimo vantaggio, le organizzazioni devono iniziare a pensare alla gestione dei sistemi informativi come servizi in continua evoluzione e creare team estesi composti da tecnici, persone di business interne e partner in grado di evolvere e seguire il mercato con la stessa velocità dell’evoluzione tecnologica spinta ancora di più dai servizi cloud.</p>
<p>Se vuoi condividere la tua esperienza su questo ambito e le tue opinioni usa la <strong>funzione commenti</strong>!</p>
<p>Questo è il secondo articolo della serie a cui stiamo lavorando per trattare vari argomenti legati al mondo AWS ed in particolare sugli approcci di <strong>Infrastructure As Code</strong>.</p>
<p>Contattateci all’indirizzo <a href="mailto:hello@zero12.it">hello@zero12.it</a>, per richiedere degli articoli o per chiederci di trattare argomenti specifici… oppure seguite i nostri canali social per restare informati sulle prossime pubblicazioni.</p>
<p>Ciao <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17">
#top .hr.hr-invisible.av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17{
height:30px;
}
</style>
<div  class='hr av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17 hr-invisible  avia-builder-el-0  el_before_av_image  avia-builder-el-first '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-tq6y15-1d1b33e023ba3f17dc0b553127cc5afe">
.avia-image-container.av-tq6y15-1d1b33e023ba3f17dc0b553127cc5afe img.avia_image{
box-shadow:none;
}
.avia-image-container.av-tq6y15-1d1b33e023ba3f17dc0b553127cc5afe .av-image-caption-overlay-center{
color:#ffffff;
}
</style>
<div  class='avia-image-container av-tq6y15-1d1b33e023ba3f17dc0b553127cc5afe av-styling-circle avia-align-left  avia-builder-el-1  el_after_av_hr  el_before_av_hr '   itemprop="image" itemscope="itemscope" itemtype="https://schema.org/ImageObject" ><div class="avia-image-container-inner"><div class="avia-image-overlay-wrap"><img decoding="async" class='avia-img-lazy-loading-not- avia_image ' src="https://www.zero12.it/wp-content/uploads/2022/09/Alessandro_D-80x80.jpg" alt='' title=''   itemprop="thumbnailUrl"  /></div></div></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed">
#top .hr.hr-invisible.av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed{
height:15px;
}
</style>
<div  class='hr av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed hr-invisible  avia-builder-el-2  el_after_av_image  el_before_av_textblock '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>
<section  class='av_textblock_section av-k7uo2fcf-636995ac18f3c8633aa728a2a41b0530'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><h3><strong>Alessandro Dindinelli</strong></h3>
</div></section>
<section  class='av_textblock_section av-k7uo2fcf-1-d055b3fa53f8d84b67ebf514a0463474'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><p>AWS Specialist zero12 &#8211; Var Group Company</p>
</div></section>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-jt7fpl-e7f1bef3983fa4e88da469c6d049fe80">
.av_font_icon.av-jt7fpl-e7f1bef3983fa4e88da469c6d049fe80{
color:#00afe4;
border-color:#00afe4;
}
.av_font_icon.av-jt7fpl-e7f1bef3983fa4e88da469c6d049fe80 .av-icon-char{
font-size:25px;
line-height:25px;
}
</style>
<span  class='av_font_icon av-jt7fpl-e7f1bef3983fa4e88da469c6d049fe80 avia_animate_when_visible av-icon-style- avia-icon-pos-left avia-icon-animate'><a href='https://www.linkedin.com/in/alessandro-dindinelli/' target="_blank" rel="noopener noreferrer" class='av-icon-char' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></a></span>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>L'articolo <a href="https://www.zero12.it/un-approccio-iac-con-cloud-development-kit-cdk/">Un approccio IaC con Cloud Development KIT (CDK)</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zero12.it/un-approccio-iac-con-cloud-development-kit-cdk/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Infrastructure as Code (IaC): cos&#8217;è?</title>
		<link>https://www.zero12.it/infrastructure-as-code-iac/</link>
					<comments>https://www.zero12.it/infrastructure-as-code-iac/#respond</comments>
		
		<dc:creator><![CDATA[Martina Becevello]]></dc:creator>
		<pubDate>Thu, 02 Feb 2023 08:44:18 +0000</pubDate>
				<category><![CDATA[Articoli]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[CDK]]></category>
		<category><![CDATA[CloudFormation]]></category>
		<category><![CDATA[IaC]]></category>
		<category><![CDATA[Terraform]]></category>
		<category><![CDATA[zero12]]></category>
		<guid isPermaLink="false">https://www.zero12.it/?p=13832</guid>

					<description><![CDATA[<p>Infrastructure as Code (IaC): concetti base, confronto tra le tecnologie più usate (CloudFormation, CDK e Terraform) e i motivi per cui un’azienda dovrebbe scegliere questo approccio per lo sviluppo e la manutenzione della propria infrastruttura su AWS. &#160; Prima di approfondire l&#8217;Infrastructure as Code (IaC) è importante sottolineare che quando un’azienda si approccia al voler [&#8230;]</p>
<p>L'articolo <a href="https://www.zero12.it/infrastructure-as-code-iac/">Infrastructure as Code (IaC): cos&#8217;è?</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Infrastructure as Code (IaC): concetti base, confronto tra le tecnologie più usate (CloudFormation, CDK e Terraform) e i motivi per cui un’azienda dovrebbe scegliere questo approccio per lo sviluppo e la manutenzione della propria infrastruttura su AWS.</h2>
<p>&nbsp;</p>
<p>Prima di approfondire l&#8217;Infrastructure as Code (IaC) è importante sottolineare che quando un’azienda si approccia al voler utilizzare l’infrastruttura AWS, gli scenari più comuni sono principalmente due:</p>
<ul>
<li>1. l’azienda potrebbe<strong> voler migrare interamente o parte dei propri servizi esistenti</strong> gestiti in quel momento on premise;</li>
<li>2. l’azienda preferisce <strong>partire da zero</strong> con un nuovo progetto direttamente sul Cloud.</li>
</ul>
<p>Possono sembrare casi completamente diversi, ma in entrambi ci sono spesso valide ragioni per le quali l’azienda potrebbe avere la necessità di terminare la propria transizione in tempi stretti: un contratto in scadenza presso il datacenter attuale, dei limiti tecnici dell’infrastruttura on premise che non permettono all’azienda di operare pienamente, una startup che ha bisogno di lanciare il proprio prodotto per potersi rendere fruibile dai propri clienti e molto altro.</p>
<h2>IaC: come individuare l&#8217;approccio migliore</h2>
<p>Spesso si rischia di farsi prendere dalla fretta e scegliere un approccio manuale che può sembrare inizialmente più semplice e veloce. Il problema di questo approccio è la facilità con cui si può perdere traccia delle modifiche fatte in fase di configurazione e fine tuning. Questo può comportare varie problematiche. Nel breve periodo, ad esempio, il non riuscire a replicare interamente l’ambiente di test su quello di produzione ritrovandosi problemi inaspettati a ridosso delle scadenze di go-live/migrazione. Oppure a lungo andare la difficoltà di manutenzione dell’infrastruttura in quanto il personale tecnico, potenzialmente diverso nel tempo, non avrà tutte le indicazioni necessarie per poter operare.</p>
<p>Per ridurre e/o risolvere queste problematiche l’<strong>approccio migliore è definire dei template di codice per la propria infrastruttura</strong>, tramite tecnologie come AWS CloudFormation, AWS CDK (Cloud Development Kit) e Terraform.<br />
Con l&#8217;Infrastructure As Code (IaC) quindi intendiamo la definizione dell’infrastruttura tramite dei file con linguaggi e sintassi specifici che permettono un approccio programmatico alla gestione dei servizi Cloud.<br />
Sono tecnologie diverse tra loro e non è oggetto di questa discussione andarle ad approfondire tutte, ma è utile vedere brevemente le loro caratteristiche principali.</p>
<h2>AWS CloudFormation</h2>
<p><span style="text-decoration: underline;"><a href="https://aws.amazon.com/it/cloudformation/" target="_blank" rel="noopener"><strong>CloudFormation</strong></a></span> è a tutti gli effetti un servizio AWS, ed il primo riguardo IaC in linea temporale, e può quindi essere visitato sulla console. Il funzionamento si basa sulla definizione di file scritti in linguaggio JSON o YAML con una sintassi ben precisa, che vengono poi caricati manualmente sulla console oppure automaticamente tramite delle pipeline apposite di CI/CD (Continuous Integration e Continuous Delivery). Di seguito un esempio di istanza EC2 in CloudFormation, utilizzando il linguaggio YAML. I campi dati inseriti sono stringhe, oppure riferimenti a variabili dichiarate precedentemente e la formattazione ha una struttura molto rigida.</p>
<p><img loading="lazy" decoding="async" class="wp-image-13840 size-full" src="https://www.zero12.it/wp-content/uploads/2023/01/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_1.png" alt="un esempio di istanza EC2 in CloudFormation, utilizzando il linguaggio YAML" width="1762" height="1038" srcset="https://www.zero12.it/wp-content/uploads/2023/01/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_1.png 1762w, https://www.zero12.it/wp-content/uploads/2023/01/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_1-300x177.png 300w, https://www.zero12.it/wp-content/uploads/2023/01/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_1-1030x607.png 1030w, https://www.zero12.it/wp-content/uploads/2023/01/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_1-768x452.png 768w, https://www.zero12.it/wp-content/uploads/2023/01/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_1-1536x905.png 1536w, https://www.zero12.it/wp-content/uploads/2023/01/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_1-1500x884.png 1500w, https://www.zero12.it/wp-content/uploads/2023/01/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_1-705x415.png 705w" sizes="auto, (max-width: 1762px) 100vw, 1762px" /></p>
<h2>AWS Cloud Development Kit (CDK)</h2>
<p><span style="text-decoration: underline;"><a href="https://aws.amazon.com/it/cdk/" target="_blank" rel="noopener"><strong>AWS CDK</strong></a></span> è un sistema di templetizzazione costruito ad un livello più alto di CloudFormation e che permette l’utilizzo dei linguaggi di programmazione più diffusi tra gli sviluppatori come Javascript, Typescript, Python, Go, Java ed altri ancora.<br />
Un progetto CDK ha una struttura ben definita, che facilita la suddivisione dell’infrastruttura in più aree di interesse. Di seguito un esempio di istanza EC2 in CDK, utilizzando il linguaggio TypeScript. Le variabili possono essere di qualsiasi tipo permesso dal linguaggio, oppure provenire da stack differenti che sono stati importati.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-13851 size-full" src="https://www.zero12.it/wp-content/uploads/2023/02/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_2.png" alt="un esempio di istanza EC2 in CDK, utilizzando il linguaggio TypeScript" width="1760" height="828" /></p>
<h2>Terraform</h2>
<p><span style="text-decoration: underline;"><a href="https://www.terraform.io/" target="_blank" rel="noopener"><strong>Terraform</strong></a></span> è un progetto open source, inizialmente sviluppato da HashiCorp.<br />
É una tecnologia molto matura, che permette la definizione delle risorse infrastrutturali tramite un linguaggio di programmazione appositamente sviluppato chiamato HCL (HashiCorp Configuration Language) con una struttura simile al JSON, che è agnostico rispetto al Cloud Provider scelto. Di seguito un esempio di istanza EC2 in Terraform, utilizzando il linguaggio HCL. Anche qui le variabili possono essere dichiarate in altri moduli o parti del codice e poi importate.</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-13854 size-full" src="https://www.zero12.it/wp-content/uploads/2023/02/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_3.png" alt="un esempio di istanza EC2 in Terraform, utilizzando il linguaggio HCL" width="1762" height="970" srcset="https://www.zero12.it/wp-content/uploads/2023/02/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_3.png 1762w, https://www.zero12.it/wp-content/uploads/2023/02/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_3-300x165.png 300w, https://www.zero12.it/wp-content/uploads/2023/02/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_3-1030x567.png 1030w, https://www.zero12.it/wp-content/uploads/2023/02/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_3-768x423.png 768w, https://www.zero12.it/wp-content/uploads/2023/02/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_3-1536x846.png 1536w, https://www.zero12.it/wp-content/uploads/2023/02/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_3-1500x826.png 1500w, https://www.zero12.it/wp-content/uploads/2023/02/Cose-lInfrastructure-As-Code_Alessandro-Dindinelli_zero12_3-705x388.png 705w" sizes="auto, (max-width: 1762px) 100vw, 1762px" /></p>
<h2>Costi</h2>
<p><strong>Riguardo l’argomento costi questi approcci non comportano una spesa diretta</strong>, nel senso che non si pagano le operazioni di deploy, ma richiedono chiaramente di pagare per le risorse che verranno create tramite i template IaC secondo le tariffe standard di quei servizi espresse da AWS.</p>
<h2>I vantaggi dell&#8217;approccio IaC</h2>
<p><strong>Qualunque sia la tecnologia scelta si potranno ottenere dei template uniformi, replicabili, versionati e testabili.</strong> Tutti gli approcci permettono il <strong>riuso del codice</strong>, così che si possa anche risparmiare tempo per non dover reinventare la ruota ed usare componenti magari provenienti da altri progetti precedenti dell’azienda, ma che con poche modifiche possono essere adattati, riducendo ampiamente i tempi di sviluppo e gli errori umani.<br />
Ad esempio questo significa che se in un progetto l’ambiente di test è stato ben definito e templetizzato si può passare al rilascio e quindi alla creazione dell’ambiente di produzione in rapidità, con la sicurezza che le configurazioni codificate verranno replicate sul nuovo ambiente.</p>
<p>Precisiamo che con il termine ambiente possiamo intendere sia un’infrastruttura che contiene tutte le risorse in un unico account, sia un progetto che è diviso su più account AWS. Il valore aggiunto della replicazione delle configurazioni che viene dato dall’utilizzo dell’approccio IaC persiste, in quanto semplicemente il template IaC verrà configurato con tutti gli account sui quali dovrà essere rilasciato.</p>
<h2>Problematiche dell&#8217;approccio IaC</h2>
<p>Ovviamente il rilascio di un progetto è solo l’inizio del suo percorso. La <strong>manutenzione dell’infrastruttura</strong> è spesso dove l’approccio manuale inizia a mostrare i propri difetti in quanto diventa sempre più difficile applicare le modifiche che si rendono necessarie nel tempo. I motivi possono essere i più disparati: dal cambio di personale tecnico che si occupa del progetto alla scarsa documentazione realizzata per tenere traccia delle modifiche fatte manualmente, o magari più semplicemente, una mancanza di competenze approfondite.</p>
<p>Ci possono comunque essere delle problematiche nello scegliere di utilizzare un approccio Infrastructure as Code (IaC). In primo luogo la <strong>dipendenza dal codice</strong>, che comporta la necessità di avere almeno una figura di riferimento all’interno dell’azienda con le competenze per poter operare le modifiche sul template che si renderanno necessarie nel tempo.<br />
Come secondo aspetto è bene tenere a mente che ci sarà una porzione di <strong>tempo iniziale in cui lo sviluppo potrebbe essere più lento </strong>rispetto ad un approccio manuale, in quanto il personale dovrà acquisire le competenze necessarie e tracciare le configurazioni che dovranno essere templetizzate.</p>
<p>Quando pensiamo a tutti gli steps necessari al rilascio di un’applicazione, essere in grado di operare con rapidità ed automazioni è la chiave per garantire un rilascio veloce e di successo. La stessa mentalità deve essere applicata all’infrastruttura che sorregge tale applicazione, in quanto è chiaramente una parte fondamentale che però spesso si tende a vedere più distaccata ed in sottofondo.</p>
<p><strong>Vale la pena affrontare i punti critici di un approccio IaC in quanto i benefici sono decisamente maggiori</strong>: la possibilità di versionamento dei template infrastrutturali, il poter collaborare e riusare il codice prodotto con i comuni strumenti usati dagli sviluppatori, automatizzare task complessi riducendo gli errori umani, e facilitare la manutenzione e gli aggiornamenti dei vari ambienti in uso.</p>
<h2>IaC: trend di crescita</h2>
<p>Dati i trend di crescita del Cloud, in futuro possiamo aspettarci che gli strumenti di IaC assumeranno sempre più importanza, sia per ambienti puramente Cloud, sia per soluzioni ibride in cui le aziende vogliono integrare la propria infrastruttura privata con il provider scelto.<br />
Che si tratti di una multinazionale oppure di una startup, ogni azienda che ha intenzione di spostare la propria infrastruttura sul Cloud ha la possibilità di beneficiare enormemente dall’utilizzo di un approccio IaC.</p>
<p>Non perdere i prossimi articoli dove parleremo degli approcci dell&#8217;Infrastructure as Code (IaC) con riferimento al mondo AWS.</p>
<p>Per ricevere aggiornamenti su questi temi contattateci all’indirizzo hello@zero12.it, oppure seguite i nostri canali social per restare informati sulle prossime pubblicazioni!</p>
<p>Ciao <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>&nbsp;</p>
<p>Se vuoi approfondire il Cloud Development Kit attraverso un <strong>esempio pratico <a href="https://www.zero12.it/?p=13925&amp;preview=true" target="_blank" rel="noopener">clicca qui</a></strong> per leggere l&#8217;articolo</p>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17">
#top .hr.hr-invisible.av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17{
height:30px;
}
</style>
<div  class='hr av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17 hr-invisible  avia-builder-el-0  el_before_av_image  avia-builder-el-first '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-tq6y15-1d1b33e023ba3f17dc0b553127cc5afe">
.avia-image-container.av-tq6y15-1d1b33e023ba3f17dc0b553127cc5afe img.avia_image{
box-shadow:none;
}
.avia-image-container.av-tq6y15-1d1b33e023ba3f17dc0b553127cc5afe .av-image-caption-overlay-center{
color:#ffffff;
}
</style>
<div  class='avia-image-container av-tq6y15-1d1b33e023ba3f17dc0b553127cc5afe av-styling-circle avia-align-left  avia-builder-el-1  el_after_av_hr  el_before_av_hr '   itemprop="image" itemscope="itemscope" itemtype="https://schema.org/ImageObject" ><div class="avia-image-container-inner"><div class="avia-image-overlay-wrap"><img decoding="async" class='avia-img-lazy-loading-not- avia_image ' src="https://www.zero12.it/wp-content/uploads/2022/09/Alessandro_D-80x80.jpg" alt='' title=''   itemprop="thumbnailUrl"  /></div></div></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed">
#top .hr.hr-invisible.av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed{
height:15px;
}
</style>
<div  class='hr av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed hr-invisible  avia-builder-el-2  el_after_av_image  el_before_av_textblock '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>
<section  class='av_textblock_section av-k7uo2fcf-636995ac18f3c8633aa728a2a41b0530'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><h3><strong>Alessandro Dindinelli</strong></h3>
</div></section>
<section  class='av_textblock_section av-k7uo2fcf-1-d055b3fa53f8d84b67ebf514a0463474'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><p>AWS Specialist zero12 &#8211; Var Group Company</p>
</div></section>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-jt7fpl-e7f1bef3983fa4e88da469c6d049fe80">
.av_font_icon.av-jt7fpl-e7f1bef3983fa4e88da469c6d049fe80{
color:#00afe4;
border-color:#00afe4;
}
.av_font_icon.av-jt7fpl-e7f1bef3983fa4e88da469c6d049fe80 .av-icon-char{
font-size:25px;
line-height:25px;
}
</style>
<span  class='av_font_icon av-jt7fpl-e7f1bef3983fa4e88da469c6d049fe80 avia_animate_when_visible av-icon-style- avia-icon-pos-left avia-icon-animate'><a href='https://www.linkedin.com/in/alessandro-dindinelli/' target="_blank" rel="noopener noreferrer" class='av-icon-char' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></a></span>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>L'articolo <a href="https://www.zero12.it/infrastructure-as-code-iac/">Infrastructure as Code (IaC): cos&#8217;è?</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zero12.it/infrastructure-as-code-iac/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Secondo Cloud Community Talk: Evoluzione applicativa e dati nel Cloud</title>
		<link>https://www.zero12.it/secondo-cloud-community-talk-evoluzione-applicativa-e-dati-nel-cloud/</link>
		
		<dc:creator><![CDATA[Stefano Dindo]]></dc:creator>
		<pubDate>Thu, 09 Jun 2022 18:07:06 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://www.zero12.it/?p=13571</guid>

					<description><![CDATA[<p>Evoluzione applicativa e dati nel Cloud: incontro interattivo tra domanda e offerta per la co-creazione bottom-up di contenuti di ricerca con la Community Cloud su temi di evoluzione applicativa nel Cloud. Anche quest&#8217;anno rinnoviamo la partnership con l’Osservatorio Cloud Transformation del Politecnico di Milano giunto alla sua dodicesima edizione. L’Osservatorio si pone l’obiettivo di analizzare [&#8230;]</p>
<p>L'articolo <a href="https://www.zero12.it/secondo-cloud-community-talk-evoluzione-applicativa-e-dati-nel-cloud/">Secondo Cloud Community Talk: Evoluzione applicativa e dati nel Cloud</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Evoluzione applicativa e dati nel Cloud: incontro interattivo tra domanda e offerta per la co-creazione bottom-up di contenuti di ricerca con la Community Cloud su temi di evoluzione applicativa nel Cloud.</h1>
<p>Anche quest&#8217;anno rinnoviamo la partnership con l’Osservatorio Cloud Transformation del Politecnico di Milano giunto alla sua dodicesima edizione.</p>
<p>L’Osservatorio si pone l’obiettivo di analizzare gli strumenti tecnologici a disposizione e di comprendere i percorsi di adozione, le opportunità di innovazione e gli impatti sul sistema informativo e sulla gestione dell’IT.</p>
<p>&nbsp;</p>
<h4><strong><span style="color: #00a9e1;">SECONDO CLOUD COMMUNITY TALK DELL’EDIZIONE 2022 DELL’OSSERVATORIO CLOUD TRANSFORMATION</p>
<p>17 Maggio, ore 09.30 &#8211; 13.00</span></strong></h4>
<p>I Cloud Community Talk sono eventi tematici interattivi dal format innovativo che coinvolgono la Community Cloud e i sostenitori della ricerca che discutono insieme temi rilevanti nell’ambito dei progetti di Cloud Transformation condotti in azienda e proposti dalla Community stessa. Nel secondo incontro saranno discussi temi relativi alla gestione dei costi e della security nel Cloud e all’acquisizione di competenze per accompagnare l’organizzazione nel percorso di Cloud Transformation.</p>
<p>&nbsp;</p>
<h4><strong><span style="color: #00a9e1;">NON PERDERTI I PROSSIMI APPUNTAMENTI DELL’OSSERVATORIO:</span></strong></h4>
<ul>
<li><strong>​14 Settembre,</strong> ore 9.30 – 13.00 Secondo Cloud Summit: La gestione dei costi del Cloud – incontro con la community di C-level e IT Executive delle imprese e i sostenitori della ricerca.</li>
<li><strong>6 Ottobre,</strong> ore 9.30 – 13.00 Convegno conclusivo di presentazione dei risultati della ricerca: evento finale di presentazione dei risultati della Ricerca.</li>
<li><strong>​13 Ottobre, </strong>ore 9.30 – 13.00 Use Case Virtual Session: Evento online a porte aperte in cui i sostenitori potranno presentare un caso d’uso cliente.</li>
</ul>
<p>L'articolo <a href="https://www.zero12.it/secondo-cloud-community-talk-evoluzione-applicativa-e-dati-nel-cloud/">Secondo Cloud Community Talk: Evoluzione applicativa e dati nel Cloud</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Partecipa al live streaming &#8220;Riduci i costi delle licenze Windows su AWS&#8221;</title>
		<link>https://www.zero12.it/partecipa-al-live-streaming-riduci-i-costi-delle-licenze-windows-su-aws/</link>
		
		<dc:creator><![CDATA[Stefano Dindo]]></dc:creator>
		<pubDate>Sun, 05 Jun 2022 08:00:56 +0000</pubDate>
				<category><![CDATA[Webinar]]></category>
		<guid isPermaLink="false">https://www.zero12.it/?p=13597</guid>

					<description><![CDATA[<p>Live Streaming 15 Giugno ore 14.30 Webinar Online Se stai valutando la migrazione sul cloud di workload Windows o cerchi maggiori informazioni sull’ottimizzazione delle licenze, iscriviti al nostro webinar by Zero12 Var Group Company che si terrà il 15 giugno alle ore 14.30. Scopri come OLA (Optimizing &#38; licensing assessment) ti aiuta a risparmiare dal [&#8230;]</p>
<p>L'articolo <a href="https://www.zero12.it/partecipa-al-live-streaming-riduci-i-costi-delle-licenze-windows-su-aws/">Partecipa al live streaming &#8220;Riduci i costi delle licenze Windows su AWS&#8221;</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Live Streaming 15 Giugno ore 14.30<br />
Webinar Online</h1>
<p>Se stai valutando la migrazione sul cloud di workload Windows o cerchi maggiori informazioni sull’ottimizzazione delle licenze, iscriviti al nostro webinar by Zero12 Var Group Company che si terrà il 15 giugno alle ore 14.30.</p>
<p>Scopri come <strong>OLA (Optimizing &amp; licensing assessment)</strong> ti aiuta a risparmiare dal 20 al 50% sui costi di licenza sul cloud AWS.<br />
OLA attraverso l’analisi dell’effettivo utilizzo delle risorse on prem e su cloud, oltre che le licenze di terze parti in uso e delle dipendenze tra le applicazioni, fornisce un report con i possibili spunti di ottimizzazione.</p>
<h2><span style="color: #e58600;">Programma OLA | 15 Giugno ore 14.30</span></h2>
<p>&nbsp;</p>
<h4><strong><span style="color: #00a9e1;">DURANTE IL LIVE TI RACCONTEREMO:</span></strong></h4>
<ul>
<li>Confronto sulle dinamiche tipiche del passaggio in cloud</li>
<li>Introduzione al programma OLA</li>
<li>Come affrontare un’assessment</li>
<li>Perché non perdere l’opportunità di svolgere un assessment OLA</li>
<li>Q&amp;A</li>
</ul>
<p>&nbsp;</p>
<h4><strong><span style="color: #00a9e1;">OSPITI:</span></strong></h4>
<ul>
<li><strong>Stefano Dindo </strong>&#8211; CEO di Zero12 &#8211; Var Group Company &#8211; Advanced partner AWS</li>
<li><strong>Tommaso Calosi </strong>&#8211; Acquisition Specialist &#8211; Migration Workloads &#8211; AWS</li>
</ul>
<p>&nbsp;</p>
<h2><span style="color: #e58600;">Spiacenti iscrizioni chiuse.<br />
Non hai potuto seguire il webinar?</span></h2>
<div  class='avia-button-wrap av-wteps5-ceedddff9968f0051e969f27f0cb6a89-wrap avia-button-Left  avia-builder-el-0  avia-builder-el-no-sibling '><a href='https://learning.zero12.it/riduci-i-costi-delle-licenze-windows-su-aws-programma-ola-video/' class='avia-button av-wteps5-ceedddff9968f0051e969f27f0cb6a89 avia-icon_select-no avia-size-large avia-position-Left avia-color-theme-color' target="_blank" rel="noopener noreferrer"><span class='avia_iconbox_title' >GUARDA LA REGISTRAZIONE!</span></a></div>
<p>L'articolo <a href="https://www.zero12.it/partecipa-al-live-streaming-riduci-i-costi-delle-licenze-windows-su-aws/">Partecipa al live streaming &#8220;Riduci i costi delle licenze Windows su AWS&#8221;</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Parentsmile lancia la prima piattaforma SaaS su AWS specializzata nei servizi assistenziali per le famiglie</title>
		<link>https://www.zero12.it/parentsmile-lancia-la-prima-piattaforma-saas-su-aws-specializzata-nei-servizi-assistenziali-per-le-famiglie/</link>
					<comments>https://www.zero12.it/parentsmile-lancia-la-prima-piattaforma-saas-su-aws-specializzata-nei-servizi-assistenziali-per-le-famiglie/#respond</comments>
		
		<dc:creator><![CDATA[Stefano Dindo]]></dc:creator>
		<pubDate>Mon, 23 May 2022 08:00:03 +0000</pubDate>
				<category><![CDATA[Articoli]]></category>
		<guid isPermaLink="false">https://www.zero12.it/?p=13549</guid>

					<description><![CDATA[<p>Parentsmile è nata dall’intuizione e dall’esperienza personale della madre della fondatrice, Cristina Lucera, che si è accorta che cercare un supporto medico qualificato per un genitore, sia a casa che a distanza, è un compito arduo e spesso un salto nel buio. Parentsmile è una piattaforma di prenotazione unica che integra servizi sanitari, formativi, educativi [&#8230;]</p>
<p>L'articolo <a href="https://www.zero12.it/parentsmile-lancia-la-prima-piattaforma-saas-su-aws-specializzata-nei-servizi-assistenziali-per-le-famiglie/">Parentsmile lancia la prima piattaforma SaaS su AWS specializzata nei servizi assistenziali per le famiglie</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong><a href="https://parentsmile.com/">Parentsmile</a></strong> è nata dall’intuizione e dall’esperienza personale della madre della fondatrice, Cristina Lucera, che si è accorta che cercare un supporto medico qualificato per un genitore, sia a casa che a distanza, è un compito arduo e spesso un salto nel buio.</p>
<p>Parentsmile è una piattaforma di prenotazione unica che integra servizi sanitari, formativi, educativi e di benessere psicofisico onnicomprensivo, concentrandosi sul settore dell&#8217;assistenza familiare.</p>
<p>Il ruolo di <strong>Zero12</strong>, <strong><a href="https://www.vargroup.it/">azienda del gruppo Var Group</a></strong> oltre che <strong><a href="https://partners.amazonaws.com/partners/001E000000Rp5ZpIAJ/VAR%20Group%20-%20ZERO12%20s.r.l.">AWS SaaS Competency Partner</a></strong> che ha seguito la progettazione della piattaforma, è stato quello di analizzare l&#8217;idea ed il modello di business del cliente, guidandolo nella scelta dei servizi da utilizzare e assicurandosi che lo sviluppo del codice fosse integrato ai servizi Amazon Web Services (AWS).</p>
<p>L’obiettivo era quello di fornire agli utenti finali un servizio che gestisse in maniera sicura i dati , oltre che essere affidabile e scalabile grazie ai servizi serverless.</p>
<p>Questo post dimostra come <strong>Zero12 ha costruito la piattaforma SaaS di Parentsmile</strong>; esponendo i principali servizi e logiche di sviluppo utilizzati, quali <strong><a href="https://aws.amazon.com/ecs/">Amazon Elastic Container Service</a></strong> (Amazon ECS), (Amazon ECS), il processo di continuous integration e continuous delivery (CI/CD) ed il workflow asincrono utilizzato per i pagamenti ed i reminders.</p>
<h2 style="color: #e58600; margin-top: 55px;">Cos’è Parentsmile</h2>
<p>La piattaforma Parentsmile consente a genitori, nonni e altri membri della famiglia di prenotare un&#8217;ampia gamma di servizi di supporto e orientamento, forniti da professionisti specializzati nel settore dell&#8217;assistenza familiare. Questi professionisti sono convalidati dal team di Parentsmile e forniscono le loro prestazioni sia in casa che tramite video in diretta, giorno o notte compresi i fine settimana.</p>
<p>La piattaforma offre un&#8217;offerta altamente differenziata, che consente agli utenti di trovare il supporto di cui hanno bisogno in un&#8217;unica piattaforma. Attualmente Parentsmile offre servizi di ostetriche, logopedisti, psicologi e psicoterapeuti, osteopati, nutrizionisti, educatori e presto includerà anche infermieri pediatrici, personal trainer, educatori e operatori dell&#8217;infanzia.</p>
<p>L&#8217;esperienza di acquisto unica di Parentsmile include molteplici servizi forniti da una rete di professionisti accuratamente selezionati, un&#8217;esperienza utente seamless (UX) e conferme di prenotazione in tempo reale.</p>
<p>Gli algoritmi di intelligenza artificiale (AI) associano automaticamente ogni utente al servizio più adatto in base alle sue esigenze, facendo risparmiare alle persone ore trascorse a navigare tra centinaia di profili professionali.</p>
<p><a href="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-1.png"><img decoding="async" class="aligncenter" src="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-1.png" alt="" width="600" height="" /></a></p>
<p style="text-align: center;"><em>Figura 1 &#8211; Design del front-end dell’applicazione.</em></p>
<p>Parentsmile si rivolge principalmente a tre tipologie di personas:</p>
<ul>
<li>Consumatori o utenti finali che effettuano prenotazioni, acquistano i servizi della piattaforma in tempo reale, e possono gestire le proprie prenotazioni in autonomia dalla propria area riservata.</li>
<li>Professionisti che forniscono e fatturano i loro servizi direttamente ai consumatori.</li>
<li>Lo staff di Parentsmile che gestisce l’ambiente di back-office.</li>
</ul>
<p>Parentsmile adotta un modello di business Saas basato sul pagamento di commissioni, ciò significa che la piattaforma trattiene una percentuale prestabilita sugli importi pagati dagli utenti finali.</p>
<h2 style="color: #e58600; margin-top: 55px;">Parentsmile Partnership</h2>
<p>La piattaforma Parentsmile è stata sviluppata da <strong>Zero12</strong>, società specializzata nella progettazione e sviluppo di soluzioni SaaS basate sulle tecnologie AWS.<br />
È uno dei pochi partner ad aver ottenuto l’AWS SaaS Competency, che certifica la loro capacità nello sviluppare soluzioni software sostenibili e scalabili. Parentsmile ha deciso di affidarsi a <strong>Zero12</strong> grazie alle skill dimostrate, quali:</p>
<ul>
<li>Capacità di trasformare le idee in soluzioni software.</li>
<li>Capacità di sviluppare software cloud-native con caratteristiche di scalabilità, efficienza operativa e resilienza.</li>
<li>Metodologia di lavoro che coniuga la puntualità nel rispetto del piano di sviluppo con la flessibilità necessaria nella creazione di una nuova soluzione digitale.</li>
</ul>
<h2 style="color: #e58600; margin-top: 55px;">Architettura dell&#8217;applicazione SaaS di Parentsmile</h2>
<p>La piattaforma di Parentsmile è stata progettata utilizzando un approccio a microservizi in modalità serverless che consente una perfetta integrazione tra software e architettura cloud.</p>
<p>La piattaforma è completamente serverless e offre la massima flessibilità e affidabilità grazie ai servizi gestiti AWS, che includono:</p>
<ul>
<li><a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html">Amazon ECS on AWS Fargate</a> per l’orchestrazione dei container serverless.</li>
<li><a href="https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html">Amazon DocumentDB con compatibilità MongoDB </a> per il database principale.</li>
<li><a href="https://aws.amazon.com/ses/">Amazon Simple Email Service</a> (Amazon SES) e <a href="https://aws.amazon.com/sns/">Amazon Simple Notification Service</a> (Amazon SNS) per inviare, rispettivamente,  e-mail e messaggi di testo.</li>
<li><a href="https://aws.amazon.com/s3/storage-classes/glacier/">Amazon Simple Storage Service</a> (Amazon S3) per archiviare file e consentire agli utenti di recuperarli tramite URL pre-signed.</li>
<li><a href="https://aws.amazon.com/cognito/">Amazon Cognito</a> per l&#8217;autenticazione degli utenti.</li>
<li><a href="https://aws.amazon.com/lambda/">AWS Lambda</a> per eseguire operazioni asincrone che verranno descritte più avanti in questo post.</li>
</ul>
<p><a href="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-2.png"><img decoding="async" class="aligncenter" src="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-2.png" alt="" width="600" height="" /></a></p>
<p style="text-align: center;"><em>Figura 2 &#8211; Applicazione front-end e infrastruttura principale back-end.</em></p>
<p>L&#8217;applicazione viene distribuita utilizzando Amazon ECS, mentre le attività in esecuzione su <strong><a href="https://aws.amazon.com/fargate/">AWS Fargate</a></strong> vengono replicate su due sottoreti private per essere altamente disponibili su almeno due <strong><a href="https://aws.amazon.com/about-aws/global-infrastructure/regions_az/">Zone di Disponibilità (AZ) AWS</a> </strong>.</p>
<p>Esistono tre piattaforme: una per gli amministratori di Parentsmile, una per i fornitori di servizi (ad esempio, operatori sanitari e di assistenza all&#8217;infanzia) e una per i consumatori.</p>
<p>Ciascuna è accessibile tramite <strong><a href="https://aws.amazon.com/cloudfront/">Amazon CloudFront</a></strong>, che distribuisce i file statici contenuti in Amazon S3. Utilizzando questi due servizi, aiutiamo a garantire scalabilità e affidabilità per gli utenti, nonché prestazioni elevate a livello globale.</p>
<p>Uno dei servizi offerti da Parentsmile è la videoconsulenza, detta anche visita a distanza. Per sviluppare questa funzionalità, Zero12 <a href="https://aws.amazon.com/chime/?chime-blog-posts.sort-by=item.additionalFields.createdDate&amp;chime-blog-posts.sort-order=desc">Amazon Chime</a> che ci ha permesso di concentrarci sulla logica di business.</p>
<h2 style="color: #e58600; margin-top: 55px;">Continuous Integration and Continuous Delivery</h2>
<p>La piattaforma Parentsmile è composta da un componente front-end e un componente back-end. Il processo di CI/CD viene avviato su <strong><a href="https://aws.amazon.com/codecommit/">AWS CodeCommit</a></strong>.</p>
<p>Per il front-end ed il back-end, vengono eseguiti rilasci costanti del codice modificato, in questo modo sarà distribuito solo il micro servizio modificato e non l’intero codice.</p>
<p>A tale scopo, la prima pipeline crea immagini Docker per ogni micro servizio aggiornato e le invia a <strong><a href="https://aws.amazon.com/ecr/">Amazon Elastic Container Registry</a></strong> (Amazon ECR). Quindi, per ogni immagine Amazon ECR,  <strong><a href="https://aws.amazon.com/cloudwatch/">Amazon CloudWatch</a></strong> attiva una pipeline che crea e distribuisce ogni immagine in Amazon ECS.</p>
<p><a href="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-3.png"><img decoding="async" class="aligncenter" src="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-3.png" alt="" width="500" height="" /></a></p>
<p style="text-align: center;"><em>Figura 3 &#8211; Architettura di Continuous integration e continuous delivery con servizi di sviluppo AWS.</em></p>
<h2 style="color: #e58600; margin-top: 55px;">Serverless Asynchronous Workflows</h2>
<p>La piattaforma utilizza la potenza di calcolo asincrono offerto da AWS Lambda e le funzionalità di <strong><a href="https://aws.amazon.com/step-functions/">AWS Step Functions</a></strong> per l&#8217;orchestrazione. Grazie a questi servizi, <strong>Zero12 </strong>è riuscita a gestire tutte le operazioni asincrone e a raggiungere sia gli obiettivi di ottimizzazione dei costi che una migliore esperienza utente.</p>
<p><em>La Figura 4,</em> di seguito, mostra in maniera semplificata un  workflow di Step Function, che viene normalmente utilizzato per pianificare i pagamenti (48 ore prima della data dell&#8217;appuntamento), le fatture mensili, le notifiche utente e creare la riunione Chime minuti prima dell&#8217;appuntamento.</p>
<p><a href="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-4.png"><img decoding="async" class="aligncenter" src="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-4.png" alt="" width="400" height="" /></a></p>
<p style="text-align: center;"><em>Figura 4 &#8211; Scheduling dell’infrastruttura con AWS Step Functions.</em></p>
<p>Per la pianificazione dei pagamenti è stato utilizzato Stripe, che, grazie ai suoi webhook, si integra con il flusso di lavoro asincrono attivando <strong><a href="https://aws.amazon.com/api-gateway/">Amazon API Gateway</a></strong>. Questo attiva AWS Lambda ogni volta che viene avviata un&#8217;azione.</p>
<p>I webhook Stripe forniscono notifiche anche quando un pagamento viene eseguito o rifiutato, o quando vengono eseguite azioni sull&#8217;account  dei professionisti, come ad esempio il pagamento mensile delle prestazioni eseguite.</p>
<p>Considerando il caso d&#8217;uso, la piattaforma Parentsmile necessita di un&#8217;infrastruttura altamente sicura, per questo abbiamo utilizzato il servizio <strong><a href="https://aws.amazon.com/kms/">AWS Key Management Service</a></strong> (AWS KMS) per la crittografica dei dati at rest mentre per quelli in transito, utilizziamo il protocollo HTTPS per comunicare con le nostre API.</p>
<p>Per quanto riguarda, invece, l&#8217;autenticazione e l&#8217;autorizzazione degli utenti ad accedere alle loro informazioni private utilizziamo Amazon Cognito. Sono presente anche degli utenti autorizzati possono eseguire operazioni amministrative.</p>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17">
#top .hr.hr-invisible.av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17{
height:30px;
}
</style>
<div  class='hr av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17 hr-invisible  avia-builder-el-0  el_before_av_image  avia-builder-el-first '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-tq6y15-9f8a4471f893725a1ae99a2893b6a6f4">
.avia-image-container.av-tq6y15-9f8a4471f893725a1ae99a2893b6a6f4 img.avia_image{
box-shadow:none;
}
.avia-image-container.av-tq6y15-9f8a4471f893725a1ae99a2893b6a6f4 .av-image-caption-overlay-center{
color:#ffffff;
}
</style>
<div  class='avia-image-container av-tq6y15-9f8a4471f893725a1ae99a2893b6a6f4 av-styling-circle avia-align-left  avia-builder-el-1  el_after_av_hr  el_before_av_hr '   itemprop="image" itemscope="itemscope" itemtype="https://schema.org/ImageObject" ><div class="avia-image-container-inner"><div class="avia-image-overlay-wrap"><img decoding="async" class='wp-image-13088 avia-img-lazy-loading-not-13088 avia_image ' src="https://www.zero12.it/wp-content/uploads/2022/03/Stefano_D-80x80.jpg" alt='' title='Stefano_D'  height="80" width="80"  itemprop="thumbnailUrl" srcset="https://www.zero12.it/wp-content/uploads/2022/03/Stefano_D-80x80.jpg 80w, https://www.zero12.it/wp-content/uploads/2022/03/Stefano_D-36x36.jpg 36w, https://www.zero12.it/wp-content/uploads/2022/03/Stefano_D-180x180.jpg 180w, https://www.zero12.it/wp-content/uploads/2022/03/Stefano_D.jpg 250w" sizes="(max-width: 80px) 100vw, 80px" /></div></div></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed">
#top .hr.hr-invisible.av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed{
height:15px;
}
</style>
<div  class='hr av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed hr-invisible  avia-builder-el-2  el_after_av_image  el_before_av_textblock '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>
<section  class='av_textblock_section av-k7uo2fcf-636995ac18f3c8633aa728a2a41b0530'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><h3><strong>Stefano Dindo</strong></h3>
</div></section>
<section  class='av_textblock_section av-k7uo2fcf-472f3aab92f8a04266faefda8e997ca2'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><p>CEO Zero12 s.r.l. &#8211; Var Group Company</p>
</div></section>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-jt7fpl-85a090d0173d60d8e11d73ae147894bd">
.av_font_icon.av-jt7fpl-85a090d0173d60d8e11d73ae147894bd{
color:#00afe4;
border-color:#00afe4;
}
.av_font_icon.av-jt7fpl-85a090d0173d60d8e11d73ae147894bd .av-icon-char{
font-size:25px;
line-height:25px;
}
</style>
<span  class='av_font_icon av-jt7fpl-85a090d0173d60d8e11d73ae147894bd avia_animate_when_visible av-icon-style- avia-icon-pos-left avia-icon-animate'><a href='https://www.linkedin.com/in/stefanodindo/' target="_blank" rel="noopener noreferrer" class='av-icon-char' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></a></span>
<p>L'articolo <a href="https://www.zero12.it/parentsmile-lancia-la-prima-piattaforma-saas-su-aws-specializzata-nei-servizi-assistenziali-per-le-famiglie/">Parentsmile lancia la prima piattaforma SaaS su AWS specializzata nei servizi assistenziali per le famiglie</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zero12.it/parentsmile-lancia-la-prima-piattaforma-saas-su-aws-specializzata-nei-servizi-assistenziali-per-le-famiglie/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Parentsmile Launches First Family Care SaaS Platform on AWS</title>
		<link>https://www.zero12.it/parentsmile-launches-first-family-care-saas-platform-on-aws/</link>
					<comments>https://www.zero12.it/parentsmile-launches-first-family-care-saas-platform-on-aws/#respond</comments>
		
		<dc:creator><![CDATA[Stefano Dindo]]></dc:creator>
		<pubDate>Mon, 23 May 2022 07:00:36 +0000</pubDate>
				<category><![CDATA[Articoli]]></category>
		<guid isPermaLink="false">https://www.zero12.it/?p=13419</guid>

					<description><![CDATA[<p>Parentsmile was born from an intuition and the personal experience of the founder’s mother, Cristina Lucera, who became aware that looking for qualified support for a parent whether at home or remotely is a hard task and often a leap in the dark. Parentsmile is a unique reservation platform that integrates healthcare, training, educational, and [&#8230;]</p>
<p>L'articolo <a href="https://www.zero12.it/parentsmile-launches-first-family-care-saas-platform-on-aws/">Parentsmile Launches First Family Care SaaS Platform on AWS</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong><a href="https://parentsmile.com/">Parentsmile</a></strong> was born from an intuition and the personal experience of the founder’s mother, Cristina Lucera, who became aware that looking for qualified support for a parent whether at home or remotely is a hard task and often a leap in the dark.</p>
<p>Parentsmile is a unique reservation platform that integrates healthcare, training, educational, and all-encompassing psychophysical well-being services, focusing on the family care sector.</p>
<p>The role of <strong>Zero12</strong>, <strong><a href="https://www.vargroup.it/">a Var Group company</a></strong> and <strong><a href="https://partners.amazonaws.com/partners/001E000000Rp5ZpIAJ/VAR%20Group%20-%20ZERO12%20s.r.l.">AWS SaaS Competency Partner</a></strong>, in designing the Parentsmile platform architecture was to analyze the client’s idea and business model, lead them in the choice of services to use, and ensure the development of code was integrated with Amazon Web Services (AWS).</p>
<p>The goal was to provide end users with service reliability and data security, as well as the stability and scalability of the server-free solution.</p>
<p>This post demonstrates how <strong>Zero12 built Parentsmile’s SaaS platform</strong>; exploring the main infrastructure with <strong><a href="https://aws.amazon.com/ecs/">Amazon Elastic Container Service</a></strong> (Amazon ECS), the continuous integration and continuous delivery (CI/CD) process, and the asynchronous workflow for payments and reminders.</p>
<h2 style="color: #e58600; margin-top: 55px;">About Parentsmile</h2>
<p>The Parentsmile platform allows parents, grandparents, and other family members to reserve a wide range of support and orientation services provided by professionals specialized in the family care sector. These professionals are validated by the Parentsmile team and available to the whole family either at home or through live video day or night including the weekends.</p>
<p>The platform provides a highly differentiated offer, which allows users to find the support they need in a single platform. Currently, Parentsmile offers the services of midwives, speech therapists, psychologists and psychotherapists, osteopaths, nutritionists, educationists, and will soon include pediatric nurses, personal trainers, educators, and childcare workers.</p>
<p>Parentsmile’s unique shopping experience includes multiple services provided by a network of carefully selected professionals, a seamless user experience (UX), and real-time booking confirmations.</p>
<p>Artificial intelligence (AI) algorithms automatically associate each user with the most suitable service depending on their needs, saving people hours spent browsing hundreds of professional profiles.</p>
<p><a href="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-1.png"><img decoding="async" class="aligncenter" src="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-1.png" alt="" width="600" height="" /></a></p>
<p style="text-align: center;"><em>Figure 1 – Front-end application design.</em></p>
<p>Parentsmile is focused on three main personas:</p>
<ul>
<li>Consumers or end users who make reservations, purchase the platform services in real-time, and can manage their own reservations autonomously from their reserved area.</li>
<li>Professionals who provide and bill their services to consumers directly.</li>
<li>Parentsmile operators who manage the back-office environment.</li>
</ul>
<p>Parentsmile adopts a commission-based SaaS business model, meaning the platform retains a given percentage of the amount paid by end users to professionals for the services.</p>
<h2 style="color: #e58600; margin-top: 55px;">Parentsmile Partnership</h2>
<p>The Parentsmile platform was developed by <strong>Zero12</strong>, a company specializing in the design and development of SaaS solutions based on AWS technologies.</p>
<p>As one of few AWS Partners to have the AWS SaaS Competency, which certifies their ability to develop scalable and sustainable cloud-native software solutions, Parentsmile decided to use <strong>Zero12</strong>’s skills, including:</p>
<ul>
<li>Ability to turn ideas into software.</li>
<li>Ability to develop cloud-native software that takes advantage of cloud services to have a scalable, efficient, and robust software solution.</li>
<li>Working methodology that combines punctuality with flexibility and necessary changes with respect to the development plan of a new digital solution.</li>
</ul>
<h2 style="color: #e58600; margin-top: 55px;">Parentsmile SaaS Application Architecture</h2>
<p>The Parentsmile platform was implemented using a microservice-based approach, leveraging the most recent serverless development paradigms. This helped ensure a seamless integration between software and cloud architecture.</p>
<p>The platform is completely serverless and offers the highest flexibility and reliability of AWS managed services, which include:</p>
<ul>
<li><a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html">Amazon ECS on AWS Fargate</a> for serverless container orchestration.</li>
<li><a href="https://docs.aws.amazon.com/documentdb/latest/developerguide/compatibility.html">Amazon DocumentDB with MongoDB compatibility</a> for the main database.</li>
<li><a href="https://aws.amazon.com/ses/">Amazon Simple Email Service</a> (Amazon SES) and <a href="https://aws.amazon.com/sns/">Amazon Simple Notification Service</a> (Amazon SNS) to send emails and text messages, respectively.</li>
<li><a href="https://aws.amazon.com/s3/storage-classes/glacier/">Amazon Simple Storage Service</a> (Amazon S3) to store files and let users retrieve using a pre-signed URL.</li>
<li><a href="https://aws.amazon.com/cognito/">Amazon Cognito</a> to authenticate users.</li>
<li><a href="https://aws.amazon.com/lambda/">AWS Lambda</a> to perform asynchronous operations which are described later in this post.</li>
</ul>
<p><a href="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-2.png"><img decoding="async" class="aligncenter" src="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-2.png" alt="" width="600" height="" /></a></p>
<p style="text-align: center;"><em>Figure 2 – Front-end application and back-end main infrastructure.</em></p>
<p>The application is deployed using Amazon ECS. Tasks running on <strong><a href="https://aws.amazon.com/fargate/">AWS Fargate</a></strong> are replicated on two private subnets to be highly available on at least two <strong><a href="https://aws.amazon.com/about-aws/global-infrastructure/regions_az/">AWS Availability Zones</a> </strong>(AZs).</p>
<p>There are three platforms: one for Parentsmile administrators, one for service providers (for example, healthcare and childcare professionals), and one for consumers. Each is accessible using <strong><a href="https://aws.amazon.com/cloudfront/">Amazon CloudFront</a></strong>, which serves static files from Amazon S3. Using those two services, we help ensure scalability and reliability for users, as well as high performance on a global level.</p>
<p>One of the services offered by Parentsmile is a video consultation, also referred to as a remote examination. To develop this feature, <strong>Zero12</strong> evaluated the <strong><a href="https://aws.amazon.com/chime/?chime-blog-posts.sort-by=item.additionalFields.createdDate&amp;chime-blog-posts.sort-order=desc">Amazon Chime</a></strong> managed service, which allowed us to focus on the business logic.</p>
<h2 style="color: #e58600; margin-top: 55px;">Continuous Integration and Continuous Delivery</h2>
<p>The Parentsmile platform consists of a front-end and a back-end component. The CI/CD process starts on <strong><a href="https://aws.amazon.com/codecommit/">AWS CodeCommit</a></strong>.</p>
<p>For front-end and back-end, constant releases are performed for the code that’s been changed, so that if only one microservice is modified, then only the updated microservice will be deployed.</p>
<p>To do this, the first pipeline builds Docker images for every updated microservice and pushes them to <strong><a href="https://aws.amazon.com/ecr/">Amazon Elastic Container Registry</a> </strong>(Amazon ECR). Then, for each Amazon ECR image, a pipeline is triggered by <strong><a href="https://aws.amazon.com/cloudwatch/">Amazon CloudWatch</a></strong> and it builds and deploys each image to Amazon ECS.</p>
<p><a href="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-3.png"><img decoding="async" class="aligncenter" src="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-3.png" alt="" width="500" height="" /></a></p>
<p style="text-align: center;"><em>Figure 3 – Continuous integration and continuous delivery architecture with AWS developer tools.</em></p>
<h2 style="color: #e58600; margin-top: 55px;">Serverless Asynchronous Workflows</h2>
<p>The platform leverages the asynchronous calculation power offered by AWS Lambda and orchestration using <strong><a href="https://aws.amazon.com/step-functions/">AWS Step Functions</a></strong>. Using Lambda functions, <strong>Zero12</strong> managed to handle all asynchronous operations and achieve both goals of cost optimization and an improved user experience.</p>
<p><em>Figure 4</em> below shows an over-simplified setup of our Step Function workflow, which is normally used to schedule payments 48 hours prior to the appointment date, monthly invoices, user notifications, and create a Chime meeting minutes prior to the appointment.</p>
<p><a href="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-4.png"><img decoding="async" class="aligncenter" src="https://www.zero12.it/wp-content/uploads/2022/05/Zero12-Parentsmile-Saas-4.png" alt="" width="400" height="" /></a></p>
<p style="text-align: center;"><em>Figure 4 – Scheduling infrastructure with AWS Step Functions.</em></p>
<p>Stripe was used for payment scheduling, which, thanks to its webhooks, integrates with the asynchronous workflow triggering <strong><a href="https://aws.amazon.com/api-gateway/">Amazon API Gateway</a></strong>. This turns to AWS Lambda whenever an action is triggered.</p>
<p>Stripe webhooks also provide notifications when a payment is done or has been rejected, or even when there are actions on the professional connected account, such as the professional monthly payout.</p>
<p>Considering the use case, the Parentsmile platform needs the infrastructure to be highly secure. We use encryption at-rest with <strong><a href="https://aws.amazon.com/kms/">AWS Key Management Service</a></strong> (AWS KMS) and to protect data in transit, we use HTTPS protocol to communicate with our APIs.</p>
<p>Moreover, we use Amazon Cognito to authenticate and authorize users to access their private information. Authorized users can perform administrative operations.</p>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17">
#top .hr.hr-invisible.av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17{
height:30px;
}
</style>
<div  class='hr av-14n76g9-1ee309e4fac6211226dceaef3fd5ee17 hr-invisible  avia-builder-el-0  el_before_av_image  avia-builder-el-first '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-tq6y15-9f8a4471f893725a1ae99a2893b6a6f4">
.avia-image-container.av-tq6y15-9f8a4471f893725a1ae99a2893b6a6f4 img.avia_image{
box-shadow:none;
}
.avia-image-container.av-tq6y15-9f8a4471f893725a1ae99a2893b6a6f4 .av-image-caption-overlay-center{
color:#ffffff;
}
</style>
<div  class='avia-image-container av-tq6y15-9f8a4471f893725a1ae99a2893b6a6f4 av-styling-circle avia-align-left  avia-builder-el-1  el_after_av_hr  el_before_av_hr '   itemprop="image" itemscope="itemscope" itemtype="https://schema.org/ImageObject" ><div class="avia-image-container-inner"><div class="avia-image-overlay-wrap"><img decoding="async" class='wp-image-13088 avia-img-lazy-loading-not-13088 avia_image ' src="https://www.zero12.it/wp-content/uploads/2022/03/Stefano_D-80x80.jpg" alt='' title='Stefano_D'  height="80" width="80"  itemprop="thumbnailUrl" srcset="https://www.zero12.it/wp-content/uploads/2022/03/Stefano_D-80x80.jpg 80w, https://www.zero12.it/wp-content/uploads/2022/03/Stefano_D-36x36.jpg 36w, https://www.zero12.it/wp-content/uploads/2022/03/Stefano_D-180x180.jpg 180w, https://www.zero12.it/wp-content/uploads/2022/03/Stefano_D.jpg 250w" sizes="(max-width: 80px) 100vw, 80px" /></div></div></div>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed">
#top .hr.hr-invisible.av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed{
height:15px;
}
</style>
<div  class='hr av-4l6mux-dc8cf917a1416ebd9cb57d606db7ebed hr-invisible  avia-builder-el-2  el_after_av_image  el_before_av_textblock '><span class='hr-inner '><span class="hr-inner-style"></span></span></div>
<section  class='av_textblock_section av-k7uo2fcf-636995ac18f3c8633aa728a2a41b0530'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><h3><strong>Stefano Dindo</strong></h3>
</div></section>
<section  class='av_textblock_section av-k7uo2fcf-472f3aab92f8a04266faefda8e997ca2'  itemscope="itemscope" itemtype="https://schema.org/BlogPosting" itemprop="blogPost" ><div class='avia_textblock'  itemprop="text" ><p>CEO Zero12 s.r.l. &#8211; Var Group Company</p>
</div></section>

<style type="text/css" data-created_by="avia_inline_auto" id="style-css-av-jt7fpl-85a090d0173d60d8e11d73ae147894bd">
.av_font_icon.av-jt7fpl-85a090d0173d60d8e11d73ae147894bd{
color:#00afe4;
border-color:#00afe4;
}
.av_font_icon.av-jt7fpl-85a090d0173d60d8e11d73ae147894bd .av-icon-char{
font-size:25px;
line-height:25px;
}
</style>
<span  class='av_font_icon av-jt7fpl-85a090d0173d60d8e11d73ae147894bd avia_animate_when_visible av-icon-style- avia-icon-pos-left avia-icon-animate'><a href='https://www.linkedin.com/in/stefanodindo/' target="_blank" rel="noopener noreferrer" class='av-icon-char' aria-hidden='true' data-av_icon='' data-av_iconfont='entypo-fontello'></a></span>
<p>L'articolo <a href="https://www.zero12.it/parentsmile-launches-first-family-care-saas-platform-on-aws/">Parentsmile Launches First Family Care SaaS Platform on AWS</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.zero12.it/parentsmile-launches-first-family-care-saas-platform-on-aws/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Partecipa alla Terza puntata del SAP Cloud Journey &#8220;SAP on AWS&#8221;</title>
		<link>https://www.zero12.it/partecipa-alla-terza-puntata-del-sap-cloud-journey-sap-on-aws/</link>
		
		<dc:creator><![CDATA[Stefano Dindo]]></dc:creator>
		<pubDate>Fri, 20 May 2022 08:00:39 +0000</pubDate>
				<category><![CDATA[Webinar]]></category>
		<guid isPermaLink="false">https://www.zero12.it/?p=13592</guid>

					<description><![CDATA[<p>Live Streaming Martedì 31 Maggio ore 11.00 Webinar Online Dopo la prime due puntate che hanno evidenziato la forte evoluzione digitale delle aziende negli ultimi anni con attore principale il cloud, il SAP Cloud Journey continua con il terzo appuntamento dedicato al mondo SAP on AWS. Tra gli scenari proposti nella prime due puntate abbiamo [&#8230;]</p>
<p>L'articolo <a href="https://www.zero12.it/partecipa-alla-terza-puntata-del-sap-cloud-journey-sap-on-aws/">Partecipa alla Terza puntata del SAP Cloud Journey &#8220;SAP on AWS&#8221;</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Live Streaming Martedì 31 Maggio ore 11.00<br />
Webinar Online</h1>
<p>Dopo la prime due puntate che hanno evidenziato la forte evoluzione digitale delle aziende negli ultimi anni con attore principale il cloud, il SAP Cloud Journey continua con il terzo appuntamento dedicato al mondo <strong>SAP on AWS</strong>.</p>
<p>Tra gli scenari proposti nella prime due puntate abbiamo parlato del Public Cloud, in questa terza approfondiamo lo scenario Public con Amazon Web Services e con le potenzialità del Cloud AWS per SAP.</p>
<p>Non mancheranno esperienze reali attraverso success cases approfonditi direttamente dai clienti protagonisti. A coordinare il tutto resta Var Group che ha tutte le competenze per supportare al meglio lo scenario complessivo.</p>
<h2><span style="color: #e58600;">SAP on AWS | 31 Maggio ore 11.00</span></h2>
<p>&nbsp;</p>
<h4><strong><span style="color: #00a9e1;">DURANTE IL LIVE </span></strong><strong><span style="color: #00a9e1;">TI RACCONTEREMO:</span></strong></h4>
<ul>
<li>I possibili scenari e le caratteristiche di una soluzione Cloud AWS</li>
<li>Gli aspetti fondamentali da considerare per adottare SAP on AWS</li>
<li>Esperienze dirette e concrete con aziende che hanno scelto una soluzione in Cloud AWS</li>
<li>L&#8217;approccio consulenziale di Var Group</li>
</ul>
<p>&nbsp;</p>
<h4><strong><span style="color: #00a9e1;">CON OSPITI:</span></strong></h4>
<ul>
<li><strong>Angelo Amoroso &#8211;</strong>Cloud Advisory Manager &#8211; Var Group Digital Cloud</li>
<li><strong>Paola Gambina &#8211; </strong>SAP Solution Architect Specialist &#8211; Amazon Web Services</li>
<li><strong>Luigi Lipparini &#8211;</strong>Enterprise Sales Specialist SAP &#8211; Amazon Web Services</li>
<li><strong>Gabriele Ballarin &#8211; </strong>CIO &#8211; UNOX</li>
<li><strong>Francesco Cavarero &#8211;</strong>CIO &#8211; Miroglio Group</li>
<li><strong>Gabriele Mutti &#8211; </strong>SAP Product Sales Specialist &#8211; SUSE</li>
</ul>
<p>&nbsp;</p>
<h4><strong><span style="color: #00a9e1;">E RICORDATI CHE&#8230;IL JOURNEY CONTINUA:</span></strong></h4>
<p>Durante l&#8217;evento ti comunicheremo tutti i dettagli del prossimo appuntamento.<br />
Non ci fermiamo qua! Stay Tuned!</p>
<p>&nbsp;</p>
<h2><span style="color: #e58600;">Spiacenti iscrizioni chiuse.</span></h2>
<h2><span style="color: #e58600;">Non hai potuto seguire il webinar?</span></h2>
<div  class='avia-button-wrap av-wteps5-48d0e4520414379225898f55d06789d1-wrap avia-button-Left  avia-builder-el-0  avia-builder-el-no-sibling '><a href='https://vargroup.microsoftcrmportals.com/SAP-On-AWS-Guarda-il-video/' class='avia-button av-wteps5-48d0e4520414379225898f55d06789d1 avia-icon_select-no avia-size-large avia-position-Left avia-color-theme-color' target="_blank" rel="noopener noreferrer"><span class='avia_iconbox_title' >GUARDA LA REGISTRAZIONE!</span></a></div>
<p>L'articolo <a href="https://www.zero12.it/partecipa-alla-terza-puntata-del-sap-cloud-journey-sap-on-aws/">Partecipa alla Terza puntata del SAP Cloud Journey &#8220;SAP on AWS&#8221;</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Zero12 e Var Group Gold Sponsor all’AWS Summit Milano 2022</title>
		<link>https://www.zero12.it/zero12-e-var-group-gold-sponsor-allaws-summit-milano-2022/</link>
		
		<dc:creator><![CDATA[Stefano Dindo]]></dc:creator>
		<pubDate>Sat, 14 May 2022 08:00:15 +0000</pubDate>
				<category><![CDATA[Eventi]]></category>
		<guid isPermaLink="false">https://www.zero12.it/?p=13451</guid>

					<description><![CDATA[<p>Zero12 e Var Group Gold Sponsor all’AWS Summit Milano 2022 21-22 giugno Milano &#8211; MiCO Stand G5 Innovatori e appassionati di tecnologia si incontrano per creare connessioni, collaborare e approfondire le opportunità del cloud Amazon Web Services. Zero12, centro di competenza Digital Cloud di Var Group, è Gold Sponsor dell’AWS Summit Milano, il principale evento [&#8230;]</p>
<p>L'articolo <a href="https://www.zero12.it/zero12-e-var-group-gold-sponsor-allaws-summit-milano-2022/">Zero12 e Var Group Gold Sponsor all’AWS Summit Milano 2022</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Zero12 e Var Group Gold Sponsor all’AWS Summit Milano 2022<br />
21-22 giugno Milano &#8211; MiCO<br />
Stand G5</h1>
<p>Innovatori e appassionati di tecnologia si incontrano per creare connessioni, collaborare e approfondire le opportunità del cloud Amazon Web Services.</p>
<p><strong>Zero12</strong>, centro di competenza <strong><span style="color: #00a9e1;">Digital Cloud di Var Group</span></strong>, è <strong>Gold Sponsor dell’AWS Summit Milano</strong>, il principale evento annuale dedicato ai servizi cloud di Amazon Web Services (AWS) che torna in presenza per approfondire come il cloud sta abilitando opportunità di innovazione, imprenditorialità e trasformazione digitale per aziende di ogni dimensione e settore.</p>
<p><strong>Non perdere questa occasione!</strong></p>
<p><strong><span style="color: #00a9e1;">Passa a salutarci allo stand G5</span></strong> e scopri quale sorpresa abbiamo preparato per i nostri visitatori che accoglieranno la sfida “Stop &amp; Play”.</p>
<p><strong><span style="color: #00a9e1;">Segui la nostra sessione</span></strong> “Sviluppare una unified retail experience con i servizi AWS”.<br />
Con Stefano Dindo parleremo del ruolo sempre più centrale del Retail e dell’importanza dello spazio esperenziale nella Customer Journey.</p>
<h2><span style="color: #e58600;">Appuntamento il 21 e 22 Giugno<br />
ore 8:30 – 17:00 – MiCO (Milano Convention Centre)<br />
Stand G5</span></h2>
<p>&nbsp;</p>
<div  class='avia-button-wrap av-wteps5-a43845cda41454d97c7d2fa7937badcc-wrap avia-button-Left  avia-builder-el-0  el_before_av_button  avia-builder-el-first '><a href='https://pages.awscloud.com/milan-summit-2022-registration.html' class='avia-button av-wteps5-a43845cda41454d97c7d2fa7937badcc avia-icon_select-no avia-size-large avia-position-Left avia-color-theme-color' target="_blank" rel="noopener noreferrer"><span class='avia_iconbox_title' >Registrati gratuitamente qui!</span></a></div>
<div  class='avia-button-wrap av-wteps5-eb41ceb10f36292ebb483497ded6a612-wrap avia-button-Left  avia-builder-el-1  el_after_av_button  avia-builder-el-last '><a href='https://www.google.it/maps/place/MiCo+%E2%80%A2+Milano+Convention+Centre/@45.4814319,9.1513437,17z/data=!3m1!5s0x4786c10d38e671eb:0x1e3146974449414c!4m5!3m4!1s0x4786c112eaeffe77:0x6c1c03719d72cec5!8m2!3d45.4814282!4d9.1535377?hl=it' class='avia-button av-wteps5-eb41ceb10f36292ebb483497ded6a612 avia-icon_select-no avia-size-large avia-position-Left avia-color-theme-color' target="_blank" rel="noopener noreferrer"><span class='avia_iconbox_title' >Scopri come raggiungerci!</span></a></div>
<p>L'articolo <a href="https://www.zero12.it/zero12-e-var-group-gold-sponsor-allaws-summit-milano-2022/">Zero12 e Var Group Gold Sponsor all’AWS Summit Milano 2022</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Rivedi il live streaming &#8220;Application Modernization&#8221; &#8211; Guarda ora il video!</title>
		<link>https://www.zero12.it/partecipa-al-live-streaming-application-modernization-guarda-il-video/</link>
		
		<dc:creator><![CDATA[Stefano Dindo]]></dc:creator>
		<pubDate>Sat, 07 May 2022 12:18:30 +0000</pubDate>
				<category><![CDATA[Webinar]]></category>
		<guid isPermaLink="false">https://www.zero12.it/?p=13406</guid>

					<description><![CDATA[<p>Live Streaming 06 Aprile ore 17.30 Webinar Online Il Cloud ha ridefinito, e lo farò ancora di più nel prossimo futuro, i paradigmi di sviluppo del software e le dinamiche di provisioning delle risorse.​ Per questo motivo abbiamo pensato di creare un momento di confronto dove, insieme ad Amazon Web Services, condivide le esperienze di [&#8230;]</p>
<p>L'articolo <a href="https://www.zero12.it/partecipa-al-live-streaming-application-modernization-guarda-il-video/">Rivedi il live streaming &#8220;Application Modernization&#8221; &#8211; Guarda ora il video!</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Live Streaming 06 Aprile ore 17.30<br />
Webinar Online</h1>
<p>Il Cloud ha ridefinito, e lo farò ancora di più nel prossimo futuro, i paradigmi di <strong>sviluppo del software</strong> e le dinamiche di <strong>provisioning delle risorse</strong>.​</p>
<p>Per questo motivo abbiamo pensato di creare un momento di confronto dove, insieme ad Amazon Web Services, condivide le esperienze di <strong>modernizzazione di software applicativi</strong> nati in altre epoche informatiche.</p>
<h2><span style="color: #e58600;">Non hai potuto seguire il webinar?</span></h2>
<div  class='avia-button-wrap av-wteps5-56f7e600346f69d53048f1bef7cdde6b-wrap avia-button-Left  avia-builder-el-0  avia-builder-el-no-sibling '><a href='https://learning.zero12.it/application-modernization-6-aprile-guarda-il-video/' class='avia-button av-wteps5-56f7e600346f69d53048f1bef7cdde6b avia-icon_select-no avia-size-large avia-position-Left avia-color-theme-color' target="_blank" rel="noopener noreferrer"><span class='avia_iconbox_title' >GUARDA LA REGISTRAZIONE!</span></a></div>
<p>L'articolo <a href="https://www.zero12.it/partecipa-al-live-streaming-application-modernization-guarda-il-video/">Rivedi il live streaming &#8220;Application Modernization&#8221; &#8211; Guarda ora il video!</a> proviene da <a href="https://www.zero12.it">Zero12</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
