venerdì, luglio 09, 2010

aKite @ WPC, Washington DC

Qui trovate la press release congiunta sulla versione 2.0 di aKite, che verrà presentata in occasione del Worldwide Partner Conference a Washington DC, dal 11 al 15 luglio 2010.

Press release BEDIN Shop Systems – Microsoft

logo_aKite

giovedì, dicembre 10, 2009

aKite su PMI.it

Oggi su PMI.it è pubblicata in home page un’intervista con Francesco Caccavella in cui si parla ampiamente di aKite.

logo_aKite

mercoledì, ottobre 21, 2009

aKite Retail Web Services

In questi ultimi mesi tutti noi di BEDIN Shop Systems siamo stati impegnati nella migrazione dei nostri Retail Web Services alla piattaforma Azure di Microsoft.

La nostra soluzione è stato rinominata per riflettere questo grande cambiamento: aKite Retail Web Services
Spero che il nome piaccia al “pubblico” tanto quanto piace a noi.

logo_aKite
Maggiori informazioni sono disponibili nel sito del prodotto: www.akite.net

La migrazione si è completata con soddisfazione in questi giorni, ad un mese dall’annuncio della disponibilità della piattaforma che verrà fatto a PDC09 a Los Angeles, dal 17 al 19 Novembre 2009.

PDC09Bling_General_WhatsNext_240[1]

Anche questo anno saremo a PDC09, in questa occasione tra le primissime aziende al mondo che hanno realizzato un gestionale completo su Windows Azure e SQL Azure.

mercoledì, luglio 15, 2009

Pricing di Windows Azure

Alla Worldwide Partner Conference 2009 di New Orleans sono stati finalmente annunciati i dettagli del pricing di Windows Azure. Il post dettagliato lo trovate qui.

In sostanza, si pagano 0.12 $ all’ora per tenere attiva un’istanza di Azure e per avere un buon SLA si deve pensare ad averne al minimo due. 
Se si usa lo storage di Azure, tabelle e code, si parla di 0.15 $ per GB al mese e 0.1 $ per 10mila transazioni su questi dati. 
Poi c’è un tot per il traffico in entrata (0.1 $ per GB) ed in uscita (0.15 $ per GB).
SQL Azure costa 9.99 $ per un database da 1 GB, oppure 99.99 $ per per un database da 10 GB, sempre al mese; non sono disponibili dimensioni di db maggiori, fattore importante da tenere a mente.

Ipotizziamo uno scenario con un paio di istanze che rimangono attive sempre, come deve necessariamente essere per dei servizi web a supporto di smart client. Quindi abbiamo 2 istanze * 24 ore * 365 giorni * 0.12 $ = 2104 $.
Aggiungiamo il traffico, ipotizzo la saturazione totale e continuativa di 2 Mbps in uscita ed il traffico in entrata al 60%. Secondo i miei calcoli ottengo 923 $ (per 6159 GB in uscita all’anno a 0,15 $) e 369 $ (per 3695 GB in entrata all’anno a 0,1 $).
Consideriamo anche lo storage di Azure, per uno scenario come questo ipotizzo l’uso delle code e del “disco” di 100 GB mediamente al mese, con 10 mila transazioni all’ora. Ottengo 180 $ all’anno.
SQL Azure è più difficile da considerare; per questo scenario ipotizzo 10 database da 10 GB, uno per ogni cliente (penso a delle catene di negozi).  Ottengo quindi circa 12000 $ all’anno.
In totale, senza considerare SQL Azure, ottengo un costo annuno pari a poco più di 3500 $. Se aggiungo SQL Azure secondo la mia ipotesi salgo a più di 15 mila $ all’anno.

Si dovrebbero analizzare meglio diversi aspetti di questo scenario per renderlo più realistico: calcolare meglio il traffico, che però non incide molto, considerare con maggiore attenzione le transazioni sullo storage. Aggiustamenti che non cambiano l’impressione che mi sono fatto confrontando il tutto con i costi di licenze software, hardware e hosting che si affrontano per mettere dei server in un datacenter, cioè che Azure sia molto competitivo nei confronti delle offerte tradizionali ed interessante, ovviamente, per chi realizza applicazioni SaaS.

Di SQL Azure trovo strano e poco coerente il pricing. 
Per una soluzione SaaS considero importante garantire ai clienti l’isolamento massimo dei propri dati da quelli degli altri clienti. Un modo per avvicinarsi all’obiettivo credo sia isolare fisicamente i dati del cliente, creando un database per ogni cliente. In questo modo anche le operazioni di backup e restore si semplificano. Quindi, per me, 100 clienti significano 100 diversi database.
Di questi 100 clienti, nella mia realtà, alcuni possono avere meno di 10 postazioni su cui operano gli smart client che interagiscono con i servizi web, altri clienti avranno centinaia di postazioni che producono dati, oltre ad interrogarli. Quindi avrò alcuni database da “solo” 200 MB dopo un paio di anni di attività ed altri da 10 GB già al primo anno di esercizio. 
Avrei trovato più “giusto” ed affine al pricing degli altri servizi se SQL Azure fosse fatto pagare a tot centesimi per GB occupato al mese, con tetto masso di 10 GB per database se necessario e senza distinzioni di numero di database.
Magari un esperto di SQL Server mi darà del pazzo per l’idea di isolare i dati dei clienti separando i database, magari sa che SQL Server è allergico ad un numero elevato di database. Io questo non lo so ma sono abbastanza convinto della mia osservazione: SQL Azure dovrebbe essere fatto pagare per lo spazio occupato indipendentemente dal numero di database.

Segnalo un interessante white paper in cui David Chappell descrive gli scenari che Azure apre agli ISV.
Inoltre, ecco una interessante spiegazione di cosa è Windows Azure, by Steve Marx.

giovedì, febbraio 12, 2009

Azure Needs A Real RoadMap

Per la serie “è meglio aspettare che sia un’autorità ad esprimere per prima questo pensiero”, Scott Watermasysk scrive che Microsoft Azure necessita di una vera, chiara ed attendibile roadmap, altrimenti è veramente difficile affrontare seriamente lo sviluppo sulla piattaforma.

Azure Needs A Real RoadMap

Non passa una settimana che Amazon Web Services faccia un nuovo annuncio, che si tratti di un nuovo servizio o dell’abbassamento delle tariffe.

Azure, se ci sei, batti un colpo!

PS: ricordo che è stato Scott a dirlo!

mercoledì, novembre 12, 2008

Windows Azure Storage <> SQL Data Services

Sto iniziando a capire e provare le tecnologie del mondo Azure e mi sono reso conto di avere frainteso alcune cose relative all'uso del database in the cloud.

servicesPlatform

SQL Data Services o SDS, prima conosciuto come SQL Server Data Services, è l'unico servizio presente al momento nei SQL Services. In un prossimo futuro si aggiungeranno Reporting ed Analysis Services.
SDS si basa sul concetto di Authority, Container ed Entity. L'accesso è via SOAP e REST ed al momento non mi sembra ci sia un provider LINQ per accedervi.

Windows Azure Storage è parte di Azure ed è quindi sempre disponibile per ogni applicazione ospitata nella cloud Azure. Comprende le funzionalità di gestione tabelle, blob e code.
L'accesso a table storage service (TSS) di Azure può essere effettuato con un provided LINQ.

Secondo la documentazione, la differenza tra i due è questa:

Windows Azure Storage Service is designed to be the lowest cost, most efficient solution for large scale data storage and retrieval in the cloud. It can store blobs, queues, and simple tables (non-relational). SQL Services is designed to bring the power of relational databases into the cloud and will provide rich querying over tables.

SDS è un servizio aggiuntivo, probabilmente basato ed integrato con Azure, mentre TSS è incluso in ogni applicazione Azure.

giovedì, ottobre 30, 2008

PDC2008 is over

L'edizione 2008  di PDC è volata via, anche troppo velocemente forse.

Il simposio sui cloud service di Gianpaolo Carraro ed Eugenio Pace di oggi ha aggiunto nuova chiarezza alla visione del cloud computing annunciata da Microsoft. Tutto è molto più chiaro ora, se solo fosse stato Carraro a tenere una keynote ...

Ora mi metto in viaggio per l'aereoporto, dove continuerò il mio viaggio americano.

mercoledì, ottobre 29, 2008

Ok, Azure è meraviglioso

Ci sono voluti due giorni per capire qualcosa di più dalle keynote meno intense della mia personale storia di PDC (2000, 2003 e 2005).
Nelle sessioni del pomeriggio del secondo giorno credo di avere finalmente compreso la maginificenza e complessità di Windows Azure, il sistema su cui vorrei iniziare subito a portare le mie applicazioni.

image

Non provo nemmeno a descrivere cosa è Azure, ci sono be altri blog che hanno ben commentato la scommessa sul futuro di Microsoft.

martedì, ottobre 28, 2008

Don Box to the rescue?

Secondo giorno di PDC.

Dopo l'annuncio di Windows Azure e lo spostamento di Microsoft verso il cloud, messaggio tanto importante quanto sommesso ed inadatto è stato il tono, la seconda giornata inizia con la presentazione di Windows 7 e di una serie di interessanti features, a patto che siate utenti home o ISV che hanno nel consumer il loro principale mercato.

Ora Don Box è l'unica speranza per ottenere chiarezza su Azure ed il futuro? Boh.

giovedì, ottobre 23, 2008

Domani si parte

Domani parto per Los Angeles per partecipare a PDC 2008 che inizia domenica i partecipanti alla PreConference. Io seguirò la PreCon su WPF.

Il rapido volo da Venezia - Francoforte - Los Angeles complessivamente durerà dalle 7:10 alle 24:00 circa. A Los Angeles saranno le 15 ma poco importa ...

giovedì, settembre 25, 2008

UserInstances after SQL Express 2008?

Non avevo colto questo dettaglio nella documentazione di SQL Express 2008 fino a quando un collega me lo ha fatto notare.

La versione 2008 di SQL Server Express Edition (SSEE) 2008 è l'ultima a supportare le UserInstances, funzionalità che consente l'uso di database locali in una instanza privata di SQL Server.
Il beneficio principale è di non richiedere privilegi amministrativi all'utente per creare e manipolare un database, privilegi altrimenti necessari per accedere alla instanza di default di SQL Express.

La funzionalità UserInstances è nota anche come Run As Normal User (RANU) e fa il paio con la tecnologia distributiva ClickOnce, che permette la distribuzione di applicazioni che vengono installate per l'utente corrente senza richiedere privilegi amministrativi. 
Nello sviluppo di uno smart client ClickOnce e SSEE 2008 via RANU affrontano coerentemente l'esigenza di un basso costo/complessità di deployment.

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Così recita la documentazione. Se si vuole usare un database engine più vicino possibile ad un comportamento "embedded", garantito fino ad ora dalla funzione RANU, bisogna iniziare a cercare un'alternativa. Di certo SQL Compact Edition non ci arriva nemmeno vicino.

La funzionalità verrà semplicemente rimossa eliminando degli scenari possibili e finora supportati o verrà sostituita con qualcos'altro?

Se ne parla in questo post nel MSDN forum di SQL Server Express.

martedì, settembre 09, 2008

Deployment di SSEE 2008 in Visual Studio 2008 SP1

Visual Studio 2008 SP1, tra le tante funzionalità, ha introdotto il supporto a SQL Server 2008, compresa la versione Express (SSEE). SSEE 2008 richiede la presenza di Windows Installer 4.5.

Ogni applicazione che vuole utilizzare SQL Express può includere SSEE 2008 e Windows Installer 4.5 in un programma di setup dei prerequisiti. Nel mio caso, un'applicazione distribuita via ClickOnce , ci si aspetterebbe di trovare i bootstrapper che ne consentono la distribuzione elencati tra i Prerequisites. Invece non ci sono, lo sviluppatore deve creare il package per il prerequisito autonomamente, con il Bootstrapper Manifest Generator, come discusso in questo thread su MSDN.

Il SP1 di Visual Studio 2008 è uscito (non a caso) in concomitanza con SQL Server 2008 e tendo a pensare che sia comune l'esigenza di utilizzare e distribuire SSEE 2008 con la propria applicazione. Quindi quanto sforzo doveva impiegare Microsoft per fornire nel SP1 il supporto alla distribuzione di questo servizio, invece di lasciare l'onere agli sviluppatori?

Il problema non si presenta agli utenti di Visual Studio 2008 Express che trovano il elenco i nuovi prerequisite packages in elenco con l'applicazione del SP1, tutte le altre versioni di Visual Studio 2008 invece ne sono sprovvisti.

Inoltre ci sono delle potenziali difficoltà nell'utilizzo del Prerequisites package di .Net Framework 3.5 SP1. Ma come? nella SP1 non hanno testato a fondo la distribuzione della SP1?

Questo ed altri elementi mi fanno pensare che Microsoft dedica scarsa attenzione alle esigenze di deployment, soprattutto nel mondo degli smart client.

Ho sottomesso una richiesta su Connect per chiedere una refresh di Visual Studio 2008 SP1 (non succederà mai) o almeno la distribuzione dei nuovi prerequistes per le tecnologie introdotte, una volta per tutti gli sviluppatori.
Se questo problema vi sembra rilevante, aumentate l'importanza della mia segnalazione, ecco il link:
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=366818

UPDATE: Sul SQL Express WebLog è pubblicata una "soluzione" al problema che prevede di installare VS 2008 sP1 Express sulla propria macchina di sviluppo. La versione Express infatti aggiunge il bootstrapper per SSEE 2008. Sarò incontentabile, ma questo episodio proprio non mi è piaciuto.

venerdì, luglio 11, 2008

I'm going to PDC 2008

Blog Bling BrainAvrò la fortuna di partecipare al prossimo PDC 2008 e proprio oggi mi sono registrato.

Dopo i molti dubbi ed un insolito scetticismo mi sono convinto che l'utilità dell'evento sarà di gran lunga superiore al costo (non indifferente nonostante il cambio favorevole) sommato al rischio di partecipare ad un evento riparatore (PDC 2007).

Sapere che Don Box è coinvolto nella scelta di circa un quarto delle sessioni di questo PDC sicuramente mi ha convinto che la rilevanza di questa edizione, tanto attesa quanto travagliata, sarà eccezionale. Speriamo bene.

PDC parla al cervello dei partecipanti ma anche al cuore ed alla pancia (e non parlo del meraviglioso catering).  La componente emotiva ed irrazionale è presente e la grandiosità dell'evento la alimenta.
La keynote con Ray Ozzie sarà un grande cambiamento, già avvenuto nella realtà con la recente uscita di Bill Gates ma non ancora "ufficializzato" nella storia del più importante evento Microsoft rivolto agli sviluppatori .

mercoledì, maggio 28, 2008

PDC 2008, prime informazioni

Sono stati annunciati i primi dettagli riguardo alla Professional Developer Conference 2008, che si terrà a Los Angeles dal 26 al 30 Ottobre 2008.

Su http://www.microsoftpdc.com si può già vedere una lista preliminare delle sessioni previste per l'edizione 2008 della più importante conferenza per sviluppatori in ambiente Microsoft.

Gli argomenti sono invitanti, si parlerà di Windows 7 e dei servizi Live.
Però il mio crescente scetticismo (a mia discolpa faccio notare che sono tra chi si è appassionato a WinFS, ObjectSpaces, MBF, tutte vittime da PDC) mi porta a valutarne i contenuti soppesando la (remota) possibilità che si tratti di una PDC riparatrice per la rocambolesca cancellazione dell'edizione 2007 oppure che sia pensata con un intento più politico che un intrinseco contenuto tecnico. Aspetto di sentire qualche parere informato da parte degli MVP italiani.

Sarà anche la prima PDC di Microsoft 2.0 senza Bill Gates.

venerdì, aprile 18, 2008

Hosted Exchange E-Mail and Services

Questo episodio mi ha fatto riconsiderare il costo di gestione del mio server Exchange che serve meno di 10 utenti. Come Partner ne abbiamo la licenza come privilegio annuale ma consideriamo questi elementi:

Migrazione.
La migrazione all'ultima versione 2007 di Exchange è inesorabilmente all'orizzonte. Disponibile solo a 64bit e con discreti requisiti di memoria, obbliga a cambiare server nonostante l'impegno rimanga lo stesso.

Manutenzione.
L'applicazione di Service Pack ed hotfix richiede più o meno lo stesso tempo per un server che supporta una realtà piccola o grande. Lo stesso vale per il Windows Server su cui è operativo Exchange.

Impegno server.
Gestione di un server praticamente dedicato ad Exchange per minimizzare i side effect di hotfix e service pack che si possono verificare in presenza di altro software.

Spam e virus.
Il costo in termini di traffico di rete, occupazione CPU e canoni annuali di software antispam ed antivirus per il server (noi usiamo GFI). Considerando che circa il 98% del traffico di posta è costituito da SPAM questi sistemi sono necessari.

La soluzione a questi problemi potrebbe essere Exchange Hosted E-Mail e Exchange Hosted Services.
Alcuni Partner Microsoft sono in grado di offrire Exchange come servizio, per il quale si paga un canone proporzionale al numero di utenti ed al volume di posta gestita. 
Microsoft offre direttamente una serie di servizi agguntivi  tra cui il filtraggio (antispam, antivirus, filtro per contenuti), archiviazione e continuità del servizio, servizi utilizzabili con qualsiasi server di posta, sia in modalità hosted o gestito direttamente.

Credo che anche nel mio caso, in cui non ci sono i costi di licenza di Exchange da considerare, un servizio hosted potrebbe essere economicamente conveniente.

Notifiche da Sharepoint 2007 via Exchange 2003

Dopo avere vissuto diversi problemi nella migrazione da una installazione basilare di Sharepoint Portal 2003 a Sharepoint 2007, ho lasciato passare alcuni mesi ed ho ritentato la migrazione graduale (volendo cambiare server e database), che questa volta ha avuto successo ed è andata come previsto, più o meno.

Con l'uso di Sharepoint 2007 mi sono accorto che non sono in grado di aprire in Outlook 2007 i messaggi di notifica del server.

In un primo momento ho pensato si trattasse di un problema locale, infatti altri utenti non hanno riscontrato lo stesso problema. La prima ricerca su Google trova alcuni articoli che affrontano il problema.

KB 930807: You cannot open a SharePoint Server 2007 notification message in Outlook 2007 when your mailbox is on an Exchange 2003 server

Si tratta di una incompatibilità tra Sharepoint 2007 ed Exchange 2003 che ne rende illeggibili i messaggi quando il client Outlook 2007 opera in modalità cached, salvando in locale i messaggi. La soluzione è applicare una hotfix ad Exchange 2003, dopo avere aggiornato il server a SP2.

Chi usa un portatile tende ad utilizzare la modalità cached, oltre ad essere l'impostazione di default nell'installazione di Outlook 2007, e quindi non sembra uno scenario così raro da non essere contemplato.

Che dire, Sharepoint 2007 continua ad essere fonte di inaspettate sorprese ;-)

venerdì, marzo 14, 2008

Vincitori premio STAGE.IT di Confindustria Padova

Ieri, 13 Marzo 2008, la BEDIN Shop Systems srl e lo studente Eric Miotto sono stati premiati dall'ICT Lab di Confindustria Padova per lo stage a maggiore contenuto di innovazione realizzato nell'anno 2007, nel corso della 3a edizione del premio regionale STAGE.IT.

Ecco il link al comunicato stampa riportato sul sito di Confindustria Padova e su PadovaNews.

Il progetto di stage sviluppato da Eric Miotto in BEDIN Shop Systems srl ha riguardato l'integrazione del web service Amazon.com Simple Queue Service (SQS) in uno smart client basato su piattaforma Microsoft .Net, mediante l'utilizzo di Microsoft .Net Windows Communcation Foundation (WCF).
Oltre ad offrire una soluzione pratica per l'invio di dati in asincrono tramite web services ha avuto anche il pregio di dimostrare il valore aggiunto portato dall'aggregazione di diversi servizi web, basati su piattaforme eterogenee, accomunati dalla condivisione dei meccanismi di interoperazione.

Al completamento del corso di studi di specializzazione Eric Miotto entrerà a fare parte del team di sviluppo della BEDIN Shop Systems.

mercoledì, febbraio 13, 2008

Transaction Isolation

Riporto alcuni link ad articoli che spiegano in dettaglio i livelli di isolamento delle transazioni in SQL Server 2005 e li mettono a confronto:

Altri link utili su System.Transactions e l'interazione con il livello di isolamento:

venerdì, dicembre 07, 2007

PDC 2008

Dopo la cancellazione improvvisa di PDC 2007, Microsoft annuncia le date della prossima Professional Developer Conference 2008, a fine ottobre 2008 sempre a Los Angeles (non potevano cambiare, tipo San Francisco o New Orleans?).

Maggiori informazioni qui e qui. Quali tecnologie saranno al centro di questo PDC?

martedì, dicembre 04, 2007

Sharepoint 2007 ... a support nightmare

Usiamo Sharepoint internamente da sempre. La scorsa primavera decido che era ora di passare alla versione 2007, anche solo per la migliore integrazione con Office 2007.

La migrazione in-place non era un'opzione, era necessario passare ad un server diverso per esigenze hardware e l'idea di lanciare un setup complesso sul server che contiene tutti i dati dei progetti, offerte etc..  non mi rendeva sufficientemente tranquillo. Quindi opto per la database migration, dove qualcosa però va storto. Quindi apro una richiesta di supporto a Microsoft sull'argomento, meglio rivolgersi agli specialisti piuttosto che rischiare di sprecare ore preziose senza la certezze del risultato.

Il caso di supporto è stato aperto il 30 aprile 2007 ed è stato chiuso il 4 dicembre 2007... Già, sono passati 7 mesi.

Senza scendere in dettaglio, sicuramente è stata la più disastrosa esperienza di supporto che abbia vissuto in questi primi 11 anni di collaborazione con Microsoft ed ha inevitabilmente incrinato la mia fiducia nella piattaforma Sharepoint 2007, in quanto il supporto ne fa parte e non è un aspetto da sottovalutare.