 It's time to begin. I think I come from the world of Huaijin, and I'm mainly responsible for the architecture of the softwares and also provide the computation service and the implementation. I will also give a brief introduction. I'm Jason Huang. I come from Microsoft, and I mainly specialize in Windows Server and performance tuning. And then I worked in the department of authority of softwares about the solutions of cloud native and the architecture. So today we will briefly introduce the work that we have done. And today our topic is about the container technology and how it drives the Windows application transformation for the afternoon Windows container from 2016. So far it's across the Windows container. So today first I'd like to introduce the experience of lifting and shifting about the legacy application, how to migrate them to Windows container. And then next part, the second part and third part, Mr. Google will introduce the hybrid Kubernetes as well as the future challenges and the solutions of challenges. I will briefly introduce the first part about the lifting and shifting. Why Microsoft is doing the Windows container support? That is because they contact the background. Five to six years ago, one of my friends was in financial industry. He asked me, do you know APC? That is American born Chinese, right? American born Chinese. And he told me that APC is AI big data and cloud. So you can notice that they know much, they know more about the AAC, the AI and cloud technology than even that else. So that means our technology develops so rapidly and it also puts high requirements to our technical people and we should also think about how to adapt to these development trends. And also in the industry, this technology based on the Excel. So there is a big gap between the business and the technology and that implies the transformation of financial industry. 35 years ago, the traditional industries like the Donetsk Windows 2.0 and 3.5 version used all the application programs and they may encounter a lot of problems. One of the problems that is unavoidable is every generation product of Windows has their own lifecycle and most of the legacy applications they will develop faster than Windows 7. Although the Windows 7 is keeping up great but as well as the FUL 7.0 2018 is also the same case. But actually in the next months, it's time for Windows 7 as the deadline for its support for scalability and as you know that I'm present for any product, any program, or any external internet who will encounter such attacks and there is no update for the security issues and it's very risky. For SQL Server 2000 and CAC 2008 R2, the deadline is next year for the support of scalability. So it will also become very risky to use it. For traditional applications, we can use container technologies to migrate it just to a bridge survey. At present, how many of you know about the container technology? How many? OK, you know Windows container, right? So Windows container, I will give a brief introduction about it. Windows 7 supported from the 2006 version. And it has two pathways. For example, first is to separate because it has user mode and your process is in user mode. Although we have the process separation of split, but it is namespace separation for split. This is the best container, but for some others, they have special requirements for security or they need to be split step by step. That means we have hyper B isolation. That is another Windows container. And such container from user mode process to current mode, it is completely isolated from each other. So during the whole process, they are completely isolated from each other. And for the former one, actually, you can see the process in the process in Windows 7. You still have the process isolation. So these are the two kinds of the Windows container. So for these types of Windows container, how can we migrate the traditional application? Maybe WCM or MPC, this kind of traditional application programs we need to migrate. Normally, we will have several steps. The first is to confirm the scale. You need to know about the Windows container, what it can do and what it cannot do. If your application is appropriate to be migrated, I will just give you a brief introduction about the Windows container, the problem that you will encounter. For example, the integration identification. Because if it is internal, then you will need to have the identity verification. But DarkWindowsContainer does not have the domain. Actually, container is non-stateful because it wants to be quickly, rapidly provisioned. But if you cannot do that, the solution is MSN, so it's come. It can be an agent for the identity verification. Traditionally, the Windows subname relies on the components of the server itself. For example, DNS or DHCP or AD. But in Windows container, you cannot install these kind of components. They cannot be installed in Windows server. But if your application relies largely on the components, maybe you should know that this cannot be directly migrated to Windows container. Another point to make is if you have UI, if you are form application of Windows, not web application, the UI cannot be put in Windows container because it does not have the relevant components. So these are some issues that you may encounter. For traditional applications, since we already know the limitations of Windows container, we should confirm the scale to include what kind of applications to migrate. Also, you need to confirm whether your web is stateful or non-stateful. After confirming what should be included, we should also know that whether our resources are only prepared because for traditional, we may use some patches and to restart it. So we need to re-confirm that whether those resources are ready or well-prepared, and we should know the new containers, whether they are ready. Also, for some supporting resources, because as we know, when you search on the Windows container, I, for our CI CDN DevOps, if they are ready and well-prepared, if we need to rely on some third-party resources. And then, after all the resources and the scale has been confirmed, we should evaluate whether we can come up with a roadmap, a scheme, and which way of migration would be the most appropriate. And next, later I will give you three roadmaps, the three pathways, so that we can come up with another scheme of the migration and about the strategies and the road map. This, actually, this is constantly introduced because we cannot have a very perfect one at the very beginning to ensure that it is flexible and agile, because if you spend a lot of time on optimization, after you finish your optimization, the businesses have already been changed, so you cannot satisfy the requirements, the keep-changing requirements. And about the migration strategies, generally, we will divide it into three steps. The first is live and shift. And that is to put your applications on the S. And that means you put your S, the virtual machine, on your cloud, no matter what kind of cloud, on that platform. And your intention may not be achieved, although it is quite simple, but the problem is you need to, you cannot get the flexibility, actually, as a matter of fact, because you need to have some patch and update. But if you are a 2008 server, you will also encounter the problem of lifecycle, so you cannot actually acquire the flexibility. And the second step is optimization. We can, after knowing about our traditional applications, we can containerize in Windows Container. And in this container, these containers can be deployed on different cloud platforms. You can build your own platform based on S. Also, you can use the pass clusters like the product of Microsoft. And this can help you to improve the flexibility of the application, because container is self-contained, self-reli. So sometimes the testing and the producting, they are conflicting with each other. So after we give them a package to put in Windows Server, Windows Container, so that from that to test and to production, it will encounter less problems. And the last step is cloud notion. And that means, during this stage, we need to reconstruct the whole application to redesign the whole application. And you will rely on optimizing your applications to adapt to the cloud native environment. So from this perspective, we can see these three steps actually not one to two or two, three. But actually for every project, every program, during which period, which resources are the most appropriate and which step is the most needed. You can also have some containerize or some reconstructing and to deploy them on your cloud platform to improve its scalability. So from the perspective of advantages and cost control, actually for the lifting and shifting, it has the fastest speed of migration. But actually, it cannot provide you with the flexibility. But for optimization, actually, it is of meat level. It has very few source codes. As long as you know about your applications, you can just dissolve it. And the network, most of the Windows, the network, actually they have quite decent resources. For example, these to do, it can simply support. To add the containerized support for you. So there is a type of this kind of quadruple components to help you. And the last one has the highest cost and it is much slower. So finally, Huaijin will introduce. I also want to make another point. That is the base infrastructure. If the infrastructure is ready or we're prepared, actually it needs to be fully adaptive to the containerized programs so that it can help those applications to satisfy our requirements and needs. Another point to make is the security and protection. Because in containerization, those boundaries of security will also be changed. So if we can adapt to it and if it is fully secure and can be fully protected. And finally is the DevOps. And right now, whether our DevOps can be fully applied to the Windows container and to fully adapt itself to the ecosystem. Thank you, thank you for the introduction. And next I will introduce the infrastructure. Now we talk about the infrastructure needs to be well prepared. But for Kubernetes, what kind of work that we need to do? Actually in the past two days, in the past two years, we realized a deployment of hybrid cluster. And this infrastructure, it is quite simple and not that complicated. As you know, because that means you make the most complicated things simplest. So it is controlled by the control plane and within the Windows. So it is managed in this hybrid cluster. And for the community maintenance and for the, we have more hardware for the past few periods of time. But they made efforts on code writing and management, so from the perspective of a manager, they can find the architecture is quite easy. And like the next node and the Windows node, they can be managed under the deployment. In both of the system requirements I listed on this slide, you can show that you can have a clear support for that from the Windows Server 2016. We already support that. For human ads, we recommend the Windows Server 2019. So the new features can be added supported. Well for image, we classify the traditional ones for the traditional, which supports the traditional applications, but the other will support the core application. So these images will basically classify the two times which I will elaborate that later. Well for the IP requirements for your source to consume it, it has a cap, no matter for the memory or CPU consuming or utilization, they have differences. This slide shows issues about the basic images for enterprise products. We have some traditional latency applications that can be unified, operated or managed but as is known, since we have the knowledge of basic knowledge of images, so during the migration and planning week, we can consider to migrate these images into the new platform for the new applications. The new applications are much more better of course. So we have more storage and investment and better development, so the new applications must be better and must be more suitable for the new platform. And this is about the upgrade the system version of Attable. Well for the summer of 2016, if you have used it to the emotion, now we have some limitations we have, but the limitations wasn't great. Lama Gold is just to clarify that. We have just some specifications for the windows. For the operation systems. And these two versions are not compatible, but if you can check the snapshot on the right corner, you can see that the problem has already been issued. So I believe you need to pay close attention to the windows or Microsoft updates. We have made great efforts on that. For now we have the offline deployment and we support Flannel and IPOD through the Flannel, and we can unify and connect the whole network of our platform. No matter where you use the windows or Linux system, we can use middleware to connect to different systems. This slide shows the network planning and we use the fourth IP address, and you can change the IP address according to your production scenarios or operating scenarios. You can make adjustments accordingly. And we have the cluster subnet and the service subnet. Well, for the testing environment, we built the cluster, which is quite easy. Well, for the past years, the community had made a great efforts in interpretation. So we have made it very easily to build the cluster and provide an environment for everyone to know and learn about our community and cluster. And I will just show the different steps for the cluster establishing. According to our experience, as the onsite scenario, this is quite an offline environment provided by the clients. So we need to be prepared the images and to deploy that. So the network is quite complicated. So now you may want to consider about this step. For the next step, actually, I have a demo video, but the video will not elaborate the steps of establishing cluster specifically, but only focus on the deployment and the testing steps. For the demo, it's about 180p. It may not be clear for the audience that the back row will just elaborate that. This is the control panel, and we have 400 posts. This is the windows nodes. And as you can see in the windows nodes, there are some labels to describe the topic of the host, showing that the windows nodes just integrated into the Kubernetes cluster. And I can see here, this is the OS image version information. It shows a 2019 standard version. And it also includes a Kubernetes version from the 1.2.14, which supports the windows environment. Let's check the Linux nodes. As you can see, the Linux nodes are based on Saddleys. And then I will check the container. As you can see on the slide, there are no containers deployed in this cluster. And then I will just run the scripts to make the deployment for the scripts. I will mainly use the Python module to manage the cluster established in the module. This is to implement multi-columns of copper. Just copy that module or script into the testing environment to implement that. The first time I deployed a Linux container, then I deployed a windows as a window net container. And that is called application. And then I will just reload the page. As you can see here, the container has been successfully deployed in this cluster. Now, if you are quite familiar with Kubernetes, you can see that we can use open access to these applications via pause. And we can assign the different clients on windows. And we can select one to access the information. And this is a Kubernetes routing demo. If you can check the foreigner queue call demo video, you must be quite familiar with that. This is an ASP.NET application, which is quite traditional and a classic. For now, I will just .NET card application. And all of these applications are unified already in the same cluster. And showing that with that new Kubernetes technology, we can manage the traditional applications and modern applications as well. And it's now just to show the steps. And for the cluster established in the steps, it has been already uploaded on our official website if you're interested in please check that. That was the point. And just now, I showed the Kubernetes Polyselection demo. It says that our ecosystem is quite flourished, and we can select options that are part of the business development. For now, I'll just briefly introduce the future challenges. I'll make it as four points. The first is quite high-level and dimensional. It's for the organization. We deliver the projects. We need to focus on the organization, the state that the organization is in and the maturity of that and including the personnel of that organization and the technology preparation. For the first two points, that is the organization and the peer rating. You can see that in the paper. I'm very interested in checking that. For now, I'd just like to see the business digitalization and the digitalized business, which is quite a traditional application and a modern digitalized application. We need to have clients to internalize these applications and make it in the form of cloud native. What about the peer rating? The current peer rating is organization and in, which are quite important for different peer ratings. The enterprise has different requirements for the container or container platform. If you're in the initial peer rate, but it's quite in the emerging peer rate, we just introduce a cloud native concept and we show the new technologies, but if the clients are quite mature, maybe they already know that digitalized business they may require a higher requirement. They may have higher requirements on the quality of the transformation and the whole effect, which is quite a challenge for our project. For now, if you do the business of project management, you must be familiar with this topic. It can be quite easy or quite complicated. But if you communicate with a technical personnel, it's quite easy, but, alternately, we need to face to you the whole business, so it's quite a complicated process. So we need to communicate with the basic technical personnel and the high-level managers. Including the project implementation and new technology introduction, we need the support from the high-level managers. Of all the project team, we know in the internet area, the personnel flow is quite frequent. In some experience, maybe in last during this process, which is quite not helpful for our company for the project or for the project identity. So during the whole process, we need to manage the whole team and from the establishment phase to the distillation phase. We need to transfer or pass on the knowledge and experience accumulated by the team. We need to focus on this time. I'll just tell something about the technology. And we have two stories. One is the first story that someone asked before. The wind has come to never normalization. Actually, when the project was delayed at that time, the project was delayed. By that time, the developer was invited and that night, I spent a few hours to finalize the Windows Form application, which is quite particular. Since this application does not require the frequent interface interaction, so I made modifications to all the applications in the Windows container. And I snapped shut this and I took it as a memory and also as an example. And for the second example is actually about the printer slot spooler. From last year, I have to focus on this example. Since this service is quite important for many online services, as you can see, when we booked the flight ticket and we have the electronic journey a bill and how can we print it out to print from a PDF file to a paper document. To do this precisely, this is quite important. And we communicated with experts and PMs of the Microsoft and we promote the featuring in our whole community. We make it one. And I take an example here. As you know, Microsoft is a large-scale company and when Microsoft launches software it's quite difficult because if you are quite familiar with the software logic process of Microsoft, which is quite complicated actually, and even familiar with... Here I will take a short example which is quite important if you're interested, you can check the link in this PPT. And for now, for the future, we have some questions for the future. We are delivering in the bus to actually operate it and in the present, we use Linux or open source technology to integrate it with our Microsoft technology and this is as simple as scripts to collect the data, the information and to judge the state of our current operation. And here, as you can see, it will require that you need to have highly efficient capability, your interpretation of the Windows operation system as well as your interpretation of executing the answerful scripts. So it still puts challenges to our world of technical personnel and we need to prepare the relevant technical personnel. And next is the Q&A session. If any of you have any questions, feel free to ask me. Well, I want to ask 2016 version and 2019 version how to support the secret panning space of Linux, how to support the mechanism. Well, actually process isolation, it already has, but Linux can be supported by 2016 version. So actually they are slightly different because for these two systems they are slightly different. So some of the concepts they cannot be equivalent to each other and here we will try our best to bridge the gap and to realize the consistent experience, user experience. Yes, this support, we have invested a lot of time and energy in this supporting. Actually we have internet to talk about the call, the internal call of Windows Server 2019 from debugging and how to do the isolation, it is quite detailed. Just now I noticed the deployment of the cluster why you need to ensure that it can only be deployed on that node for Windows node? Yes, this one. How to interpret it? Well, actually it should be deployed but it has different ways of deployment. So in Microsoft documents you can see it needs to have a patch to deploy the question to that node and the Windows deployment to use the script and to migrate on the Windows server 2019 the core policy process to deploy. So they have different ways of deployment, slightly different and they are not consistent with each other so we will deploy them respectively and here I also want to mention actually this slide is not in detail actually it has Linux nodes and Windows nodes they will be put into cluster respectively. Well, previously if we can because the virtual machine it is quite slow to start the first half of last year at that time we didn't have solutions but now we have Windows image last year on Bitcoin we already released it and it will support the direct list and we need to evaluate the render because at present Windows is still in its process of promotion so we also invite those friends and colleagues come to pass to communicate with us how to integrate better or how to operate better I think because this kernel is shared so it's a matter of resource competition sorry, please use the microphone all the interpreter cannot hear the question please use the microphone yes, the traditional one would be faster our shared resources are copied from memory not from the disk so this will be a large improvement in terms of the performance any other questions? the last question actually I have two questions first, because Windows already have their own kernel how about the 2019 because it has been added the namespace if it exists on the server or it also has some has it on other version actually Windows container it is deployed on the user and it was a terminal through the full stock and it can be supported for us developers to use it but for the server it will use another way so specifically for namespace mechanism if it will be provided in all the versions yes, I think you mean the ways of isolation actually the isolation will only be provided on Hike V on user terminal the second question is if we can use Hike V or namespace isolation how about their performances any difference we are evaluating some traditional applications because we need to cultivate our group of users to promote the application of the container so with this foundation basis maybe we can do some further promotion work so you mean at present you do not have some initial things right