 Terima kasih kerana datang. Sebelum kita mulai di Microsoft, saya rasa orang ingin bercakap tentang teknologi Microsoft. Kita akan mulai dengan sedikit berbeza. Sebelum kita mulai dengan serverless, saya akan bercakap tentang ransomware. Ini adalah kampanye yang Microsoft berjalan dengan ransomware dan bagaimana untuk melindungi ia. Berkara, bercerita jauh mahir, berberapa banyak orang bercakap tentang ransomware? remembering yang terábung untuk apartmode. Kenapa kita bercakap tentang ransomware? Saya rasa ini adalah keadaan kiban secara keakaman dengan ransomware. Käningannya dimaksul pilihan rahsia mulai mengajar komputer kamu. Namun, dengan merekakkan alih faham dan tidak diberi untuk memaksa untuk memuntikannya. Dan kemudian, ransom entirety, mereka akan menghormati, Mereka akan meminta untuk meminta duit untuk membeli falsi ini Dan akhirnya mereka hanya memulai tanpa membeli falsi Jadi, melihat apa yang Vansum Wem buat Membuat anda mempercayai identiti, informasi Falsi anda di sistem anda Biasanya, Vansum Wem boleh menjadi pemenang monotori Meminta anda memulai $1,000 Kemudian, anda memulai falsi untuk anda dan sesuatu seperti itu Kenapa kita bercakap tentang Vansum Wem di sini? Sebab itulah penting untuk kami beritahu Untuk melindungi diri kita pada pemenang ini yang datang Dan Microsoft telah menjadi salah satu pemenang yang terbesar Untuk mengembangkan pertahanan dengan Vansum Wem Jadi, pemenang Vansum Wem datang di tempat yang berbeda Sebenarnya, ia memulai falsi dan falsi Dan akhirnya ia memulai falsi Jadi ia memulai falsi Bukan dapat melakukan apa-apa Jadi anda memiliki hantar Jadi, pemenang falsi adalah sebuah pemenang Ia adalah pemenang cahaya yang berjaya Pemenang akan mengalami pemenang anda Mereka akan tanya anda untuk melalui sesuatu Dan kemudian, pemenang akan mulai mempercayai Semua falsi di sistem anda Mereka akan mulai mempercayai Mengembangkan ke jenis perang Dan ia tidak mengembang Jadi, anda tidak dapat menggembangkannya Jadi, pemenang cahaya itu adalah sebuah pemenang Seperti yang terjadi di sini Ia tidak mempercayai satu PC Tetapi, orang di sekitar anda Jadi, proses perkembangan dan perlukan adalah bagaimana kita mempercayai apabila sesuatu yang berlaku Saya rasa yang satu, kita perlu memiliki kemampuan kita sendiri Pemenang kita sendiri Mungkin anda tidak mahu mempercayai orang untuk mempercayai masa yang dipercayai ke dalam pemenang dan mempercayai pemenang Bagaimana cara mempercayai e-mel Saya rasa mempercayai e-mel jauh-jauh-jauh Hai, nama saya Prins dan sebagainya Saya perlukan anda untuk mempercayai atau mempercayai informasi ini supaya anda dapat mempercayai wang untuk mempercayai kemampuan anda Jadi, anda tahu apa yang berlaku Dan tentu saja, makos anda Maksud saya, makos adalah seorang membentuk anda dan saya rasa kemudian ia berlaku dengan tersendirian yang berlaku dengan kemampuan anda yang berlaku dengan semua pendapat anda Jadi, kemampuan saya rasa ini lebih berkeliaran kita selalu perlu mempunyai antivirus kita perlu mempunyai sebuah wang mempercayai kawal di seluruh pemenang jika anda mempercayai di kemampuan kawal saya rasa kemampuan kawal akan mempunyai sistem kemampuan dan sebuah wang mempercayai kemampuan anda jadi ini adalah kemampuan yang berlaku untuk mengubahkan anda dari sebuah tinggal yang mengambil malu. atau mengubahkan hal yang mengambil malu. Jadi, keadaan keadaan keadaan keadaan keadaan keadaan keadaan itu memproteksirkan anda dari mencari perubahan yang tidak menerima. Jadi, saya rasa itu adalah poin yang penting untuk mengenai. Jadi, jika anda berminat dalam keadaan yang mengenai, apa yang berlaku? Ya, jadi jika anda berminat dalam keadaan yang mengenai, anda boleh bercakap dengan beberapa orang di Microsoft. Ada terbaik untuk anda mengulang, jika anda berminat dalam keadaan yang mengenai, anda boleh beritahu saya. Ada artikel di Vansomware. Saya rasa aka.ms Vansomware mempunyai informasi mengenai apa yang Vansomware ada dan apa yang Vansomware melakukan memproteksirkan keadaan dan bagaimana anda mempercayai diri anda daripada seorang vikim dari Vansomware. Okey. Sekarang, keadaan keadaan yang mengambil malu. Okey, sebuah keadaan terbaik. Nama saya Kenneth M. co-founder dan CEO jangka elemen. Jangka elemen adalah company AI chatbot apabila kita membuat chatbot untuk pelanggan. Kita bekerja dekat dengan Microsoft Singapura dan di dunia dunia. Untuk mengeluarkan chatbot ke penduduk, universiti, politik, etc. Jadi, sebuah keadaan yang sedikit yang tahu saya, apa yang saya lakukan, saya berjaya bekerja di Microsoft Singapura pada tahun 2008-2011. Saya bermula sebagai partner Microsoft sepanjang jalan untuk mengeluarkan platform-platform evangelisme yang sekarang pengalaman developer saya. Terutamanya evangelisme dalam komputing kaut. Jadi, saya bekerja dekat dengan partner saya di Singapura, ekosistem untuk mengeluarkan komputing kaut dan mengeluarkan komputing kaut di Singapura. Kemudian, saya mengeluarkan komputing kaut dan keadaan keadaan. Kemudian saya mengeluarkan komputing kaut dan AI di Hitachi, Jepang. Jadi, saya mengeluarkan komputing kaut di Singapura. Saya mengeluarkan komputing kaut di Jepang. Jadi, apa yang berlaku? Saya rasa kita akan berada di sini untuk tahu apa yang berlaku, apa yang berlaku. Dan menunjukkan, bagaimana banyak orang yang tahu apa yang berlaku? Bagaimana banyak orang yang dengar dalam perjalanan anda, dalam perjalanan anda yang melakukan berlaku? Jadi, hebat sekali. Saya rasa ada beberapa orang yang baik. Saya tidak tahu jika anda pernah melihat ini. Saya rasa saya juga mencari Facebook dan saya sebenarnya melihat komik ini. Sangat bagus. Sangat menarik. Sebenarnya, jika anda tidak dapat melihat, saya mahu melihat dengan mata saya sendiri dan kemudian dia akan berkata, saya tahu ia adalah perjalanan. Jadi, perjalanan tidak bermakna bahawa tidak ada perjalanan. Perjalanan bermakna bahawa ada perjalanan yang berlaku. Tetapi, apa yang perjalanan anda menguruskan adalah anda tidak perlu menguruskan perjalanan aplikasi atau perjalanan yang berlaku, dan anda akan menguruskan perjalanan yang berlaku. Mereka pasti menguruskan perjalanan yang berlaku, anda pasti akan menguruskan perjalanan yang berlaku dalam perjalanan yang berlaku. Jadi, ia adalah sesuatu yang kita akan menjelaskan dalam perjalanan yang berlaku. Saya percaya perjalanan kerja adalah salah satu perjalanan yang kami bercakap tentang sejak tahun 2010-2011, saya rasa ia mempunyai perjalanan kerja. Jika anda tidak pernah melihat perjalanan ini sebelumnya, saya rasa ia sangat efektif untuk tahu bahawa perjalanan yang berlaku adalah mengawal semuanya dalam perjalanan yang berlaku, perjalanan perjalanan yang berlaku, aplikasi anda, dan semasa kami berjalan ke perjalanan kerja, kita bercakap tentang tiga perjalanan, perjalanan perjalanan yang berlaku di atas perjalanan yang berlaku, bagi anda, dan kemudian, kita bercakap tentang perjalanan sebagai perjalanan, perjalanan sebagai perjalanan, ia mengajar anda untuk menghubungi solusi anda seperti Heroku, dan tentu-tentu perjalanan yang berlaku di atas perjalanan yang berlaku di atas perjalanan yang berlaku, Dropbox, GDrive, etc. Di mana anda tidak dapat mengawal perjalanan yang berlaku, di mana kita bergerak sekarang, dalam perjalanan yang berlaku, kita bercakap tentang perjalanan sebagai perjalanan, perjalanan yang berlaku di atas perjalanan yang berlaku, ia mengalami perjalanan dengan kode berlaku. Jadi apa yang ini berlaku dalam masa tahun untuk datang? Mereka berlaku di sini, anda telah berada di industri untuk lebih daripada 10 tahun, mungkin lebih daripada, tapi anda berhasil dengan perjalanan kebiasaan dalam perjalanan anda. Anda faham bahawa perjalanan yang berlaku, anda perlu menghalang perjalanan yang berlaku, anda perlu menghalang perjalanan yang berlaku, saya akan memasuk perjalanan dan memasuknya di sana. Tapi perjalanan tradisional atau perjalanan ini tidak berkelabur, kita dapatkan perjalanan yang kita jemputkan semuanya ke kluat, kita jemputkan semuanya ke kluat, lupa tentang perjalanan tradisional kita akan melakukan sesuatu di kluat perjalanan. Kemudian, seperti yang kita lakukan, architecturally wise, kita mahu mempunyai dan di mana perjalanan micro-services berlaku. Jadi, bagaimana jika anda mempunyai micro-services atau anda mempunyai micro-services dalam perjalanan perjalanan anda sendiri? Bagus. Itu adalah praktis yang sangat baik. Anda sepatutnya melakukan micro-services kerana micro-services bermaksud dalam aplikasi anda sebenarnya memutuskan sesuatu. Anda memutuskan aplikasi anda menjadi perjalanan jika saya melakukan aplikasi membuat perjalanan perjalanan. Saya mahu dapat membuat perjalanan saya aplikasi seperti servis pengguna dan servis sendiri. Saya dapat menyukai itu dengan servis kluat dan saya dapat memasukkan yang x, y, z jika saya mahu membuat perjalanan. Jika saya perlukan servis untuk membuat perjalanan perjalanan, itu akan menjadi servis sendiri. Jadi, jika anda membuat ... jika anda memburuk diri anda, anda memburuk pendapat perjalanan, anda memperkenalkan jika membuat perjalanan menjadi lebih berlaku, lebih cepat dan anda dapat membuat perjalanan. Dan jika yang sesuatu dalam perjalanan anda dapat selalu membuat keadaan servis, anda tidak perlu risau tentang struktur monolidik anda. Satu kode bergerak, segala-galanya bergerak. Jadi, di mana architektur micro-servis akan datang. Apa yang kita jelaskan adalah fungsi architektur servis. Kita bercakap tentang fungsi di mana anda boleh menyebabkan fungsi individu, api individu untuk mendapatkan informasi untuk anda. Jadi, apa yang kita cari adalah sebenarnya keadaan keadaan yang telah dibuat dengan fungsi anda. Jadi, ingat kebelakangan yang anda nampak architektur micro-servis anda. Semuanya di sini sebagai servis micro-servis sebagai servis di mana anda ada kontainer membuat servis mengenangkan penggunaan dan sebagainya. Kita berusaha. Kita berusaha membuat kebelakangan di keadaan fungsi. Jadi, ingat anda membuat kebelakangan keadaan anda sekarang. Ketuaan api anda adalah keadaan keadaan anda. Anda dapat mengambil keadaan dan keadaan yang saya perlukan jadi saya tidak perlu mempercayakan keadaan keadaan di sini. Keadaan keadaan keadaan di keadaan fungsi. Jika saya perlu mempercayakan keadaan, fungsi saya akan mempercayakan keadaan. Saya tidak perlu risau tentang bagaimana penggunaan yang berlaku. Saya perlu mempercayakan keadaan keadaan saya. Saya perlu mempercayakan keadaan saya. Biasanya, architektur servis anda jika anda membuat keadaan keadaan anda atau apa-apa pun keadaan keadaan itu akan menyelamatkan sebuah kekakangan architektur. Jadi, di sini kita mencari architektur servis yang kita mahu dapat membuat keadaan mudah lebih mudah untuk mengambil keadaan anda. Lebih mudah untuk membuat keadaan anda. Sebenarnya, apa yang kita mencari adalah actually servis komputing adalah actually the abstraction in the cloud computing itself. Jadi, it's actually basically abstracting every server that we know of to what we know now as the serverless architecture. So, there are three or maybe four few points that serverless architecture does. One is the abstraction of servers that we've talked about. Your cloud computing infrastructure, your cloud computing architecture itself has different components within. And the abstraction of servers right now allows you to build and ship applications at function level where your functions can be basically doing the heavy lifting of processing of manipulating your data, cleaning your data or doing all sorts of things at dead level, the serverless level is event driven because everything is done and triggered by events. If I want to get things done, basically it sends your application will send an event trigger to tell your function what it needs to do and the function will just do the heavy lifting once it and move on. Sub-second building means that imagine if you don't need to it depends on your application basically. Imagine if you want to do a GitHub trigger to tell you when there's some comment, for example. And if think about it, if I were to put that application at a server level, a VM, how much are you going to spend per month? Probably $150 per month, maybe less, $100 per month. Even you get the cheapest one at $50 per month, it's not worth it because you're you're not maximising and utilising fully that the application itself and the service itself. So that's where Sub-second Building for functions comes in. If I need a certain function to be executed at a certain timing, I pay as I use for functions. If I need the GitHub repository to be, you know, GitHub pull and commit to inform me, then the function will do it. It's much cheaper than you know, building up your whole infrastructure and realise that oh, I'm actually using only 10% of this VM or I'm only using that much of this VM and at the end of the day you're paying much more which is not worth it for US enterprise or US company itself. The key benefits of of Azure functions or serverless is your monolithic application is now broken down into a very loosely coupled application per se. We've understood that, you know, your microservice architecture could be skilled on different servers. Similarly for your serverless functions, you can actually run it at an individual function level. Your application can asynchronously scale itself outside of application so whatever that is triggered within your application can be skilled at the function level. So what we're actually doing is to build and use the micro functionality of functions to build and on a single event, event triggers, you build on that event itself. So some of the the key benefits is to help you to focus on the things that you actually need to be doing which is the business logic itself. So why are we wasting time figuring out, you know, I mean, in on a general plain landscape as said you want to be able to shift faster, you want to reduce the DevOps and you want to be able to focus on the things that you need to do. So what function or what serverless comes in is is I'm able to abstract all this individual logic build my business logic on top of those and worry about the things I don't have to worry about my DevOps, I don't have to worry about how fast I'm going to shift. You can actually write quotes much faster. You can actually shift your quotes much faster. So that's the pinnacle of your platform as a service compute where where you only focus on the business logic in that sense. So once you move on to serverless architecture, it's actually much lower cost to a kick off. If you want to build an experiment, you can actually do serverless build some functions and you get your prototype very quickly in a couple of lines of quotes. So Azure functions processing events with serverless quotes basically has four peer, I would say tiers in that sense. One is to develop. You can actually develop a quotes much faster. You can develop quotes not only in C sharp. I mean, if you think about Windows or Azure, you might think that oh, this is a Microsoft product, it might be C sharp. But there's wrong, there's false. In fact, you can quote in C sharp, F sharp, PHP, JavaScript, batch file if you want. You can actually quote in different languages. You can make cloud application development much faster. Your integration is basically much easier because you're actually integrating events together. Tasks, event-driven tasks across your different platforms to your different app services. Your accessibility, you can actually expose the AHTTP endpoint from your serverless functions out to your back-end services if you need to. And you can scale your functions based on whatever execution that's happening. So now at this level, we're looking at a different kind of scaling. I mean, for those of us who have, or you who have done cloud company, you understand that there are different levels of scaling. Your XY and Z, you know, different coordinates of how you're going to scale, where you're going to scale it at the hardware level, or you want to scale it at the software level, or you want to scale it at the resource level. I think there's different ways of scaling. But for serverless architecture, we're looking at how we can scale functions based on the demand itself. So that itself, you can actually save much cost compared to running a huge server architecture where you're only minimising that much or maximising that much. Azure Functions, in short, basically takes in input, possess it, output. Very simple. Your service comes in to Azure Functions. Your Azure Functions can turn that information to different outputs. Whether it's to official 365, whether it's to Office Graph, Azure Storage, legacy systems, you name it, there's always access for you to get this information out. So event driven, I think we've been talking so much about how functions, how serverless architecture have become an event driven model. Everything is driven by an event. If your client sends a HTTP trigger to a function, the function recognises this HTTP request trigger. It starts to process, starts to compute everything at at the function level and once it's done computing, whatever it needs to, it returns you an output and that's where it comes back to a response back to your client. So in this architecture itself, you can think of various way of implementing your technology, your architecture where you don't have to you know worry about or how am I going to send and compute within this survey itself and then getting the response. Now your heavy listing is done out of your server, out of the box, your implementation is all done at function level. So just a quick view of what Microsoft Azure provides. I think there are a lot of platforms, tools and applications that's available. We have you know from compute cycles, we have analytics, IoT data all the way to the infrastructure level, what you can do to security. So it shows that you know Azure Functions is probably one part of your compute cycle or app service but linking all these tools together you build your own cloud service on top of your own application. So Azure Function I think we have gone through what you can do. Basically these two we have actually covered how it accelerates the development with different languages where it is local or where it is you know on the cloud and you can actually bind that service into different services providers here. You can have Dropbox, Sangria, you know Twylo one drive. So basically Azure Function has more than just you know getting an input and then turning it to an output. You can turn that output to services that you already know and you really want to use. So some of the use cases I will talk about in a while basically helps you to build scalable architectural scalable applications on top of serverless architectural where you know things are more flexible things are more scalable in that sense. So the Azure serverless architecture actually builds on top of the very core which is actually your web jobs SDK and in fact on some of the SDKs they actually have a web jobs where you can actually build it's like a task runner it wants a task for you the web jobs basically allows you to kick off certain events and you can do a lot of things with these web jobs. Triggers once the trigger comes in how do I turn that input and output from functions itself. So there's a code and config file as you build your codes whether you want to do it on Azure it's there's a ID there or you can build it offline there's always a code and config where you want to config the file first to tell the file what am I inputing what am I outputing and then the code comes in where you build a code to actually receive the context to receive the input to turn that into the output and how do we want to manipulate the information. So we've covered about microservice the approach I think where a lot of companies are moving towards is the microservice tools and approach where everything is is built as a service itself very small scale easy to scale Azure Function comes in where you can actually ramp up your def operations your the speed of development and then of course you have the service service fabrics and other layer and so on we won't cover it today anyway. So serverless architecture itself or Azure Functions is actually a dual abstraction the first serverless compute actually extracts away to compute itself. So if you think about it if you were to deploy an application on Azure compute cycle an application for example your compute cycle is actually on the VM and what serverless does is instead of having the compute on your VM we're actually abstracting the compute out so that it goes to functions you let functions handle your compute do the heavy lifting for you let whatever your your VM your service to do the main thing the main thing. The second abstraction is actually the bindings. So the bindings basically abstracts away you know some of the the interactions with the services that you have whether it's a business logic or whether it's the other app services that you are integrating with. That's one of the things that the serverless platform as a service allows you to do to build on top other services quickly. So the functions model the programming model looks something like that where you will see that there's a code this is basically a code you have a input data you have a trigger so once this information comes in your code will return an output so this is what happens on a Azure Function level where you have to put in this information then possesses this information building it up sending the output once you visit the output you can start manipulating the things that you need to so there are a lot of offerings on Azure Function itself basically the bindings that we have talked about how it abstracts the interactions the things that you're interacting with as we can see I think they are quite many things that we can do you can do a HTTP Vestful course of Azure Functions where you have a trigger and then there's an output so every time you have an event trigger or HTTP trigger there must be an output that you want to return to whether it is your application or whether it is to somewhere else quite some of the common things like you know blob storage where you have Azure storage once I trigger a blob storage how do I you know get an input from the blob storage to to turn that into an output queues is also some of the common ones storage table as well and then of course you have your SQL tables your new SQL some of the additional things that that that allows you to integrate with is actually your Twilo SMS and your Sangrid email where you can return that information where once you trigger your function your function could have send an output to Twilo for example or send an output to Sangrid and can send an email out for example so the platform scaling there are to tells your dedicated and dynamic tears um basically one is you pay by by the the different tears that that's available your basic standard premium this is where you are actually responsible for your skill because you're actually paying paying for the the reserve VMs that's on your your function itself dynamic is where you are you're paying by the number of executions that's going on so in that sense the platform is actually responsible for the skill for you in is pretty much automatic so once you go for the the dynamic option um as and when you hit a certain threshold the function for skill on its own this is just a quick hits up on what's surprising like if you pay by execution model uh there's a number of execution and then the duration execution times the reserve number uh reserve memory so azure is I mean it's not expensive it's like 0.0016 per gigabytes per second and stuff like that so if you don't have a very high traffic you're not looking at a very high load intense load um and if you're doing some really heavy computing out of your your server box serverless architecture is actually one that you want to avoid because it actually reduces the cost on your end and actually let you do things much faster and integration as well so some of the best practices um at least in functions is that we want to keep three things in mind one is the function should do the main thing the main thing which is only one thing so if you have to build a function for a HTTP trigger for example then let that HTTP trigger be the one thing that you want to do you don't be complicating it in inside and then you realize that wah it doesn't work so those are the things that we want to keep in mind that it has to also finish as soon as possible as quick as soon as possible so it has to be fast so at least when we save the output you're not you're not expecting a delay there so science that you know when you should use serverless pattern basically you know if you're running a stateless architecture a stateless system and you want to scale fast there is where you want to want a serverless architecture now some of the points is like you know it's I mean we've been talking about it that you know it's not as long it's not worth deploying on a traditional server or cloud computing there is where you want extract it to a serverless level but again it depends on the application you want to build not everything can be just plug in into a serverless architecture and expect everything to work nicely I will say that most of the heavy lifting that you want off your compute instances do it at function level your dev ops versus static ops so you know if you're working in a huge company you know you definitely have a lot of your dev ops you know your your server engineers hardware engineers and software engineers and all those comes as a cost so one one thing to know is if let's say your application can afford to build and extract out at then that should be the model that you want to approach where it's more similar to integrate and it's it's much cheaper to run so some of the use case I'll be sharing is I think it's pretty wide I think there's there's many ways that you can use it one is a timer base so I think since the beginning already now I think we've been talking about how Azure functions how serverless architecture is is based on events so one of this example is actually timer base where you don't want to be running on a VM and then build a core on task to be pulling every 15 minutes to do a certain task what you could do is actually to tell Azure functions that hey I want a function to be done every 15 minutes clean up the database input from the database clean it output to a database so that's where we have the function to do the heavy lifting the compute the computation the clean up you know remove whatever that's not necessary and output to you as a clean database so that's one of the use cases that they can probably think of Azure you know even service event processing this is so pretty common where you receive a file a file coming in from a blob storage now Azure blob storage you can actually use Azure function to pull the information from Azure blob storage transform the information within the blob storage transform the information that the unit CSB the CSB to data roles or whatsoever tell function to say send that to Power BI in the sense you have a whole data analytics at your fingertips the only thing that you need be concerned about is how do I manipulate and clean up the data within Azure function and the rest is pretty much your current infrastructure or current architecture so by integrating like that you can you can imagine how fast and how quick building a serverless architecture or building a serverless application is going to be a CS event for example we talk about how we can use services like OneDrive your drop box pull the information from drop box whatever information that I have from drop box select a particular file Excel sheet for example I want to analyze the content using Microsoft Graph Analyzer and then create a new sheet with with charts with graph Azure function basically again is event based once there's an event coming in triggers Azure function Azure function sends that out as an output one of the common ones serverless application where where you want to do a advertisement based on user profile you want to be able to get a particular user based on the database you want to do a merge and you want to do the heavy lifting processing there let function do it on a web core so this is this is an example is actually a web HTTP trigger where the web will actually pull the information from to to Azure function Azure function will then handle your user per se handles the database behind and then create a user profile written as an output as a computer page this is a serverless backend so mobile backend I think there's use case for mobile as well so if you're running like Xamarin or you're running some mobile application of Android iOS same thing you you try to store the information build it a webhook a trigger store the blob storage so this is a different use case from the one we saw earlier basically this handles two levels of Azure functions the first is to get the information from the webhook here trigger into your blob storage now I'll tell Azure function to store this information to a particular block as an output so if you receive the input from the webhook output into a blob storage get the second Azure function to pull it as an input from the blob storage and process my my images my videos for example if I want to so you can imagine there how many Azure functions you can actually want to do the heavy lifting for you so if if you have to design the architect an application right now most people do a microservice architecture where I want to do an architecture to pull the image then process it on the fly and then do an output store it somewhere output but what Azure function is doing is actually separating everything abstracting everything is layers as a function itself so by this image itself you can actually see that I'm actually computing and doing the heavy lifting on two ends one once I receive the information it goes here to do the heavy lifting once this is done the heavy lifting is processed to another Azure function now my application my application itself is it heavy is it running anything heavy are my servers running anything heavy no because serverless itself is handling it for me so if you think along the lines like this you will realize that you're actually reducing the load on your end you're actually channeling your load to somewhere else let somebody else do the job for you real time I think this is very popular among a lot of companies right now if you want to do live streaming if you want to do translation if you want to do subtitling this is where Azure functions come in to play in this case it's transforming structure data into SQL but if we are talking about real life applications like MediaCorp running CNMSN and Toggle they can actually use a feed stream analytics to point the video feed live or whether it's you know a wall video comes into Azure function Azure functions turns it into structure data or I could use that into stream analytics to do transcoding translation or start subtitling then I store back to SQL so in between this depending on your application you can actually put in multiple Azure functions to do the things that basically consumes manipulate data and then store it for you the last use case actually pretty much what my company is doing AI chatbos where we use Azure functions to actually receive information coming in from one source where is it from messenger where is it from telegram we process the information basically sending it to Azure function and tell them you know you can go to storage queue to hold it there if you want to handle stateless you can send it to storage table send it to Cortana analytics for this case you know to figure out the response that I need then I respond back to my application so the heavy lifting that's done here is actually this part where I don't want to be building in every you know everything heavy computing on my VN in fact I want to extract this layout and say that now Azure function you handle it for me so the integrations here one example is the invoice processing so what we can see in this graph is the API management is actually an Azure application or Azure service itself so API layer where you build your APIs you you tell the logic application so logic application for those who are not familiar is actually enterprise integration you integrate a workflow a workflow where you can actually put in like integrate with Office 365 email for example pull for my ADFS or pull RSS feed and then manipulate my information there so this is where logic application probably integrates if you want the application to create to post new invoice or grab a wall file for example then it tells function to a htp trigger saying that now I have a file coming in convert this to JSON for me store the record as an output if I want to do a block storage I could put in a block storage function there as well come back to database and store so in this application we can see the end to end of how we integrate different solutions different services together to build one huge integration itself so the question is is serverless compute the future I think it's going to move well it's it's just going in terms of how we want to integrate to applications I think moving from monolithic applications all the way to micro service and micro service now to serverless I think there's there's still a gap where we have to figure how we want to integrate to applications how we want to use event driven model data driven model to build the things that is necessary whether it's analytics whether it's putting for IoT devices running your application abstracting your servers out so I think it's probably the future to go the way to go I'm going to show you a quick demo I didn't set this up oops yeah it's not dragging but the internet is also okay I think the internet is a bit slow now so I'll skip the demo basically what I want to show you is how we can actually use azure functions to to write a simple trigger a HTTP trigger I mean if you're interested later I could show you on my desktop but I think the internet pretty slow now so I'll skip that um there are different triggers that's available on azure functions basically when you if you have an azure account you can actually create a free azure account that gives you about 150 credits for one month uh you there's a compute instance basically in compute there's a function application create a function application tell the function application where you want to host it in um and after which you can actually create different triggers but it's a HTTP trigger you want a web hook trigger you want a block trigger the integration basically is I think I have some quotes I can show you but I can't show you the the adding okay so uh it's a bit okay so basically what happens is once you have created your azure function on on the cloud on azure um you will actually we save for a URL with your token um or node yes basically what we do is um we create a um we create a post so we first we post it to our azure function telling the azure function this is a HTTP trigger I want to send you information so as we have talked about earlier the azure function will receive 2 items a couple of items your input output of course your data so on azure basically I really tell it that I want to send you information I want to send you text so what we have here is actually to to post um a name and a message here with a data so everything is done at JSON you you better really don't have to rewrite rewrite your whole course you don't have to build your own web service you don't have to handle like some of the processing you can actually do it um this at your backend level where it calls azure it calls the azure function to tell it what you want to do once you send that information you can actually do a a promise resolve and reject so what I do is azure test and return me a result so that that is one of the example that unfortunately I can't show you now because the internet is not running uh but it's really exciting you can try on your own if it's running I can show you after even if you want um yep so let me take this back so you have to get started um basically you can try azure function and app service basically here at this link um and if you have any questions I think you can ask me I think this about the end of my presentation we want to thank um serverless meetup and of course Microsoft for hosting this event for us yep so that's the end of my presentation thank you so if you have question do it with us house 3 can say 2 the first one is call to 8 depart service in the serverless architecture and the second one is so with the traditional architecture we just have the three environment like the environment and the CDEAM and the productions so even in a serverless architecture call to wait group so this group of action is serving the environment then this group of action is serving the CDEAM then the other is the production so the serverless is we break down the two so small functions so how to we handle the distribution of the production like we have web very long process then how to handle the the handle production stuff okay so many question I want to go the first question is how depart to depart idea so to answer depart question I think it's on the visual function itself the function application is an ID the ID allows you to depart on the ID level itself basically you you you can basically whatever you let's say if you want to do or he need to sugar sugar in about 4.1 more once you receive information there's there's a certain format of I would say that's quite a safe a simple format is difficult but accessing the information of input what do I need to output so that level we have a default console by Azure platform itself so you don't have to do the depart on your end but rather on Azure ID so there's everything done on Azure itself so you don't you don't yes you don't have break points correct so that is one thing that because now is they are moving towards Azure function so the break points and stuff like that is not implemented in whether they are moving to break points for the ID console itself I don't know but it could be one suggestion that you know Azure could could do you can actually use the studio 27 team to connect to that function on Azure you could I've done that but I don't have to charge the direct so I don't know what to do that so remote debugging could be one you use studio studio to remove debug into Azure function to do however because the Azure function itself is a web service that is sitting on top of Azure that's extracting your hardware and your software that know your software service that makes debugging a bit more complicated than your usual setup but that's also not too complicated because Azure function if you're doing one thing at a time then that setup is actually much simpler than actually building a whole infrastructure on its own and start debugging on its own so for example if you're talking about writing a file or putting all information from one drive in the plot storage that process itself is actually pretty much handle of by Azure function once you receive the information from from a plot storage to your Azure function itself you don't have too much manipulation that unless you want to do like a I don't know some ship analytics that just decoding on the fly otherwise the operation that you need to do on Azure function is actually very minimal and that's why the compute cycle that you're actually running on Azure functions is actually doing the heavy easy for you so in that sense as a developer now the things that I need to quote is actually much lesser compared to before you can't say does that answer question? is it scoring the logs yeah that's the first one yeah I've not answer that correct 83 is it scoring the logs yes then so as you as you want the as you want the Azure function there are logs below to tell you where is where is the fault you know this line within your code whether are you calling the correct functions or are you calling something else so the logs will actually tell you in detail like okay right now you're calling an attribute trigger but you're not following a certain convention that's why it's breaking that's why it cause breaking so the second question are how you depart from staging production it's it's it's something that Azure function does not have in terms of converting your staging production basically what you do is creating a function because a function itself is like a mini-application on Azure's idea once you create a function and you can replicate the function for staging or for production it might not be the best solution out there at the moment but there is something that you could do because at the end of the day you must remember that Azure function will actually take you a URL which is actually form a Azure website so in that sense you can actually control what your staging application will be calling and what your production codes will be calling which is technically back to be a recipe of you pretty simple if I may add something just quickly for the debugging normally serverless globally is just a layer to your code so basically your unit test and integration test should cover the basic cases after what you may have to debug is when it's more like system test where you have your function writing a blob in the blob storage why it's not in the blob storage could be due to misconfiguration write access if you have users with the writer so read and write access so things like that but basically your code should be unit tested and integrated nicely so when you push in the cloud and for the deployment one stage to another there is a serverless framework which is agnostic meaning it works for Azure Google Cloud Azure Progress and IBM so basically they offer you a layer where you have structure stages so that you just say prod dev test and according to your config it will push to the right of course you have a little bit of configuration behind the scene to make it dynamic so like if the variable of environment variable is stage then everything should be aligned so for that you have automation with templating Azure as that and over the name so you can like define your infrastructure as a template so you deploy your infrastructure and if you are deploying your docker or whatever so there is many ways to achieve that so the one is talking about the serverless framework which we are not coming to it we are just going through the whole idea of what the Azure function can do but if we integrate the serverless framework that is talking about for Node.js that is I think support to other languages and all you can actually call that framework and integrate it to your Azure function so that makes your integration actually much similar compared to just running Android itself Azure function allows you to just extract one part but if you integrate it with the other framework to actually build the entire ecosystem your last question is how to handle the distribution function so what can distribute the function because previously if one project is very long in a digital we maybe it just a one service so we can use the just it's on the same machine at least it's on the same machine so we still can do the feedback that was that but if you split on the different function maybe on when you found the different interface so what do you have I think this is a pretty much an architecture problem I think his question was how do you actually you know distribute transaction where if now we're building an application that is running on my my VM itself all transactions is happening on the current VM whether it's storing or whether it's processing right I personally answer this as an architecture problem where how do you actually architect your system your infrastructure if I were to build infrastructure such as yours basically the Azure function where actually do the HBK take me home where I do my processing my transaction processing in that case for example if you are doing cleaning up a database or you're doing some calculation and operations Azure function will handle that for you I would then actually use that Azure function to be storing that into a SQL database or no SQL database or document DD state table whatever you want it to call it I would use that as a reference point so once it's clean and once it's it's transacted you could do one version two your API will then call that clean database so whatever your processing is is just getting to complete out for you completing the cycles for you completing your your your whatever things they need to do so that it's the HBK once you store it somewhere your application will then call to check whether this database is it the latest one or not if you want to go back at least your different version that you can go back to so in the same you're abstracting your servers abstracting application out and then now to servers architecture so it's pretty much an architectural issue that because you're coupling everything into one year which is causing problem the problem does that answer your question? your issue is long running processes like you have any V data to process which take hours yet to take the amount of time as here we have one process is process need to take 10 steps so when you come first the first steps but another person just coming in then change the data to be you need to cancel all the first first steps then don't need to do the end okay like this kind of stuff are you seeing that serius you could use servers I mean it again depends on the application I believe if you're doing step by step Azure of Azure function or whatever server's function could basically do it or even thing for party then sends output to for second Azure function to pull for party but if let's say you you're done with a certain threshold saying that let's say I'm done with 10,000 records I want this to be processed somewhere as a party then you have a geofunction to do the if I was living here so different Azure pipeline or Azure function pipeline will actually handle different parts of your requirements and once I receive the pipeline saying that okay now this data is processed but I for I for flag they're saying that okay actually this information has to be processed as a party our trigger party you know what I'm saying so in the sense you're actually breaking down the process of running your application at different Azure functions or servers if you call it which function will handle which part so in your case let's say it's dependent on each other and then desperate you need a transactional record whether it's a Azure table or a document you need to actually handle the transaction day so to manage the integrity of your data to manage the integrity of the processes it should actually go to common transaction for consistency then I throw the consistency off to one the different other functions so if I got step one already is step 10 then it should be one in this manner and then going back to the central master control rare once everything is done is send back to this master data is for example so you probably have to have an intermediary control it might not be the idea solution that's why I say I think it really depends on the application algorithm if you really have a dependency on each in each stage servers might not be the solution for you you could extract certain items within the transaction but if abstracting everything becomes a pain for you then it might not is exactly the solution just get the caching of our tools because it has API input caching for okay how do no so your concept doesn't do the caching for you you if you want to cache you will have to call like where this or caches somewhere else so there's abstraction on the end to handle that caching so what Azure Mountain does is take it once and trigger and process the item that I need if you want to store it you store it if you don't you can cache it on the side but they don't do caching so you can think about it basically it's it's like a web service that does not cache Medi so I have three questions one is I guess the web socket type of application is not suitable for web soket or a solution for I mean like it can be used with with Azure Functions I think I have not really tried web sockets um I probably have to get back to issue one then because I think as much as Azure Functions is concerned you could plug I mean real time you could technically use a web socket because if I can go real time application with chat box web socket is probably not going to issue because basically your web socket has to trigger the the the the the to handle the things that you need and then return the response so I don't think that there's an issue there unless there's a specific application in your building that requires or or really close timeline there that is of comes in so in in terms of like chat box application or whether it's in terms of streaming applications I think Azure Functions can sit in as an interface to receive the information for a web socket or whether it is for anywhere time IoT devices possessor the information and then returns back to your origin source so two more questions one is on contestation because because the function it's not running currently right so so every single time you call the function it needs to just authenticate yes doesn't that take a lot of time like you know like doesn't like every single time you call a function yes in the you like you know can I delete the database that every time you need to sort of like so the authentication question is is um you're asking whether can I authenticate or that no like well I mean like every single time you call a function that we just don't like anyone yes authenticate we assume that you want something authenticated like right you mean so so far we didn't talk about authenticate authenticate so I I I understand we come from so this question is basically every time when I call the actual function it's going take time right um basically if you think about it if I if I'm running web services according to API services you're also calling from somewhere else right now a real function if let's say you have your your servers running on a or if you have servers running for example Singapore you can just set a real functions to be sitting in Southeast Asia somewhere that's near you so in that sense your later skip time could be close less than milliseconds um very negligible um authentication wise basically if you're interested a real functions allows you to add on Microsoft Active Directory ADFS or your multi-factor authentication you could actually plug that into Azure Function to do your authentication at two levels so you could either have your token as one way of authenticating two is every time you send a function I will say that okay now I'll use multi-factor authentication or authenticate it things like that so as long as your application as a multi or for example if I authenticate with Microsoft, Google or GitHub or server I'll take that authentication and authenticate with function and then run so in terms of location wise it's not too much an issue because unless you're putting your Azure Function in like US or you will then probably the latency will not go otherwise it's it's not going to be much if it's in Southeast Asia because with many servers and no sync in Singapore one last question maybe yes do you meet co-star issue in Azure Function? co-star yeah what do you mean? it was a made a brand say the land function don't be say for fun but fun it will shut down so in Microsoft they have this kind as far as I know there isn't an issue with the runtime basically when the Azure Function is running it's running as as though as it's a server itself so it's constantly running unless you choose to stop it as they make you need to trigger the function so they really I'm not sure if there's co-star okay because so far when we're running it seems to be quite serious there's not much latency or co-star that has happened so what is the typical response time you're getting? if I were to call the demo just now it's less than a second to how many ms roughly um I'm not sure because I didn't do a speed test there though but it's definitely less than a second because I chose the server in Southeast Asia so calling from Singapore it makes up so it takes a bit longer yeah because it is sort of related to its question because like I hear from Amazon Lambda that your response time is at least 100 plus milliseconds okay because of the co-star issue right yeah the first time you will call you will have obviously a few milliseconds after I depend on the size of the code that you put in the function itself which I guess is the same for Azure so basically the goal is to have the minimum code the minimum processing time and so if you have a lot of traffic obviously it will be responsive if you have not a lot of traffic maybe you will have some co-star that you can you have some tricks to avoid some co-star you can but yeah it's going to expose it's not a big issue to be honest so I guess we nothing like thanks for the talk it was nice round of applause