Mai sentito parlare di Azure Stack?

L’altro giorno stavo guardando questo video della serie #TecHeroes con Paola Presutto che spiega un pochettino cosa sia Azure Stack.

PaolaPAzureStack.png

Ne avevo sentito parlare ma non avevo mai approfondito l’argomento e allora, incuriosito da questo interessante video mi sono messo a cercare un po’ di informazioni.

Cosa è Azure Stack

Azure Stack è stato presentato durante la conferenza americana Ignite del 2015, e pubblicato in Technical Preview 1 a fine gennaio 2016, e si tratta di una piattaforma per il cloud “ibrido”, ovvero da installare nei propri datacenter, basata sullo stesso modello e sulle stesse tecnologie di Azure. Banalizzando il concetto in due parole, una sorta di “Azure installabile in casa”.

In realtà non ci sono (ancora) il 100% delle funzionalità di Azure, ma è comunque una buona soluzione PaaS/IaaS che va incontro a tutte quelle aziende che hanno ancora “paura” di portare i loro “beni” al di fuori dei loro confini.

Microsoft ha fatto quindi una mossa per la serie: se Maometto non va alla montagna, è la montagna che va da Maometto”, e per quanto ne so, non esistono altre piattaforme cloud che abbiano fatto qualcosa di simile.
Questo rappresenta sicuramente una nuova categoria di prodotti, qualcosa che potremmo classificare come “hybrid cloud platform” o simile.

Quali sono i requisiti per poterlo installare

Se avete i requisiti hw e sw qui elencati e volete avere il cloud in casa vostra, potete provare questa Technical Preview 1 di Azure Stack.

Ovviamente non si tratta di una installazione che si può fare in casa, a meno che non abbiate a disposizione un server con un minimo di 12 core e 96 GB di ram (e in quel caso vi invidierei moltissimo).
Il tutto può essere comunque installato su una sola macchina fisica.

Io purtroppo non ho a disposizione i requisiti minimi richiesti, e quindi cercherò di capire qualcosa in più dando un’occhiata in rete per capire se qualcuno ha avuto esperienze al riguardo.

Ad ogni modo, Microsoft vuole semplificare più possibile questo requisito, tanto che si sta interfacciando con i suoi vendor di riferimento per definire delle soluzioni hardware specificatamente progettate per Azure Stack.

Qual è il target di riferimento

Il target è sicuramente quello aziendale, con una infrastruttura di un certo livello ed esigenze ben specifiche.

Anche la procedura di installazione, sebbene Microsoft tenda sempre a semplificarla a vantaggio degli utenti, in questo caso non è proprio alla portata di tutti.

Quindi hardware e software come da requisiti si, ma anche figure capaci di “costruire” una infrastruttura ex-novo (praticamente) e di saperla poi governare adeguatamente.

Insomma è un gran bel giocattolo ma bisogna saperlo usare. Staremo a vedere in futuro se ci saranno casi concreti da esaminare.

Caratteristiche e concetti principali di Azure Stack

Vista la consistenza di questo “prodotto”, sul portale avremo (stando alle immagini sul sito ufficiale) la stessa esperienza utente che abbiamo su Azure:

image3

Questo rappresenta un ovvio vantaggio per chi è già pratico del cloud di Microsoft. Infatti con le stesse funzionalità (su fronti diversi) si potranno gestire contemporaneamente le risorse nel proprio datacenter, le risorse su Azure e le risorse su altri datacenter (se avviati con lo stesso prodotto).

E come il cloud di Microsoft, da questa installazione si potranno creare piani e sottoscrizioni per poter rendere disponibili i vari servizi nell’ecosistema di destinazione.
Nei piani potranno essere configurati i vari servizi disponibili con le quote decise per ogni servizio (per esempio banda massima utilizzabile, percentuale cpu massima utilizzabile, ecc.).

Insomma con Azure Stack ne vedremo delle belle!

Mai sentito parlare di Azure Stack?

Come creare un progetto ASP.NET Web Application con Umbraco 7.1.4

Alcuni giorni fa ho cominciato a dare un’occhiata ad Umbraco, un CMS che esiste ormai da svariati anni e che alcuni siti usano con soddisfazione, e dato che devo rifare il mio sito personale, ho pensato che potesse essere una valida alternativa, anche perchè è open-source, è scritto in C#, e mi sembra abbastanza ben strutturato.

In termini numerici non è un CMS molto utilizzato, specialmente se paragonato ad altri (ad es. JOOMLA) che ormai a livello mondiale hanno una diffusione nettamente superiore, ma per le mie necessità questo sembra più che sufficiente.

Dalla versione 6 in poi (al momento in cui scrivo siamo alla 7.1.4) questo CMS basato su ASP.NET ha “svoltato” passando dalle “vecchie” webform ad MVC, e con esso ha introdotto anche la possibilità di esporre delle funzionalità REST tramite le Web API di Microsoft.

Per capirne meglio il funzionamento, sono ricorso ai video a pagamento disponibili sul sito di Umbraco.tv (eh si, quando è necessario bisogna spenderlo qualche soldino) e quello che viene spiegato è che, per installare Umbraco, la via più semplice è quella di utilizzare WebMatrix 3, uno strumento di Microsoft che consente l’installazione e l’editing di siti web anche a partire da piattaforme esistenti.

Effettivamente è così, l’utilizzo di WebMatrix 3 rende tutto più semplice, solo che il progetto creato è un web site e non una web application, e non pare sia possibile scegliere altrimenti.

Chi sviluppa con ASP.NET sa che ci sono differenze sostanziali tra queste due tipologie di progetto, anche se poi il risultato per l’utente finale non cambia niente. Il problema è che però, dai video di esempio di Umbraco.TV l’esposizione di Web API viene fatta sempre tramite l’utilizzo di web application e non web site. Sfortunatamente tra i tantissimi video presenti, non ce ne era alcuno che mostrasse come installare Umbraco in modalità web application.

Avevo tentato anche di esporre delle chiamate con Web API sul web site ma avevo avuto diversi problemi con controller e model per la mancanza di namespace nel codice. E poi personalmente i web site mi sono sempre stati antipatici, per tutta una serie di motivi che non sto qui ad elencare, per cui mi sono messo letteralmente a smanettare e sono riuscito alla fine a trovare un modo per creare un progetto di tipo web application con Umbraco, capace quindi di poter “ospitare” agevolmente dei servizi REST con Web API. Per farlo sono ricorso all’utilizzo di NuGet.

Di seguito vi elenco tutti i passaggi, nel caso possano essere utili a qualcun altro.

Per lo scopo può essere utilizzato sia Visual Studio 2012 che Visual Studio 2013, per l’esempio di seguito io ho usato il 2013.

  • da Visual Studio, andate nel menù File > New > Project 

    Untitled1

  • scegliete in alto il .NET Framework 4.5.1 e quindi selezionate il template di progetto da Web > Visual Studio 2012 > ASP.NET MVC 4 Web Application e alla successiva richiesta, scegliete la tipologia Empty project 
  • una volta creato il progetto, da Visual Studio andate nel menù Tools > NuGet Package Manager > Manage NuGet Packages for Solution… 

    Untitled2

  • andate su Online e poi in alto a destra nella casella search inserite  umbraco , dall’elenco proposto scegliete  Umbraco CMS e quindi procedete con Install 
  • vi verrà chiesto su quale progetto installare il pacchetto, scegliete il progetto che avete creato (nell’esempio proposto l’avevo chiamato UmbracoWebApp)
  • durante il download e installazione dei pacchetti vi verranno indicati due file come esistenti, il file Web.Config e il gile Global.asax, e vi verrà proposto di sovrascriverli, voi acconsentite con “Yes”, ma rispondete singolarmente alle due domande, non usate il pulsante “Yes To all” 
  • quando il pacchetto sarà installato vedrete un segno di spunta vicino alla voce “Umbraco CMS”, a quel punto premete Close per uscire da NuGet

A questo punto avrete un progetto ASP.NET MVC di tipo web application con Umbraco, non vi resta che premere F5 e divertirvi!

 

Continua a leggere “Come creare un progetto ASP.NET Web Application con Umbraco 7.1.4”

Come creare un progetto ASP.NET Web Application con Umbraco 7.1.4

Surface – Download e installazione SDK 1.0 SP1

In questo post vedremo insieme come procedere per il download dell’SDK di Surface e relativa installazione.

Download

Innanzitutto, l’SDK è disponibile solo alle aziende partner, per cui se siete dipendenti di una azienda partner, procedete con la associazione del vostro profilo all’azienda, oppure se avete una attività o una azienda in proprio valutate di diventare partner di Microsoft, se non lo siete già. Non conosco bene i dettagli, ma non mi pare abbia un costo. Comunque sia, consultate il sito dei partner per vedere il da farsi.

Una volta superato questo ostacolo, andate su questo nuovo sito, Surface QuickStart su cui troverete tutto quello che vi serve. Nella fattispecie, oltre all’SDK vi è altro materiale, come manuali, documentazione e video.

Una volta scaricato tutto l’occorrente possiamo andare con l’installazione

Installazione

Per utilizzare l’SDK di Surface, occorre rispettare una serie di requisiti.

Partiamo dai requisiti hardware:

  • La macchina ideale per lo sviluppo con questo SDK si basa su Vista (vedremo di seguito quali versioni) e in quanto tale, le caratteristiche fisiche della macchina non sono indicate in termini di ram, cpu ecc, ma sono indicate in termini di misurazione tramite Windows Experience Index
    (WEI) in base al quale viene “categorizzato” l’hardware sottostante; fatto sta che per far girare l’SDK di Surface è richiesto come minimo un livello di questo genere:
    • CPU: WEI 4.0 o superiore
    • RAM: WEI 4.0 o superiore
    • Scheda Grafica:
    • Monitor: Risoluzione minima richiesta 1280×960 (o 1440×900 su schermi “wide”) per far girare il Simulator

Vediamo ora i requisiti software:

  • l’unico sistema operativo supportato è Vista a 32 bit, e solo nelle versioni Business, Enterprise, Ultimate o Home Premium (personalmente l’ho installato su Windows Server 2008 Enterprise e pare funzionare bene ma se avete una delle versioni di Vista sopra indicate, installatelo là per sicurezza); il SP1 di Vista deve essere installato
  • come IDE va bene sia VS2008 che C# Express 2008 (il framework .NET 3.5 lo installa l’IDE)
  • installare anche XNA Framework Redistributable 2.0 (si può usare anche la XNA Game Studio Espress 3.0, ma se non vi serve va bene solo la parte “Redistributable”)
  • installare le Microsoft DirectX 9.0 End-User Rumtime (rel. 08/2007)
  • raccomandata anche l’installazione di Expression Blend 2 (per XAML)

A questo punto dovreste essere finalmente pronti per installare il Microsoft Surface SDK 1.0 SP1, Workstation Edition che avete scaricato dal sito dei Partner Microsoft.

Completata l’installazione potrete trovare nel vostro IDE (VS2008 o C# Express 2008) facendo New > Project dovreste trovare un nuovo gruppo di progetti :

  • Surface
    • v1.0
      • Surface Application (WPF)
      • Surface Application (XNA)

mentre nel menù Start dovreste trovare un nuovo gruppo di programmi:

  • Microsoft Surface SDK 1.0 SP1
    • Application XML files
      • si tratta di un command prompt con diritti elevati, pronto alla directory dove si trovano i files XML di Surface; i diritti elevati consentono l’editing senza problemi di autorizzazioni
    • Getting Help
      • un primo livello di help per il supporto e la documentazione estesa
    • Samples
      • apre la directory dove si trova un file .ZIP con diversi codici di esempio
    • Surface SDK Documentation
      • apre l’Help dell’SDK (al primo avvio indicizza e perde qualche minuto)
    • Tools
      • Identity Tag Printing Tool
        • consente la generazione degli Identity Tags (consultare l’SDK per maggiori informazioni)
      • Surface Simulator
        • è il vero “cuore” di questo SDK, è lo strumento che simula il codice scritto e ci supporta nel debug, prima di fare il test finale sul device fisico
      • Surface Stress
        • si tratta di un command prompt da cui possiamo testare le applicazioni Surface
      • Water Configuration
        • è il configuratore dello “screen saver” di Surface, l’applicazione Water, molto accattivante

Per adesso è tutto. Man mano che andremo avanti, cercherò di scrivere dei post specifici sulle varie parti di questo SDK, cercando di evidenziare pregi e difetti di questo SDK. Tenete presente che per ora non ho il device fisico, per cui le impressioni riguarderanno solo la parte “emulata” delle applicazioni Surface.

Buon lavoro!

Surface – Download e installazione SDK 1.0 SP1

DotNetNuke 4.6.0 Starter Kit – Installazione

Ho scaricato da DotNetNuke, l’ultima versione disponibile, la 4.6.0. nella versione Starter Kit. L’installazione non è difficile, ma bisogna prestare attenzione in alcuni punti, almeno nel mio caso è stato così. Ne descrivo sinteticamente i passi.

N.B. : Io ho usato Visual Studio 2005 e Sql Server 2005 (e di seguito mi riferirò solo a questi strumenti), ma la versione di DNN va bene anche per Microsoft Visual Web Developer 2005 Express Edition e per SQL Server 2005 Express, versioni gratuite (e ridotte) delle precedenti che ho menzionato. Inoltre il S.O. su cui ho installato è XP Pro sp2; chi usa Vista mi faccia sapere, giusto per curiosità.
  • il pacchetto di installazione crea gli items per i nuovi progetti in Visual Studio 2005;
  • una volta avviato Visual Studio 2005, creo un nuovo sito web di tipo “DotNetNuke Web Application Framework”, ma non prima di aver selezionato Visual Basic come linguaggio nella dialog di nuovo progetto, dato che per C# non è disponibile questo tipo di progetto; chiamerò questo progetto dnnproj;
  • creo la virtual directory in IIS, che chiamerò dnnproj_site e successivamente assegno alla directory fisica del sito i diritti di accesso per l’utente ASPNET; io per “non saper nè leggere nè scrivere” ho assegnato i diritti completi a questo utente, riservandomi poi di sistemare questo aspetto; vi prego non fate come me, è pericoloso e sbagliato;
  • ho avviato la management studio di sql server 2005, e ho creato un database, che chiamerò dnnproj_db; poi ho creato l’utente in sql server 2005, che chiamerò dnnproj_user e ho assegnato a questo utente i diritti completi solo per il database appena creato;
  • quindi sono andato in visual studio 2005, nel progetto ho modificato il file web.config sistemando le stringhe di connessione; attenzione che ce ne sono due diverse da sistemare, sia per sql server 2005 che per sql server express; fate attenzione a lasciare non commentate solo quelle per sql server 2005;
  • salvo il tutto in Visual Studio 2005, quindi avvio l’applicativo web direttamente dal browser senza avviare il debug, su http://localhost/dnnproj
  • la prima volta si avvia l’install wizard, che consente di verificare permessi sulle cartelle, stringa di connessione, e inoltre crea proprio la struttura del database, avviando uno script sql; qui ho avuto qualche “problemino”, in quanto lo script andava in esecuzione e dopo qualche secondo mi proponeva il messaggio :
    “Installing Database – Version 4.4.0…undefined…Success”
    “Installation of Database Complete”
    quindi mi riproponeva il pulsante “next” che però non faceva niente; a questo punto ho bestemmiato per ore pazientemente cercato la risposta su internet, tra forum e tutorial, e alla fine la soluzione, molto semplice anche se poco elegante, è stata quella di cancellare e ricreare il database, identico a prima e con le stesse caratteristiche di prima; la risposta sul “perchè si fosse ‘impallato’ il db” non l’ho cercata, sono andato avanti, semmai l’avrò ve la farò sapere;
  • superato questo insidiosissimo scoglio il wizard prosegue chiedendo di inserire le credenziali di accesso ed altre informazioni sui moduli da installare;

Per adesso il sito funziona (in locale). Chiaramente col fatto che funziona tutto, non vuol dire che è pronto. Vanno installati altri moduli, configurati gli stessi, organizzate le pagine e inseriti i contenuti, quindi il sito va pubblicato. E questo sarà un altro problema, dato che a febbraio ho spostato il dominio per il quale sto facendo tutto sto casino (vi dirò a tempo debito qual è) su Hostek, il quale supporta asp.net, mysql e access, ma non sqlserver; all’epoca pensavo di fare affidamento su Access, dato che era possibile, solo che nel frattempo DotNetNuke ha eliminato il supporto per questo aborto meraviglioso database (ma perchè, è un database ?). Per cui, dove lo piazzerò ? Boh, vedremo, intanto andiamo avanti.

Il prossimo post su DotNetNuke, tratterà della configurazione, dell’installazione di nuovi moduli, e di deploy del sito.

DotNetNuke 4.6.0 Starter Kit – Installazione