Posts about Silverlight:

Is Silverlight Going Somewhere?

Is Silverlight Going Somewhere?

You may or may not have seen lots of FUD coverage over the past few weeks about Silverlight…it’s made many of us do hand-face / desk-face slaps in the office a few times as people question what’s happening with HTML5 and Silverlight.

If you want to escape the FUD and actually learn the truth from the only people who really know then this is probably of interest:

http://www.silverlight.net/news/events/firestarter

Is Silverlight Going Somewhere?

How we (Microsoft) are using Azure for internal apps

One of things I love about working for Microsoft is that we use our own stuff, we really trust, we really deploy it, we really use it.  Not all our competitors do, you can tell because they don’t talk about it, they don’t run their own massive data centres for example.  We do and it gives us experience.  MSIT – our IT department, yes we do have an IT department too, has built and deployed SXP or Social eXperience Platform) on the Windows Azure platform – and more stuff is going that way too.

How we (Microsoft) are using Azure for internal apps

So what is SXP and what makes it special?  Well SXP runs on this site our video showcase and it is essentially a platform that allows us to manage and understand the social aspects of our content.  That content can be web pages, videos (as in the video show case site), blog posts, new stories, press releases…anything.  Essentially you could say it adds social context to anything and allows us to understand that context.  It’s a back end tool, it’s not doing the content hosting.

The platform is built on Azure (one web server role running on 3 medium instances) and storage is taken care of by SQL Azure with each subside of Microsoft.com having it’s own database allowing customisation and isolation of problems, should there be one.  The user interfaces are delivered with Silverlight.

There are some cool management things too, SCOM integration being handled by some custom code right now but the RC of the Azure Management pack is being run in parallel and that’s going to be something every IT Pro who’s managing Azure will love.  There’s also an interesting tool called “Keynote” running that checks that the web service is available from different points all over the globe and the tool the user facing tool for managing the workflow has been created in Silverlight and uses AD FS (Active Directory Federation Services) for authentication – meaning that once you’re signed into your desktop you’re signed into the app.

This is obviously not new functionality to us, commenting and rating of videos has been with us for some time but the 3rd party solutions we had in place don’t seem to have been the most manageable.  On that point we get quite a lot of comment spam that has to be filtered away.  The service has been live for about 120 days now and MSIT tell us that they’ve saved about $14k PER MONTH! in management costs, upped availability by 8 fold and made provisioning a staggering 240 times faster!  That’s Azure for you.

The team learnt some excellent lessons, which they’ve published here along with more detail on the above, but the lessons are really important and I want to call them out:

    • Pick the right application. The primary key to success in developing for Windows Azure is to pick the right application. Windows Azure is great for building a Web application or a compute-intensive application, but it is not yet a general-purpose application development platform. The SXP team started with a lower-risk customer-facing project to validate that everything worked as planned.
    • Prepare for the impact on operations. Operations is the biggest change when developing for Windows Azure. It is critical to understand the operations impact, get the operations team on board early, and design for operations. Because the SXP team knew that it faced an unknown operations environment, the team heavily instrumented its code so that it would know exactly how many transactions succeeded or failed. The team took advantage of the out-of-the-box Windows Azure Diagnostics to do the bulk of the work but also wrote some small custom tools.
    • Prepare early for security and integration. Security and integration are very important considerations. AD FS is a great security solution for authentication. Integration is challenging if there is data inside and outside the firewall. For projects that require integration, it is important to make sure that those problems can be solved before development starts.
    • Build in SQL Azure retries. SQL Azure moves databases to balance load. When a database is moved, the connection pool becomes invalid. If the service does not retry the SQL connection, the connect request fails, causing errors. So it is critical to build in SQL Azure retries. For examples of code that retries connections, see the blog entries at http://bit.ly/98Makv.
    • Conduct performance testing. Running performance and stress tests with Visual Studio and Windows Azure can be challenging. The problem is the wide area network (WAN) link between the client and the server. The results can become skewed, and the network can quickly become a bottleneck. The potential to accumulate bandwidth costs also exists. The SXP team solved this problem by creating a simple application that it deployed in Windows Azure in the same data centre, in order to test heavily on the same network. This testing provided feedback on real performance data.

I have a bet with myself about what the first comment will be on this post…

How we (Microsoft) are using Azure for internal apps

The argument for Silverlight as part of your corporate optimized desktop

The argument for Silverlight as part of your corporate optimized desktopWhat do you deploy to your people as part of your corporate standard desktop?  Windows 7 – yep gota have that! Office 2010?  Yep you know you need to moving to it if you want your people to work as efficiently as possible.  MDOP – well obviously you’re going to be using parts of MDOP to get the job done, be it App-V to deploy your line of business app or Med-V to deploy the actual desktop.  Over and above that what more are you packing in?  Is Silverlight in there?  In this post that’s exactly what I propose.  You should be rolling Silverlight as part of your standard practice.

I can already hear the question screaming in over the ether…Why? Why? Why?!

And I can hear the reasons for not doing it too… “it’s another thing to maintain”, “it’ll encourage people to watch x-y-z instead of working”, “we don’t code for Silverlight, none of our own apps use Silverlight”, Actually that’s a good way to answer the why.

“it’s another thing to maintain”

That is a stance that you could take, given how hard other plugins are to manage.  But we’ve thought about it well in advance and there are two very easy ways to do it.  Firstly Windows Update is aware of Silverlight, so your WSUS, SCCM or SMS infrastructure that you’ve already deployed to manage your business is ready to keep your Silverlight clients on the latest version.  Then there’s Windows Intune, when it’s released there’s yet another option for management. 

Secondly Silverlight itself can check for updates and install them, something that’s controllable via group policy.  What’s required for this “self update” option is for the user to have Administrator access to their PC and an Internet connection.

If you have a more tightly controlled environment then option one is probably for you but if you’ve chosen not to do too much in the way of management you’ve got yourself covered with option 2.

“it’ll encourage people to watch x-y-z instead of working”

Really?  I’m not sure there’s a huge amount of merit in the argument for blocking peoples access to specific sites these days.  It might be me, I might not be seeing it, but we don’t block access to iPlayer (or SkyPlayer which uses Silverlight) at Microsoft and I don’t see people watching TV shows all day.  Surely as an IT Pro it’s better to provide the flexibility in case they do come across a business critical site that uses Silverlight – perhaps something using Pivot for really rich BI?

“we don’t code for Silverlight, none of our own apps use Silverlight”

Ahh the famous case of the chicken and the egg.  I’m a firm believer that if you give people the ability to build something they’ll push the envelope and really build SOMETHING.  How much of a difference would it make to your people if your line of business application actually looked the part and was so easy to maintain that the dev guys were able to keep it beating with the pulse of your business and users?  IT Pros should be leading here, providing the tools and capabilities to make things better.  It’s the same reason that I always think it’s best to deploy 64bit over 32bit where possible.  Not because you need it right now, but you might. 

I always remember being forced to deploy another browser plugin because a CBT (Computer Based Training) course was developed that would only run with version 9.55 or later and we were on version 7, in a regulated industry where you need everyone (that was about 10k people) to complete the training in 30 days time it was a painful lesson.

Do you deploy Office?  Well if you do and if you intend to allow people to use Office 2010 Web Apps then you’ll get a much better experience with Silverlight installed as helps with even little things like synchronising files to the web.  The Office deployment guide goes into far more detail:

Silverlight enables a better online experience with Office.com, powers the Office 2010 interactive guides (available with Office 2010), improves the user experience of Microsoft SharePoint Server 2010, improves the performance of Office Web Companion applications, and helps with the process of uploading Office documents to cloud services.

So all up, if you want the best Office 2010 experience you want to be installing Silverlight and if you don’t you’re going to miss out on some great features – the interactive guides significantly diminish the learning curve for your users!

From the why we move into the how:

How do I deploy Silverlight at work?

As I’ve mentioned a couple of times above, Silverlight is pretty easy to deploy and we’ve done all the heavy lifting for you with the trusty deployment guide.  But to summarise it you can:

  • Deploy manually
  • Deploy with just WSUS
  • Deploy with SCCM and WSUS together
  • Use group policy
  • Deploy as part of your standard image

The last option isn’t mentioned in the deployment guide, however it’s as simple as installing before you sysprep your image and you can then mange Silverlight using WSUS and Group policy to keep it up to date.  It’s probably best to use this option as a more tactical move if you’re a large organisation.

Resources:

For more information on Windows 7 deployment see Springboard, for more on Silverlight see Silverlight.net for more information on Optimized Desktop see

The argument for Silverlight as part of your corporate optimized desktop