Welcome to Comunidade Bloggers |create|it| Sign in | Join | Help

The Global Windows Azure Bootcamp this year will include Lisbon. Next saturday, at Microsoft in Lisbon, starting at 09:00, a bunch of great speakers will present on Azure topics. My session will be an evolved version of the last session I did at last year’s Microsoft Developer TechRefresh, on Windows Azure Web Sites. I expect to do a demo-filled session with (hopefully) something new to show you.

Registration here.

 

ps: a few months back I participated with “Equipa 23” on BPI’s Appyday hackaton. 24 hours of coding of a mobile app at a great venue. We went with a PhoneGap+Telerik Kendo UI Mobile powered solution, with Azure Mobile Services as a backend, which proved itself to be almost perfect for the app. All the regular features were great (database, custom api, git), but the social integration (besides authentication, that is) and features such as image upload + transformation were more lacking. A topic for another post.

Last tuesday I presented a session at another local Microsoft event, this time focused on Azure Websites and the new features announced at Build 2013 (which I attended) and since then.

The session was mostly demo-based, and included the “traditional” WebMatrix/WordPress demo, but with the added value of demoing a content migration from another blog engine. After this I did a continuous integration, test and automated deployment demo. Didn’t have the time to show custom deployment scripts, but it was the star of the show, in my opinion. It’s easy to get it working and covers a large percentage of Webdev use cases. The following demo was simply showing how to associate a custom domain to a web site, and what is possible in terms of SSL (both kinds, SNI&IP).

The next demo was related to a request and the need to clarify that you can host wcf web services in an Azure WebSite, and for this demo I also showed , especially helpful for diagnostics and operations.

I ended the session talking about architecture, scaling, service tiers and pricing, and a Q&A. There were several questions, perhaps the most relevant being about Azure Web Sites vs Azure Web Roles. The stronger scaling possibilities, and running setup scripts, are strong arguments for Web Roles, the simplicity and more focused web offering, for Web Sites. This would be my choice, in general.

Another interesting event, with good session feedback.

AzureConf, and online free event on Windows Azure, will be held today, a few hours from now. More information at the events website here. I am especially looking forward to the IaaS, Mobile and Media Services sessions, where we have some customer scenarios ongoing.

Also interesting and related to something I have in hands at the moment is Nuno Godinho’s post “Lessons Learned: Taking the best out of Windows Azure Virtual Machines”. Interesting feedback from using IaaS. SharePoint Server has been implemented everywhere in the last few years. Azure IaaS is especially interesting for these scenarios.

Tomorrow I’ll be redoing my Software Estimation presentation at SharePoint’s Community. This presentation started with an invitation to present on this topic from one of our customers, and evolved into a general presentation on Software Estimation and the techniques Create It uses. I delivered it last year at Netponto, this year is SharePoint’s Community turn with an updated version :).

There’s more information about the event here.

Update: you can find the slides here. The video of the previous delivery of the session at Netponto is here (note: contents in Portuguese). As to the session on Saturday, the topic always raises lots of interest and conversations, and this was no exception. I n my view, this topic should be studied in CompSci courses.

I’ll be presenting with Raúl Ribeiro tomorrow at the Window Azure Spring Summit at Microsoft in Lisboa. The event will include several sessions focused on the Azure support for Media, eCommerce and e-Learning solutions. My session will be focused on the different eCommerce projects we have done or are developing at the moment, and the mapping of challenges into Azure components.

The registration site (in portuguese) is here. I’ll upload the slides to Slideshare after the event.

Update: the event was great. Not a long session, but the people were interested and had very good feedback. Sharing real experiences always makes a difference. Here’s the deck.

After a couple of failed starts, I finally decided to start this project. The idea came to me when the first version of the Relay was launched in the Azure Service Bus, when it was still called “BizTalk Services”, but only now do I have the time to work on it.

The idea is the following: very often I have problems connecting to my company’s VPN  and Intranet, either because of firewalls in the sites I’m working at or other connectivity problems, making me have to use email to ask people to send or upload documents. The Azure Service Bus offers a great way to work around this problem. The first concept was thus to develop some kind of Windows App that could connect to a SharePoint intranet behind a firewall via the Service Bus and browse its contents, but I decided to develop a command line client instead, supporting FTP-like commands.

This approach not only offers the potential for scripting, but allows for a convenient “structure-transparent” navigation: SharePoint has several hierarchy/structure concepts (web applications, site collections, sites & sub-sites, document libraries, folders within document libraries, document sets, to name some). I wanted the navigation in this space to be fully abstracted. For example, a command like “ls” would list all these structure elements as if being the same - a “folder”, and documents as… well, documents. In a command like “cd folderName”, folderName could also correspond to any of the above structural elements. Someone using the client tool would not have to worry about which.

The current architecture is the following:

  • A command-line client that the user starts and uses just like FTP, supporting commands such as open (authenticate and connect to a SharPpoint), get (get a file), cd (change folder), ls/dir (list contents) and close (close connection).
  • A windows service exposing a set of operations via the service bus. The operations map with each of the commands enumerated above. The option for a Windows Service was based on convenience: they can be easily installed and don’t depend on IIS [1]. On the other hand, the service can be running anywhere in a customer site, and it’ll work as long as it can reach SharePoint. It can even be running in a DMZ, with more controlled connectivity. The interaction with SharePoint will be done using ClientOM.

One important note regarding the above is that the service operations will be stateless (I will probably have to setup some kind of cache/pool on the service side for perf reasons), but the client will have to keep state, such as the current base site, credentials, and “folder”.

In terms of the technology stack, this is what I envision at the moment:

  • .Net 4.5/x64/VS2012
  • Windows Azure Service Bus
  • WCF 4.5
  • Irony for language parsing on the client app
  • Wix Toolset for generating setups (install projects are missing from VS2012…)
  • Log4net 1.2.11

As of today, and note this is all very early, the status is:

  • Visual Studio project structure is created
  • Wix installer project generates an msi installer for the windows server
  • Logging is integrated and configured in the server
  • Windows Service code includes draft contracts of the operations to support, and these are already exposed via HTTP [but not in the service bus yet]
  • SharePoint Library Manager code contains some early sample code to authenticate with the product
  • The client app is still empty, but the Spike.Irony project contains a first version of the grammar of commands and a command input loop, which I’ll migrate to the client when I’m happy with it

All this said, I’ll be posting relevant notes about AzureFtpForSharePoint here, and the code itself is publicly available on GitHub: https://github.com/lokijota/azureftp-for-sharepoint . I have also enlisted the collaboration of some colleagues to help out in the development (especially on the SharePoint side), but feel free to drop me a line or try it out if you are interested.

 

[1] Having experience of using the pre-BizTalk Server 2013 adapter for SharePoint, which requires an installation on the IIS of the SharePoint Servers, I know this can be a setup/configuration headache.

A few days ago I attended the Oporto BizTalk Innovation Day with my colleagues Pedro Vala and Tiago Oliveira. Steef-Jan’s session on cloud based adapters was interesting (although part of it was available as an extension to BizTalk Server 2010), and Tord Nordahl’s session on “Proactivity in BizTalk”, which was really focused on the “IT Pro” point of view, was also very interesting. I don’t think I’ve ever met a BizTalk Admin ever before, with many projects done. Another IT-focused talk was done by Saravana, on BizTalk360, and the product – now in version 6.0, is absolutely impressive. With a friendly pricing model (even for local standards), we’ll recommend it on all future and present customers. Check it out!

Akshat Sharma from the product team did a keynote and answered some questioins, where my highlight was when he said that BizTalk 2013 will be on Azure Iaas when IaaS goes live/GA.

Also at this event the local MS people announced the RTM of BizTalk Server 2013, which has already been extensively covered elsewhere (here or here or this post by Saravana is also interesting). My personal highlights are for the now-native Azure Service Bus integration, the new SharePoint adapter using the client object model (I’ve spent hours troubleshooting installation problems with the previous one), and the including (at least!) of the ESB Toolkit in the base install/config. The REST support also gets an honorable mention :).

Just did the early-bird registration at Build 2013, this year in San Francisco, who’s recognizable bridge was the inspiration for the one we have in Lisboa. I’ll be attending with Raúl, a friend and long-time colleague, and looking forward for everything regarding Windows Azure (obviously), Office 365 (which we’ve been using for over a year now), and Windows development.

The first time I went to PDC (in 2005, I think), with several other local “community influencers” at the time, it was one of the most interesting experiences I’ve had from a technological point of view. Really looking forward to return to its “successor”. :)

The internal policy at Create It is to use Virtual Machines to do all the coding, with different environments for Web development, BizTalk, SharePoint, etc. My personal dev-pc is still a 8Gb/Core i7 Sony Vaio, but I’ve been using it less and less, replaced by a slim Asus Ux31 Ultrabook which weighs much less and has much better autonomy. At only 4Gb/Core i5, however, I can’t really run VM’s on it. A few weeks back I decided to evaluate both Azure VM’s and TFS Service for a new project we started, but from the point of view of development itself and not “just” hosting a solution.

This is a web ecommerce web site for one of a widely known quality brand in Portugal, which will be hosted with Azure Sites or IaaS, and uses the Service Bus to integrate with internal systems (SAP). First I created a small VM, installed SQL express and visual studio 2012, and worked remotely via Remove Desktop. Things were acceptable, but RAM was almost always maxed-out, so I changed to a Medium VM with 3.5Gb. One cool detail is that you don’t have to reformat your VM to make this change, just change the configuration in the Azure Portal (the benefits of virtualization), and change is immediate.

After three weeks, the experience has been great, and not having to depend on hardware but relying on a “thin client” model is a great freedom, and I don’t have to worry about the latency of my external USB3 disks. Graphical fidelity and UI responsiveness is obviously not the best, but I don’t feel latency when typing or debugging.

One problem I have is that sometimes I am unable to remote desktop to the VM using the saved rdp file, and have to do it again via the azure portal, but when I connect, the VM hasn’t been restarted. Didn’t spend the time to diagnose the issue yet, it just happened a couple of times. Anyway, it’s a great experience, very convenient

As to TFS Service, I just want need it to go GA with public pricing FAST, because I’ll move all our projects there and discontinue our internal TFS. Everything we’ve tried has worked fine, check-in/check-out is quick, issue management is great. We still use Final Builder internally to orchestrate the builds, with its outstanding graphical build-configuration tool, but this might change.

The next challenge I’ll look into is having more people using the dev VM, or copy&replicate this VM for other devs to use. We also installed redundant ISP connections to get ready for this change in the short term.

Follow me on Twitter @lokijota. Lots of Azure and Win8 sessions. Channel 9 has several videos from TechEd US and the keynotes.

The TAP for the next version of BizTalk, strangely pre-named “2010 R2” (instead of 2013) is open for nominations here. Of the list of new features, I am especially interested in the IaaS and Azure integration capabilities. Support for REST endpoints was clearly lacking, and I am also curious about the meaning of “ordered delivery enhancements”.

In the begging of the month there were some sessions at TechEd North America about the future of Microsoft’s integration offering,  I’m looking forward to hear this in person at TechEd Europe starting tomorrow.

Tomorrow morning I’ll be presenting a session on the topic or Architecture of [Azure] Cloud Solutions at the Windows Azure [R]evolution event in Lisbon. It’s an easy to follow but packed presentation, that reminded me of topics such as the CAP Theorem or Pat Helland’s excelent presentations on services and data and consistency, with several high level tips to help you architect your Azure app.

More information about this Microsoft event is here.

PS: my colleague Raúl Ribeiro will also be presenting at the event, a session on the newly released Azure WebSites.

Two months ago I delivered a very well received presentation at Netponto about Team Dynamics and motivation (slides in portuguese here: Dinâmica e Motivação de Equipas de Projecto).

This next Saturday I’ll be presenting on the topic of Software Estimation. Here at |create|it| we have always had a very strong focus and investment on the quality of our estimation and project management, and we use several techniques from authors such as Steve McConnell and Mike Cohn. The presentation builds on some choice approaches we selected mainly from these authors in the last 10 years, and in addition to describing them, I’ll be talking on how we use them, hoping to give attendants some field tips from our experience

Hope to see you there.

 

PS: Next June 21’s the portuguese Scrum Community will hold an avent to commemorate the member number 1000. Lear more about is here, the agenda looks pretty interesting!

Steef-Jan has a great post about the next release of BizTalk Server in his blog. It seems to be mostly a platform upgrade, but the improvements in the area of Azure integration, and the new features of Azure in IaaS specifically (persistent VM’s + VPN support) open up interesting possibilities for BizTalk usage.

[Edit] Kent Weare also has an interesting post on this topic, based on a presentation at TechEd US (I think).

|create|it| has had a strong bet on Microsoft technologies since day one. We strongly believe it has the best overall platform, the one best suited to solve our customer’s needs, and this strategy has paid off in our 10 years of existence.

In recent times, however, the changes in the market in the last 2-3 years have shaken up things. Here are some simplistic ideas/rant.

Consumer market

Apple is the consumer king in the mobile world (it’s strange how a company so closed and monopolist can be such a widespread darling, but I won’t go into that), and the only really strong foothold Microsoft has in this segment that I can see is the Xbox360 in the household (in the US, note, as in Portugal we have no TV content at all).

Windows 7 is a great OS (I still feel Win8 as somewhat lacking in usability), but a lot of tablets will have to be sold to compete with the likes of the iPad, Kindle Fire and Galaxy devices.

Kinect is fun and innovative, but the device is still clearly unexplored, and the good ideas seem to be somewhat limited in scope. It’s one of those things that leaves the impression that works like magic, but when we look at possible applications, there aren’t that many uses (or maybe I’m not looking far ahead enough).

Windows Phone is a great OS, but there’s no penetration at the moment, and who knows if there ever will be one. Microsoft seems to be moving very slowly in adding new/missing features, which is something I wasn’t expecting.

Development

On the development front, I think Microsoft is the strongest player. Great development tools, innovation in languages, .Net is miles ahead of other platforms. And Microsoft is also becoming very good at incorporating ideas from other things out there, which is a very smart move.

Enterprise/Application platform space

The name here is Oracle. Oracle seems to be pursuing the strategy of buying more and more companies, integrating their offer, and they have a very strong application platform offer. I suspect that the sales pitch that it’s all a single “fusioned”/integrated solution is not quite true, but the fact is that it seems to be working in the market. I’ve seen more than one customer strategically decide to go for a Oracle-only approach. They may “crash and burn” if everything does end up in the cloud, but by then then can try to buy VMware and fix that IaaS problem.

As to Microsoft, is has a strong OS offer, a very strong SharePoint offer (but don’t forget Oracle has WebCenter), a very strong SQL Server (&BI) offer, but there seems to be some disinvestment in the application server space (both in Windows Server AppFabric and BizTalk), which is where Oracle is strong. Windows and Office still own the desktop and productivity space, but those top and mid-level managers more and more walk around with their proud iPads.

Cloud

There are a lot of players here, but the first I think is more relevant is Amazon. They are mostly IaaS but also have several interesting PaaS things available. VMware is also a relevant name here – if they can move a VM to the cloud with the flip of a checkbox, they are in the game.

As to Microsoft, even if I doubt it has the market share of Amazon, for me it has the best and most complete offering available, especially in the PaaS space. I expect it to grow and win more adoption in time, also supported by the SaaS things like Office 365, SharePoint and CRM online. The cloud seems to be one of the key bets for Microsoft at the moment, and I hope they succeed.

(side-note: Office WebApps work great, but getting there is somewhat hard, compared to Google Docs, and LiveId’s authentication should be a) much faster and b) simpler).

Google

Strangely, I don’t see Google as a big problem for Microsoft right now, even if they hold an envious space in advertising. From what I read, Bing is very strong and innovative in the search space in other countries, especially in terms of services offered, but in Portugal the textual search is atrocious, and BingMaps seems to be the only really very strong offering. Google seems to have lost its Mojo, anyway, with the privacy issues and Google+’s failure (is it official yet?).

Final notes

With all this said, these are complicated days for a Microsoft-only Systems Integrator like |create|it|. We have WP7 skills but the market doesn’t want them, only iOS and Android applications (MonoTouch/for Android may be the path here). The application platform space seems to be shrinking to Oracle, and SharePoint is no longer the same cash cow it was. As to Azure, it is steadily but slowly gaining adoption.

What to do? maybe shift strategy, turn to the consumer, either the one on the move in a mobile device, or the enterprise one in the SaaS space. Watch this space :).

 

ps- This is probably not a completely informed post, there are a lot of numbers and knowledge I don’t have and I am NOT an industry analyst, but look at it as a “vox populi” rant.

More Posts Next page »