I've posted several times about Spoon in the last few years. They are a startup based out of Seattle, Washington. Something I have stated about Spoon during some of my presentations is the fact that they are constantly innovating and bringing more value to their existing products, as well as creating new exciting products that make us Techie types foam at the mouth. Well, they've done it again. If you attended any of my presentations over the last year in which I talked about Spoon and you subsequently went out and got your own Spoon account, you may have noticed that Spoon.net has changed. That's because the Spoon Application Library and Cloud Storage features are now on Turbo.net. For more about Turbo.net and some of my previous posts about Spoons Application Virtualization offering, check out some of my previous posts HERE
Spoon.net still exists but is very different!
You can see that the 'new' Spoon.net features some different applications\platforms and some new options like Hub. It's much more of a developers platform than a users portal. What are we even talking about here?
Spoon enables you to package your application into an isolated virtual environment, often referred to as a container. These containers are portable, no client is required to run them. Meaning you can take the application and run it from any Windows machine.
Spoon.net is the home to the latest Spoon initiative. In many ways, Spoon has not changed the product that much from the product some of us may know and love, in fact you can still purchase the Spoon Studio and Spoon Server tools. But there are some significant changes, Most importantly is the HOW involved with creating the 'containers'.
Docker is now hugely popular. Personally, I took a look at Docker a few months ago just to see what it was all about. As somebody, who is pretty heavily invested in App-V, my immediate thought was that Microsoft really needed to get something similar developed around App-V or possibly even a separate product. Docker is basically a platform that allows developers to easily create their own isolated application containers for their applications and host them in a portal to share with colleagues. A Portal like GitHub. Providing an excellent platform for Dev Testing. It's pretty awesome BUT it's Linux based, so that may be limiting it's appeal a little bit. It allows the ability to inject some of the Linux Kernel components in with the isolated application, ensuring they are completely isolated and run purely within the container. Maintaining the integrity of any testing systems being used. All well and good but what about those of us who spend their work days in the Windows trenches? Spoon.net is the answer!
So what does that mean to those of us working on the Windows platform with Spoon? It means we can provide developers with the Spoon Plugin, which they can use to easily package\containerize the applications they are working on. Simply by running some commands from the command line. There's no need to learn how to use a packaging tool or any of the theory or terminologies that come with it. If you can install your application and use the command line, you can create a container.
What are some of the benefits for isolating your virtual applications with Spoon, why even bother? By isolating your applications, you ensure you keep your testing machine in a pristine state. When you have multiple applications that are isolated, you ensure they can run side by side without any conflicts, for example a conflict due to requiring a different version of a shared DLL. How about this, you have some applications you've created that require the latest and greatest...or not so greatest version of Java, you also have some legacy applications that you've inherited that require an old version of Java. You can containerize Java and use the specific version you desire for any application. Ensuring they can work side by side on a given machine. This is not possible with a traditional install.
Spoon.net gives you the ability to create applications with layers. For example, you can add a layer for your primary application, add another layer for some runtime requirements, you might also have another layer which sets some of your application preferences e.g. Theme settings. A really cool introduction with this layering method is the fact you can also add an image layer. You can add a specific Dependency layer or even a 'Windows Operating System' layer.
With Docker, the containers you create can include some Linux OS components. With Spoon, you can include some legacy Windows OS components with your legacy applications, which will enable you to run some of your legacy applications on your newest Corporate Operating System, possibly Windows 7 or Windows 8\8.1, This could be a huge win when dealing with pressure related to a company wide migration. e.g. an application which works on XP but won't work on Windows 7\8 or possibly an application that works on Server 2003 but won't work on Server 2012.
NOTE: I have not tried creating an OS Layer containing Windows XP components in it but I did ask if it’s possible to create an application container with say an XP micro-VM to handle incompatible applications and while it’s theoretically possible, it’s off your own back as there may be licensing implications.
At this point you might be saying to yourself; Yeah, this sounds interesting, but how much does this service on Spoon.net cost?
Nothing, it's FREE!
But what's the catch? If it's free, how do Spoon make money from this mother-clucker!?
They offer the use of their framework for your developers to use. A central portal for uploading their application up to, a knowledge base complete with their scripts, documentation, whatever they may have. Whilst this is free, there are some other perks which are on offer if you pay a subscription. For example, you can quickly and easily create your own browsers, completely isolated and perfect for testing, you can tailor them for your exact needs e.g. You want Chrome version 21 with Java 1.6, .Net 2.0? It's a few simple clicks away. For more on this, check this article out HERE , something else you can get is unlimited Selenium Testing, which is pretty unique, in the way Spoon offer this as a service.
With Traditional Selenium testing, as was the case for a previous employer I worked for, you may require an expensive infrastructure to provide multiple virtual machines to your users and storage for many different snapshots etc. Which is costly. Your web developers need to test across a wide range of different browsers, with a different combination of runtimes. It's a management nightmare and hurts a budget. Well, never fear, you can just use Spoons built in Selenium testing. It allows you to pick the test environment you want and quickly run your testing without any of the headaches you encounter in your traditional Selenium environment. It also plugs in with some of the more widely used Web Debugging tools such as Fiddler 2 and outputs to the screen in real time for your analysis. If you're a web developer, you should really check it out!
Also, some of the pricing options include the use of some existing Spoon tools. Which I've detailed in earlier posts. These tools are awesome, powerful packaging and deployment tools. If your company decides to standardize on Spoon for their application virtualization needs, they'll enable their developers to simply output their applications already pre-packaged and ready for deployment. Developers and IT staff alike can also deal with legacy application dependency and OS issues. You could also provide your packaging team with the Spoon Studio tool to create application containers of some of your existing third party applications in use. The benefits of application virtualization are not just limited to Dev Testing! By paying a certain subscription, you can also go completely on Premisis. Leveraging the awesome Spoon development framework and infrastructure completely internally for your company.
You can have your knowledgebase and shared repositories completely in-house and hosted in your own data center. As well as use Spoon Server to stream your containers from a central source to your end users desktops. Providing an awesome and powerful dynamic control for your deployment teams. For more about application streaming, check out some of my previous posts! If you don't want to invest in getting the Spoon Server tool in your pricing, you can still generate an MSI from the command line tool, which can then be used to deploy your virtual application, if you so please. For more information about different pricing options, check out: Pricing
On paper when I look at Docker and Spoon, my gut reaction is that it's really aimed at developers. Also, if this becomes the norm, what will happen to people like me, who are employed to package and deploy applications? If developers are packaging their applications as virtual applications, particularly with layers like in Spoons case, Will packagers even be required? I don't think we will, but I don't think that's a bad thing.
Packaging is a costly and time consuming drain. Application Packagers tend to have a deep understanding of the underlying operating system and an excellent acumen for troubleshooting and logical thinking. I believe these are traits which would be of great benefit in various different areas, not just packaging. I'd see the removal of app packaging as an opportunity rather than a threat.
A fellow App-V MVP friend of mine conversed with me a couple of months ago when I was planning to present on a topic about App-V, I had planned to end the presentation with a discussion on what I believe would make App-V better and more relevant for the future. He brought up the point that there should be an option within Visual Studio to output applications into an App-V format. I believe the success of Spoon.net and Docker will be proof of this!
Ruben Sprujit presented on a topic about how Enterprise IT will look in the year 2020 at BriForum this year, he made a remark about a single executable like you get with many OSX based applications being a requirement for the future. Spoon.net isn't too far from that as a concept, right now.
If you are a developer or you work with developers, I think you owe it to yourself to check this out. It is free after all!
If you work in IT, like myself. You should also take a look at it. And don't worry about my references to the command line, some helpful fellow by the name of Chris Hunt, created a Powershell alternative. Available HERE, Just like Chris we can all contribute to this awesome solution. It's an open source project, Spoon have supplied significant documentation and resources HERE to enable all of us to jump in! If you've ever used GitHub before, you'll be very familiar with how this works, if not. Take a look and you'll be introduced to the latest and greatest method for collaborating and really just generally an awesome workflow!
As a person who has worked on over 10 migration projects, I'm very interested to see how this can be used effectively for dealing with those legacy applications. I'm already a big fan of Spoon, the speed at which they innovate is very exciting for me. If they are not on your Radar yet, they should be!