 Ya, saya boleh cakap masih pagi, jadi selamat pagi, sedikit... ...sepanjang pagi. Ya, nama saya Reza. Saya ternyata di Microsoft Technical Evangelist di Microsoft. Saya akan bercakap tentang... ...PHP Ball. Mungkin beberapa orang sudah fikir bahawa jika ada Ball, ...mesti ada sesuatu yang adalah... ...Ball. Biar saya bercakap tentang diri saya sedikit. Saya mahu berkongsi. Jadi anda tahu belakang saya sedikit. Saya adalah evangelist di Microsoft Technical Evangelist. Jadi apa yang evangelist adalah untuk berkongsi... ...technologi yang terbaru dari Microsoft. Tapi Microsoft sekarang berkongsi... ...berkongsi, banyak kongsi kongsi. Mereka berkongsi evangelisme... ...saya juga berkongsi kongsi kongsi. Saya gembira kerana belakang saya juga berkongsi kongsi kongsi. Sebenarnya, saya belajar program sejak 1982. Kemudian komputer pertama saya adalah... ...Sinclair Spectrum. Jika anda tahu itu Spectrum ZX. Kemudian kemudian saya pergi ke... ...Komodal 64 dan kemudian saya pergi ke PC. Langgan program pertama saya adalah Assembli... ...sebab saya fikir itu adalah langgan komputer. Jadi itu adalah kode masin. Sebenarnya, saya belajar perkara yang salah. Saya belajar kode masin dulu... ...dan kemudian saya percaya... ...ada langgan lain yang lebih mudah... ...saya ingat... ...saya berkongsi kongsi kongsi kongsi kongsi... ...saya rasa lebih daripada... ...15 memoniks... ...tahun semua. Jadi saya ingat... ...sebab tidak, saya perlu melihat kabel... ...apa yang untuk ini, apa yang untuk register... ...dan kemudian, Sadi... ...saya berkongsi kode masin... ...dengan Spectrum ZX. Dengan kode masin... ...dan saya berkongsi kode masin. Kemudian... ...dan kemudian saya menemukan... ...saya berkongsi kode masin lebih mudah. Saya berkongsi kode masin, sebenarnya... ...saya berkongsi kode masin... ...sebab itu saya suka IoT. IoT adalah sebenarnya... ...kode masin elektronik... ...di internet dan data analitik. Sangat mudah. Saya juga belajar... ...kode masin pertama... ...berkongsi kode masin... ...dan terutamanya kode masin C++... ...di awal. Kemudian... ...saya berkongsi C++ pada tahun 1990... ...dan kemudian... ...saya berkongsi C++... ...berkongsi kode masin... ...dan menemukan kode masin... ...dan... ...saya berkongsi kode masin. Selepas itu, saya belajar jawa... ...jawa saya menemukan PHP... ...di tahun 1990... ...1996-1997. Python, VB... ...VB.NET... ...C-Sharp, F-Sharp. Itu saja. Saya akan bercakap tentang... ...containan Microsoft... ...dan saya akan bercakap tentang... ...nano server Windows... ...containan Windows... ...dan kemudian saya akan membuat demo... ...PHP. Saya harap... ...saya harap anda akan cuba ini... ...sebab apabila saya cuba ini... ...saya juga tidak percaya. Saya fikir ada sesuatu yang salah... ...dengan aplikasi konsol. Serius. Jadi, ini adalah objektif. Itu saja. Itu objektif saya. Kamu lihat orang ini? Dia tidak dapat mencari ketika bergerak. Saya tidak dapat percaya. Kamu lihat orang ini? Dia seperti... ...berat. Tapi orang ini seperti... ...mencari. Sangat mudah. Jadi... ...sebagai evangelis... ...saya juga ingin cuba PHP 7. Kemudian saya akan... ...mencari Linux. Semua orang menggunakan Linux. Mari kita cuba yang lain. Jadi saya cuba... ...mencari PHP 7. Version 7. Kemudian saya mahu yang lebih kecil. Bukan seperti itu. Memang kecil bermaksud... ...dia mempunyai pengalaman. Semuanya. Aktif lektori. Sistem federasi. Semuanya. Ia berhasil seperti... ...pengalaman pengalaman pengalaman... ...HPC. Pengalaman tinggi. Okey? Kemudian cepat. Tapi tidak dengan mencari. Mencari ini. Mencari itu untuk menjadi cepat. Tidak, saya hanya mahu cepat. Okey? Apabila saya mencari cepat, itu saja. Itu saja. Sangat mudah. Tidak ada kerja. Okey? Tidak. Dan anda dapat itu. Okey? Kemudian... ...VSTS. VSTS bergantung... ...untuk Team Service. Kerana saya menggunakan Team Service. Saya juga menggunakan Jira... ...tapi saya mempercayai Team Service... ...untuk pembangunan saya. Seperti dengan Jira... ...saya dapat menggunakan di mana-mana. Saya dapat menggunakan ke Azur. Saya dapat menggunakan ke AWS. Saya dapat menggunakan ke sesiapa yang saya mahu. Saya dapat menggunakan ke VSTS. Ia adalah pembangunan kebiasaan. Sudah tentu apabila anda membuat pembangunan,... ...saya perlukan pembangunan kebiasaan. Okey? Bukan sehingga anda masih... ...bergantung... ...sebelum saya... ...mencari cepat untuk menyelamatkan kode saya. Okey? Dan cepat dah pergi. Semuanya dah pergi. Sudah tentu... ...pada laptop. Dan jika saya mahu... ...mengerikan ke Azur... ...saya hanya mahu klik... ...mengerikan ke Azur. Semuanya dah selesai. Jadi saya tidak perlu melakukan apa-apa. Dan saya juga dapat bekerja dengan Azur serverless. Saya tidak akan bercakap tentang ini... ...sebab ini patut menjadi 30 minit lagi,... ...yang menggunakan aplikasi logic... ...dan fungsi Azure. Ini adalah salah satu... ...pembangunan paling kuat di Azure,... ...yang adalah teknologi serverless. Ingat, serverless tidak bermaksud... ...tidak ada server. Server bermakna aplikasi anda... ...tidak mempunyai server. Itu bermaksud serverless. Dan... ...menonton TV. Adakah ini? Dia menonton TV... ...saya cuba mencari. Okey? Ini pakaian. Sebab itu saya fikir... ...saya akan mengenai pakaian. Sebab ini yang saya mahu. Sebenarnya yang saya mahu. Saya masih mahu... ...dengar itu. Dia menonton TV. Adakah anda mencari itu? Adakah anda menonton Olimpic? Dia mencari itu. Mencari itu. Saya melihat... ...dia berkata... Apa yang terjadi? Sangat bagus. Dan... ...ya. Ini yang saya mahu. Saya mencari itu. Okey? Windows NT Nano PHP. Okey? Ya, dan ini... ...saya mencari dengan Windows Nano Server. Saya akan berkongsi dengan... ...saya akan berkongsi dengan Windows Nano Server. Dan lihat ini. Tidak, itu bukan TypeL. Saya fikir ia... ...masuk sesuatu yang salah... ...dengan berkongsi dengan Hyper-V. Ia berkongsi dengan 256 MB saja... ...untuk mencari PHP server. Windows Nano Server... ...saya menikmati spek... ...sebenarnya seperti... ...pengalaman Windows Server. Tidak ada limitasi. Sebenarnya... ...saya menikmati... ...saya menikmati... ...pengalaman Windows Server 2016, servis yang lebih lama. Tapi lihat ke dalam. Itu yang saya mahu. Dan kemudian... ...tidak, ini... ...tidak, ini bukan panggilan yang gila. Tidak. Ia sangat kecil... ...kecil dan cepat. Dan... ...saya hanya menggunakan... ...bunuh PHP yang saya tak mencari... ...punuh PHP. Tidak ada PHP untuk Microsoft. Tidak. Tidak ada PHP yang saya menggunakan... ...dan saya menggunakan... ...cukup seperti itu. Itu yang saya mahu. Sebab itu saya panggilnya vault. Okey, begitu... ...apa untuk melakukan itu? Sama-sama. Memang memakai kawasan Microsoft. Ia adalah... ...Nano Server adalah servis. Ia adalah servis normal. Tapi ia di practices. Yalah, ia dibuat di Cloud. Okey, jadi... ...itu telah... ...berguna di Azure... ...sebelum lama. So everything, if you know that is one third of server in Azure is running Linux. But everything, the entire infrastructure in Azure is everything. Running is under Windows Server. So all Linux, everything is running or under Windows Server. And they use this technology. Windows Nano Server is one of them. So the container ecosystem that we know right now is the container runtime which is Windows Server and Linux. Some of you, if you use Docker, you might only know that's only Linux Docker, isn't it? No, there is Windows Docker as well. And this is the container image which is the same, similar. And then there's image repository. So if you go to thehub.doker.com and you search for Microsoft, everything is for Windows containers. But you manage exactly with Docker, exactly the same, the command line, everything. Because it's just a Docker management. So in physical system, physical machine, this is what you have. This is your own server. And then you install your, as a physical host, you install your operating system. And then you install your PHP, isn't it? Right? There's normal people doing development in laptop. Something normal in laptop, everything gone. Okay? And you put the image in here. Next one is you use virtual machine. Okay? I use Hyper-V. So it is the Windows, it is the OS. And then there is a hardware virtualization, which is the virtual machine, Hyper-V. And then I install my VM, and then I install the OS, which is the anything you want, Linux, Windows Server. And then you install the image. The good thing is when using Hyper-V, you can install two or three, it depends on your memory and your hardware. Okay? And then there's a container runtime. So what is container? Container is an OS, but is the OS image similar like OS image? Remember, VM is using virtualization, hardware virtualization. In containers, there is no hardware virtualization. But the root, the registry, everything, it's one isolation. So one container is similar like one OS running, but it's actually runtime. It's not real OS running. Okay? That's why they don't have the full feature of the entire OS to run it. You can do that using tweaking, but it's not directly easy. So this is already system, and you can put container in here. They share the kernel together. So you put in here, let's say you install PHP in here with some OS, Linux, for example. You put in here, and it runs run here. It shares kernel in here. Okay? And you can put a lot of containers. Because it's a runtime, it's like an application. You can run and stop very fast, less than a second. Of course, because of this, you can also add this, and then you put the container in here as well. If you want more isolation. Okay? Why isolation is very important? Because you do not want to mess the other system. You don't want, for example, you have one in here, MySQL server, this one PHP, and this one JavaScript node, for example. You don't want to mess up. So you want to do like this, and then they just work around together. Okay? So Windows Nano server, the containers, and the Hyper B for Microsoft. The container offer is fast iteration, resource control, rapid development, define state separation. This is the one that I said to you, because it's isolate, so it's separate, and immutable. It's like functional programming. Meaning what? You know, as a developer, sometimes you hate yourself because you're doing a lot of errors. So when you do delete everything, that's what I did. But if you cannot do that in your laptop, you're done. Okay? But in here, go ahead. In container, delete, no problem. You can delete the entire OS inside. After that, you close, run it again. That's it. Everything back to normal. Like nothing happened. Okay? That is the meaning of immutable. And then for what? What is it for? It's for this. Distributing. Distribute. Compute. What is that? Microservice. Nobody wants to now set up a server data center. Everything. They go to see MIM Square and then, you know, everything. Nobody wants to do that now. So they set up a microservice, do something, and you just imagine you have 1000 PHP code running inside a microservice, and each of them has no dependency. You can just fix this one, something wrong without having to touch the other one. If you do a monolithic PHP, for example, you create an entire website like WordPress, for example, you have to shut down sometimes the WordPress if you want to fix something. Well, you can fix some of the file, but sometimes it's related to depend to the other file. You need to shut down. But if using the microservice, no need. You can delete, put this, put that, okay, all in one. Database is also the same. Web, scale out, you want to scale easy, all you have to do just add all the nodes. And then, multiple tasks. For example, if you create a shopping cart in a web, or you create some object running to do some process, this everything is working independently. They not depend on the other. Okay? So that's why it's very ideal. That's why people go to container or server that is smaller. And Microsoft has these two, Windows Server. One is Nano Server. One is Server Core. So, Nano Server, the size of the image, Nano Server, unlike the Windows Server, which is 6GB, that's a lot for server. You don't need that maybe. But that's the OS image. Linux is also big. But Nano Server, the size is 170MB. 170MB, not even 1GB. That is the size of the entire server. Okay? You can add another package which is also very small. 2MB, 10MB, it's up to you. But the Windows image file of Nano Server is 170MB. So, it's very small. It's very small. Server Core is a little bit bigger. Server Core is Windows Server without GUI. That is the Windows Server Core. But Nano Server is just the server. Okay? Later, I will show to you. And Microsoft has two. Windows Server Container. You manage with Docker. Everything is the same like you did with Container. There's no difference. The difference is the OS image is Windows. You can use Windows 10. You can windows. But usually for server using Nano Server. Okay? But I find out that some company by compliance is not allowing to do that. Okay? I'm going to share with you. They say, oh, our compliance said we are not allowed to share kernel. Uh oh. Because Container shares the kernel. And that's the compliance. If they say it's compliant, you have to follow that. That's the regulation. Otherwise, they're not going to use it. That's it. If you share the kernel, we're not allowed. If you want to do Container, one on one. So, people will think, okay, like multiple VM again back to square one. Okay? That's not a good idea. So, what Microsoft did is create this HyperV Container. It's the only one now in the world. A virtual machine, hardware virtualization Container. Which is isolated. Even the kernel. They're not share with the host kernel. Okay? So, this is very good for a company like, for example, like banks. Anything that requires compliance, regulation that not allow to share kernel. You use HyperV Container. It's a Container. But it's HyperV Container. They call it HyperV Container. This one will be really somewhere soon. I think October, this October. Okay? Has not been released, but it's already in the demo. This one is already available. So, yeah, I'm just going to open everything. Yeah. So, here's the Windows Container and this is the image and then you can manage with docker and other. You know there's power shell now is available in Linux. You want to know what is it for? Some people, what is it for? Nobody use power shell? Oh, yeah? Now they have to, they have to, if you use Windows Container and you use Windows Nano Server, they have to. You can manage from Linux or your Mac OS. Now you can do it. Okay? See? Everything is now connected. Before also, I also don't say no. Why we have to have power shell in Linux? Yeah. Apparently, this is what it is for. Okay? Some of my friends using Mac and they manage the Windows Nano Server through Mac. Easy. So, deploying is very easy. So, this is the Hyper-V. You can put physical machine. You can put side-by-side like this. Okay? You can put Hyper-V Container inside. You put PHP Server. Okay? You can also put Windows Container. MySQL, for example, smaller one. Okay? And then this one, too, requires Hypervisor. And this one is not. You can run on top of it. And you can also do like this. Okay? Separate. So, it's up to you. So, this is for your development, for example. You want to test the isolation like you really do it in the data center or in the cloud. You can do this kind of scenario. It's like orchestration. Okay? And... Ya. Finally. This is my last bit. I'm just going to... I'm just going to shut the... So, in here, I create three. One is nano docker. Nano docker meaning that nano. And then I put Windows Container inside. And then I can manage container and then manage using docker. Docker images, PS, dash A, commit, do whatever you want. It is docker command. Okay? And then I create nano PHP, Windows Container, running PHP inside. And the other one is nano WordPress. So, the nano WordPress is a... WordPress running inside Windows nano server. I'm not going to demo all. No time. I'm just going to demo the nano PHP. But you get the idea. So, this is the server. If you remember, if you start a VM, either in Hyper-V or in virtual box or in VMWare, it took a while. Sometimes two minutes, three minutes. Okay? If worse, you having a bad day can be five minutes. Okay? Sometimes it never start at all. Okay? And this one, if I start, watch. That's it. That's your Windows nano server. The booting speed is like that. No, I'm not lying. Really. You want to start? Let's try. Let's connect. Okay? Just going to connect. I'm going to stop. Turn off. Okay? I'm going to start again. Ready? Don't blink. Yup. That's how you boot Windows nano server. Okay? You just compare that Windows server or Linux. This is the speed. And you can restart your server with that speed. Okay? That's number one. Let's see what's inside. Yup. Inside is only like this. Nothing much. I can see everything. I can manage the firewall. Okay? Because it's a real server. It's a real Windows server. It's like we install Windows server 2016 or 2012 and then you manage this is what you see. Okay? And then this is same. You can also do do remoting, for example. Okay? And after that this one you can just close because you you're not going to see anything in here. But look at the size. Lovely. Okay? Now let's go inside there. I'm going to go to the server. I'm going to use PowerShell. So if you don't know PowerShell, okay? Unless you want to manage Windows Nano server then you need little bit to work. It's very easy lah. For example, the IP. I want to know the IP. Let me check the IP. Because I did not use my Wi-Fi here. So the IP is changed. What is the IP now? 169254. Okay. 169. I hope it works without Wi-Fi because my server requires internet. And then I'm going to do PowerShell. Okay, PowerShell. Password to create a session. Of course, you can do create the enough like this. This one is just want to show how you can create this manually. Turn on the base. Sorry. Yeah, yeah. Thanks. Okay, and we enter session. I think I need Wi-Fi. Yeah, I need Wi-Fi. Do we have Wi-Fi? We have Wi-Fi? This one, eh? Oh, okay. Okay, anyway, it's okay. It's actually, so when you run, you can get the process. What I'm going to show to you is actually already inside. Actually, I'm going to show you this one. And then I'm going to show you the... Okay. And then once it's running, what I'm going to do is to run the PHP. What is the IP just now? Let's run this. So, you run. Let's use Chrome or Edge. Because I set up the VM hardware virtualization, virtual... Not hardware virtualization. Hyper-V virtualization require. Here's the website. So, it's very easy to set up. And then, once you already do that, you can just go to the Azure to deploy exactly like this. For example, you're using Git. You can use Git, for example, publish, or you're using BSTS for do continuous deployment, for example. So, you create a normal style of PHP development in Windows. Similar, the same. Using normal. Bower, GAL, anything. Exactly the same. You can use common line in Windows. Or, if you prefer Bash, you can use Bash as well if you want it. I'll show you. If you're not a Windows user, maybe you haven't seen this. Okay. So, this is just a normal... It's just a normal Linux running on Windows. Okay. So, this one is not like the sequence. It's not like that. So, this is a real Ubuntu running in Windows. Ubuntu running on Windows. Okay. So, everything that you do exactly your common line, all you have to do, just do it. Okay. So, you don't have to install Ubuntu in Hyper-V, no need. Okay. In Windows, when you use Windows, the latest Windows update, you just enable the Linux subsystem, and then all you have to do is do development exactly like you do in Ubuntu. Okay. Unless you want a GUI, if you're in GUI, then you need to install Ubuntu. If you just want to do development, you can do like this as well. So, everything is available in here, NPM, everything is all available as well. Okay. So, that is the meaning of both to me. The takeaways is... So, the right tool for you is for example, the Microsoft Cloud Azure on-premise, on-service provider. So, you don't have to... because you cannot put everything in the cloud. That's what I learned. You cannot put everything in the cloud. Some of them has regulation. Some of them is not allowed to do that. A lot of things. Some of them, they don't believe in to trust the internet, everything. Just a lot of things. So, you can put on-premise of your secure... you think it's secure data. Go ahead and put, and then you can put in service provider. And then you can use the two container technology, Windows Server and Linux. Okay. So, you don't have to install your PHP in your laptop anymore. No need. Okay. Well, unless you have it. No choice. Okay. But for me, Windows Nano Server is very small. And then you can... you just see that actually you can run the server without having to install in your laptop. I don't have PHP in my laptop. But I install everything is on Hyper-V or Windows Container. Okay. And then you can manage using PowerShell, Docker, or others. Okay. You can use Bash Linux, for example, to manage, but you only manage for Linux Docker. For Windows Container, you need to manage using PowerShell. And development tools, you can use Visual Studio Code or Visual Studio Eclipse. Anything. Sublime. Okay. It's up to you. And then the right tools for you you can use anything. Choose anything you want. And then once you master the container, you really want to go to this side. Okay. Service fabric. What is service fabric? It's micro service. Okay. Everything is moving there. If you still stuck in monolithic now in laptop, I want to disrupt your ideas now. I want to disrupt your mind. Stop it. Move micro service. Serverless. Okay. Because this is the way if you go to all companies they want it. Okay. They want it like that. They say they don't want this dependent on this. They don't want it anymore. They just want to fix this and the others still running. Okay. So, most of for example, if you use the the Microsoft technology if you use in Azure, you can update your website while the website's still running. And it's not going to change everything. You don't need there's no shutdown if you're using micro service. And then virtual machine, Windows Server Linux and then the container technology. So, this is the tools for you for development especially for PHP. Okay. And then of course you can deploy this everything to the cloud in just a simple click. Click, click, click and go to the cloud. Anything that you develop in your local one click using PSPS and GitHub everything goes to the cloud. Okay. And git, not GitHub, sorry. Git. And thank you. That's all I have for today and I hope you will try the Windows Nano Server to make your PHP development tools. Thank you very much. Alright. Thank you, Reza. Unfortunately, with the shortage of time we have to leave the questions for Reza to lunchtime. I will introduce our next speaker. He is Harold Zaid Tov.