Today I am writing you after my visit to the DevOps Days in Singapore.
The intention of this article is to give you a very brief overview of the current changes in IT, which you really should be aware of:
- Why is Windows 10 not just a simple operating system as the previous one and why you really should be aware of this.
- What does Digital Transformation mean and how does Windows 10 come into play?
- How does Windows as a Service and Modern IT come into play here?
- How can you adopt Windows as a Service and Windows 10 in a long-term perspective?
First of all let us think about, how IT performance can be measured.
For this I quote the current 'State of DevOps report 2017' (left), as well the report from Forrester 'The Digital Business Imperative' (right):
Okay let us recap - the left statement surely is directed completely into the DevOps area - especially when building your own tools. The quintessence of the right statement is definitely:"Digitize Your Business Strategy" and not just "to add an app here or a site there".
Both statements can be concluded to two very essential points:
"Stability" is always tied to IT-performance, because it has ever been one of the most important requirements to IT. You know the sentences like "never touch a running system". IT just needs to work. But then - why "Change", and what is actually meant with "Change"?
When doing your Digital Transformation you want to digitize your business strategy and bring in an effective business value.
In a sentence: You want to leverage IT not to just being a cost factor, but to make value out of it.
This is led by bringing in these "Changes" to adopt Modern IT, DevOps, Modern Apps, Everything as a Service and many more. "Change" includes to being up to date, having the most current applications, drivers and OS; to have the possibility to adopt new technologies and services just as they arrive. "Change" also ensures a very secure environment, because you regularly apply patches and updates and also use the current security features. "Change" in this slide is a requirement for all, what it takes to place in the value-leveraging technologies, features and services.
Therefore, the IT gets the requirement to adopt an increasing amount of changes in faster paces, but still ensuring the stability. But what does "stability" actually mean? Historically, it means that you don´t encounter any issues at any time. But in DevOps we know that you have to bring also some additional other aspects into play - like "remediation time". It´s not only about preventing any issues, but being able to remediate occuring issues very fast.
Windows as a Service
Now, having this information - let us take the turn over to Windows as a Service, which exactly addresses this all:
Windows 10 with its releasing pace of two times per year ensures the most current and completely patched system, which therefore results in an increased security level. In addition, it is continuously delivering new features in terms for security and administration, but is also allowing to adopt new CPU architectures with their features, and leveraging performance and security on a hardware layer. With Edge, the UWP, MDM and MFA Windows is addressing modern websites, applications and services, which ensures secure authentication and being manageable anywhere on the world just over the Internet. And, because of having a current OS with current technologies in place, you have always the possibility and agility to jump on the Emerging Technologies without long introduction times.
In a sentence: Windows 10 is the operating system for Modern IT.
Why is Microsoft doing this?
I have been very often confronted with sentences like 'Why is Microsoft doing this?'.
But - is it actually 'us' making the change?
Take a look at IT: Development has moved to agile approaches 10 years ago. Every other operating system is having the same approaches some years now, or even since the beginning. We are speaking about DevOps, NoOps, serverless applications and many more. Hackers are improving day by day, leveraging their attacking frameworks with artificial intelligence, and - in fact - as we can see with all the Ransomware attacks going on and being much too successful, the adoption of "Evergreen" seems to be still very bad at our customers. In the same time now, GDPR is getting ready to becoming active and many customers are still figuring out, what GDPR actually means.
In fact, we are the very last ones moving our OS on the train of continuously"Change" and it needs to be there, because IT is moving there.
Long-term aspects for Windows as a Service
One of the challenges, which you might have read in my previous articles but you definitely encountered by yourself, is the adoption of the two Feature Updates per year and transforming your processes and technologies to reduce the recurring amount of work to an absolute minimum.
I will show you here, how this can be achieved:
In this slide you can find three main areas:
- Information-based Analysis
- Proactive Testing
- Reactive Testing
-> Information-based Analysis gives you safeness and control with a high certainty.
By continuously having the insights for your environment, you know about errors, before you encounter them. You should use this approach to find and fix the biggest issues and to always being in control of your environment.
-> Proactive Testing gives you safeness and control with a high certainty.
Manual testing can be even better than just working with the information from Upgrade Readiness, because you can walk through check-lists and ensuring stability. But in an testing environment applications can behave differently and you have to invest a lot of resources. Many customers find also automated testing very promising, but remind yourself that many errors cannot be even found by automated testing. You should use proactive tests for LOB applications, Upgrade tests and (may be) applications, which are known to be problematic or self-developed.
-> Reactive Testing returns the most accurate results by creating the less effort.
Reactive testing is very unconvential in IT today. Why? Because the impression for stability has been completely different in the past 20 years. Though, with the previous provided information, and speaking about Windows 10 - reactive testing creates only very small and controlled downtimes. You define the impacted computer collections and after encountering an issue, you can just retrieve the information of the blocking application/s and roll back your Windows environment for the dedicated users to the previous version. Afterwards you can just pause the deployment of the upgrade, fix the error, and then just turn the deployment on again.
Many of my customers start here:
Cloud services - or in detail - Upgrade Readiness is not adopted and reactive testing is just not allowed.
But as you can see the arrow, the intention needs to be to push the higher percentage numbers in a long-term perspective to the right down corner. You could achieve this by focusing the proactive testing approach only on the most important and focused applications, and in the same space enabling Upgrade Readiness and establishing a slight approach for reactive testing. (just in case) You will need to tune your recurring processes and manual steps as I described in my previous articles.
Then, the next step could look like this:
At this point you still continue to work on your processes and try to automate every task, which needs to take place every release, and therefore reducing the human workload. With the coming releases you will see that the problems with the Feature Updates aren´t that painful and you can continue moving to the reactive approach and just focus the manual workload for the important and necessary things:
This will reduce your effective resource costs and allows you to push the tranformation in your environment. Though, keep in mind that there are no "Best Practices". Something that worked for one customer, can be completely uneffective for the other ones. You have to find a layout, which works well for you and you should never stop improving it.
In addition, if you are not allowed to use Upgrade Readiness by any mean, this circumstance would increase the amount of needed human resources a lot, because the percentages need to be split off to the two other areas. The same applies for Reactive Testing. Keep in mind that Proactive Testing in terms of resources is the worst area to invest the percentages in.
Before finishing now, I hope that you find this information useful and would be very happy, if you could share your thoughts and improvements.
How is WaaS beeing adopted in your company and how well (or bad) are you doing?
And yes - I know that it is hard.
In a transformation, the easiest way to fail is, to handle it as an incremental change.
And - the transformation will come. Either you will bring the transformation, or the transformation will come to you.
(Trust me - the last part will come with a lot of pain in its backpack.)
All the best,
David das Neves
Premier Field Engineer, EMEA, Germany
Windows Client, PowerShell, Security