Top 3 remarkable reasons modern app practices rock for IT Pros
Modern apps are different from the old exe based applications that have been around for the past 20 years they really aren’t just about full screen apps! There are real advantages to embracing them for IT that solve some of the biggest app headaches we in IT have faced for years. What benefits can the container based approach deliver for you and why is it a good idea to adopt a modern app pattern?
I spent the first while of my career as an application packager building SMS installer packages and Orca with MSI files just at the time when the “installer” revolution was kicking off. Prior to this time install and uninstall of applications was far from smooth or trouble free. Much, much harder than it is today. At the time Microsoft Installer delivered a best of both worlds approach in which deep integration with the operating system, Windows, and made uninstallation easy(er). Also to a certain extent it helped prevent apps from overwriting each others system files (DLLs) which was common by tracking all the files used by an app. It was also easy to see where potential conflicts could arise and people built entire solutions around this.
Looking at the state of play today containers are the new big thing and it’s easy to see why: they solve the biggest headaches we’ve had in the app space for years. Almost all OSes today implement containers in some form with modern applications, Windows 8.1 is a great example, so containerization at the client is now the app development practice of choice. It comes down to three top reasons for me:
Lifecycle and Modern Apps
The application lifecycle has been a challenge for IT Pros and developers for many years, both have had different but similar problems with the lifecycle of install, upgrade, uninstall. For us IT guys install normally meant spending tons of time customizing the installation process (repackaging) so that install locations were exactly correctly, the right options got installed and the right dependency applications like middleware were installed.
All those options should lead to a more predictable installation but upon upgrade we often found that the developers were building under the assumption of a standard install and we’d again have to transform the upgrade install. Finally uninstall always leaves some stuff behind because the automated uninstall wouldn’t know if it was safe to delete something that could *potentially* be shared by another application. The approach of app containerization means that all the requirements for the application are self contained within the appx file, in the case of modern Windows apps. There are also protections in place to prevent those files from being modified and as a result a developer knows exactly what will be there when the app installs. There is of course a requirement for IT to give up some control over the customization of the app but the trade off is reliability and predictability. Something that every IT person I’ve ever known has valued above all.
Anti-interference and Modern Apps
The app container approach also has remarkable security implications too that resolve many of the standard headaches that IT get involved with. What are those headaches? We’ll one app overwriting the files of another but more worryingly it’s become a really common way for more…nasty…things to happen: specifically malware. Firstly apps in Windows 8.1 are security principles meaning that they can have security permissions assigned to them and by default they do. As you can see from this picture the Windows Store app can be read and executed by other apps but it’s files can’t be modified by other apps. That provides an initial level of malware protection. Additionally appx packages are signed to ensure the creator of the package is who they purport to be so you know that you can only have apps installed from trusted sources.
Apps also run with least privileges assigned to them so it’s not possible for them to execute code that is outside their context. They do this in just the same way that protected mode Internet Explorer does.
Integration and Modern Apps
Traditionally apps were all able to talk to each other but they used many unorthodox ways to accomplish those tasks and they had some really painful middleware requirements in the case of lots of LoB apps. Apps in Windows 8.1 can be more easily integrated into things that a user has already setup on a system with the use of App Contracts. These contracts, which you’ll commonly see when sharing, allow one application (the target) to be used by other applications (the source). For example the Mail app has a target contract to receive data from other applications and Internet Explorer has a source contract to share information about the page you are viewing when you wish to do so. These contracts provide the ability for an app to reach outside of it’s container safely and allow other apps to deposit information into another apps container safely. Contracts are remarkable for IT again because they make things reliable and predictable.
Sounds Interesting…how do learn more?
Hopefully this post has given you a few reasons to start thinking about modern apps a little differently to the way you might have been thinking about them. They aren’t just apps that only show up full screen! There is some really sound technical reasons why you want to start prodding your organization to move towards modern apps. You can learn more using this TechNet virtual lab to sideload applications in Windows 8.1 or by downloading the Windows 8.1 evaluation from the eval center.
The post Top 3 remarkable reasons modern app practices rock for IT Pros appeared first on Enterprise Devices and Infrastructure.