WebAssembly (WASM) vs. Docker - Our Expert Analysis

Поділитися
Вставка
  • Опубліковано 17 тра 2024
  • Just what is WASM (WebAssembly) and how does it integrate with an industry staple, Docker?
    In this video, we explore the potential of WebAssembly (WASM) as a game-changer in the world of containerization. While Docker has been the go-to solution for packaging and deploying applications in containers, WASM offers a faster, more secure, and more flexible alternative.
    1️⃣ We’ll start by explaining what WASM is and how it works, including its binary format, virtual machine, and sandboxed execution environment.
    2️⃣We then compare the features of WASM and Docker, such as startup time, resource consumption, and portability, and showcase some examples of WASM applications running in the browser, server, and edge devices.
    3️⃣Finally, we conclude with some reflections on the future of containerization and the role that WASM might play in shaping it.
    Whether you're a developer, a DevOps engineer, or a curious tech enthusiast, this video will provide you with an informative and thought-provoking perspective on one of the most exciting trends in modern computing!
    Here are the topics covered in this video:
    These are the topics covered in this video:
    00:00 - An introduction to WebAssembly (WASM)
    00:51 - What is WASM?
    03:26 - Demo on WASM
    08:01 - What does it have to do with Docker?
    11:48 - Docker vs WASM
    15:28 - Should we unlearn Docker & Kubernetes?
    17:36 - Demo: Docker + WASM Integration
    18:48 - Conclusion & Next steps
    Want to view a clear path to becoming a DevOps Engineer? Visit our website - bit.ly/Kodekloud-YT We have various Learning Paths to help you choose your next step and shape your DevOps & Cloud Career.
    #WebAssembly #Docker #WASM
    Thanks for watching!
    WebAssembly (WASM) vs. Docker - Our Expert Analysis
    • WebAssembly (WASM) vs....
  • Розваги

КОМЕНТАРІ • 228

  • @sachinthatte9672
    @sachinthatte9672 Рік тому +49

    The presenter here is a truly gifted teacher. Absolutely amazing way to simplify an esoteric topic. It is hard to overstate how important this content is for people like me. Thank you!!

    • @KodeKloud
      @KodeKloud  Рік тому

      Hello thank you for watching our video .We are glad that we could help you in your learning !

  • @AhmedFaraz936
    @AhmedFaraz936 24 дні тому

    Very brilliantly explained. Thanks

  • @PetroeEd
    @PetroeEd Рік тому +15

    This presentation is one of the finest I've ever seen! Takes a very complex subject and walks the viewer through in a very understandable manner. Great stuff. GCB

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks for watching our video and sharing your thoughts. Do subscribe to our channel and stay tuned for more. Cheers!

  • @ivanmaglica264
    @ivanmaglica264 Рік тому +74

    Performance Speed for containers 'Far away from native'? Yes IF you are running it on windows or mac but app is built for linux. If you run it on linux, it is native speed. OS calls go directly to kernel, no VM translation layer.

    • @andreffrosa
      @andreffrosa Рік тому +6

      Exactly

    • @tomof
      @tomof Рік тому +19

      Not only that. Placing WASM before docker containers in terms of "Performance speed" is so wrong. "Almost native speed" for WASM ruthlessly ignores a level of redirection known as byte code interpretation.

    • @HelloThere-xs8ss
      @HelloThere-xs8ss Рік тому +1

      Ok but you have to think about who software is built for. Typically, a regular user will have windows or apple.

    • @lemetwe3401
      @lemetwe3401 Рік тому +22

      @@HelloThere-xs8ss And containers usually only run on servers. And those run almost all on linux.

    • @HelloThere-xs8ss
      @HelloThere-xs8ss Рік тому

      @@lemetwe3401 ok, not true at all.

  • @skytech2501
    @skytech2501 Рік тому +7

    this video is criminally underrated!

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks a ton! Your support makes all the difference 💙

  • @gusik89
    @gusik89 Рік тому +8

    I don't see many use cases where one should use containers + WASM instead of just WASM and WASI. I think this technology has a great potential replacing containers because it provides a way to deploy and execute your application anywhere with little overhead and complexity compared to containers. This is something like Java on steroids with open standards and ability to use different programming languages and tools which makes it even more tempting, you just use your beloved language, compile it and deploy anywhere.

  • @luacode8647
    @luacode8647 Рік тому +19

    A clean and straightforward explanation of WASM vs Docker. You're good at explaining a topic that everyone doesn't know how to show with details

    • @KodeKloud
      @KodeKloud  Рік тому +1

      Hello, thank you for watching our video. We are glad that you liked our video. Do subscribe and stay connected with us. Cheers :)

  • @user-vf9fi7dx2w
    @user-vf9fi7dx2w 23 дні тому

    You are the best. I think you are really talented

  • @balloney2175
    @balloney2175 Рік тому +2

    The explanation is very clear and easy to understand. (No accent at all!) Love to learn from you, more!

  • @leonardmocanu-wi1oh
    @leonardmocanu-wi1oh Рік тому +7

    14:05, the Performance Speed comparison is wrong. I think it should be the other way aroud. Containerized apps run at native speed. That’s why you need to compile them for the specific architecture.
    WASM, on the other hand, is slower because it needs to be translated to that architecture

    • @_akuma06
      @_akuma06 Рік тому

      I can assure you that a docker container on windows doesn't run at native speed.

    • @leonardmocanu-wi1oh
      @leonardmocanu-wi1oh Рік тому

      @@_akuma06, you are right but I think this is about production environments

    • @_akuma06
      @_akuma06 Рік тому

      @@leonardmocanu-wi1oh Then again the example was about Mac and Windows users in the video. However I agree that if we limit it to Linux os only, you're right.

  • @bitlabs4320
    @bitlabs4320 Рік тому +7

    Amazing content. Very clear, to the point and love the way you explains WASM from beginning by comparing to the DOCKER. 👌

  • @IdanRefaeli3
    @IdanRefaeli3 Рік тому +10

    14:09 - A Docker container does not contain an OS (but still mimics a file system) as far as I know, so doesn't it access the underlying OS just like WASM?

    • @brunobellomunhoz
      @brunobellomunhoz Рік тому +1

      It uses the Linux kernel, so it is in Linux, but windows and Mac need to run a "VM" with Linux in order to spin up containers from what I've understood

    • @_akuma06
      @_akuma06 Рік тому +2

      @@brunobellomunhoz You're right. On windows, docker uses WSL 2 for the containerized apps and WSL 2 behaves like a "VM" but is not actually one.

    • @pl4nty
      @pl4nty Рік тому

      @@_akuma06 WSL2 actually is a VM, running on Hyper-V

    • @_akuma06
      @_akuma06 Рік тому

      @@pl4nty Yeah it's more on the play on word here. But WSL2 uses a VM under the hood with hyperv, but what you have access to is not a VM in the truest sense. It just behaves like it. It means you can have the advantages of WSL1 (fast start-up time, no need to manage your VM, not isolated from the host, less memory consumption and CPU usage...) and still have the advantages of a VM. That's what they mean in the documentation of WSL2 when they it 'behaves' like a VM.

    • @pl4nty
      @pl4nty Рік тому

      @@_akuma06 kinda, but WSL2 is very much a (Windows-managed) VM - it runs a virtualised kernel and network switch. It also has similar isolation to a VM. It has some performance optimisations (eg custom kernel), and a bunch of tooling (eg WSLg, USDIPD), but the core architecture is hyperv. Windows has standardised on it to reduce attack surface and accelerate development - WDAG and Windows Sandbox have taken similar approaches

  • @MrSuriyam
    @MrSuriyam 5 місяців тому

    Hi Sir Ty for taking the time in demystifying a complex topic. 🙏

  • @javadoctor101
    @javadoctor101 Рік тому +2

    Wow!! What an amazing video. I am fairly certain you put tremendous effort and research in creating these videos. Thank you so much and keep up the good work!!

  • @riyazahmad6046
    @riyazahmad6046 Рік тому +1

    Mumshad, you are an amazing tutor... recently i got CKA certified ... your tutorial was really helpful!!!!!!

    • @KodeKloud
      @KodeKloud  Рік тому

      Thank you for the appreciation. You can check our videos related to DevOps and subscribe to our channel to stay updated with all the latest tools.

  • @BR-lx7py
    @BR-lx7py Рік тому +24

    Isn't WASM more analogous to JVM rather than Docker? You have a compiler that creates special bytecode (from a limited number of languages) for a VM. As opposed to Docker, where you can run code from any language as long as it has a compiler for your architecture.

    • @shubhamsehgal2336
      @shubhamsehgal2336 Рік тому +4

      Just add Java to web and it's somewhat... Oh wait we did that with applets lol

    • @fdwr
      @fdwr Рік тому +11

      WebAssembly is indeed compiled source code to byte code, which is JIT'ed to native code at runtime (and potentially cached). The big difference is that WASM is closer to a basic instruction set architecture (ISA) and does not bake in a particular hierarchy (e.g. Object is not the root of all classes) nor enforce any particular memory model (e.g. you don't have to use lazy garbage collection like the JVM or CLR).

    • @109Rage
      @109Rage Рік тому +4

      Yes, WASM is similar in concept to the JVM-they're both a virtual machine that runs on a bytecode. The difference is that the JVM was designed for Java specifically, so anything that compiles to it has to play nice with JVM semantics, such as classes and garbage collection. WASM's bytecode is lower level, and more simple, so it's way easier to get any arbitrary programming language compiling to it, compared to JVM.
      The reason WASM is being compared with Docker, is because WASM by default is already fairly restricted, and sandboxed, with the only access to the system being whatever you explicitly give it. Java is technically capable of this as well, stripping out and controlling any syscalls, but its entire ecosystem isn't designed for this. Not to mention, WASM lets you do this with languages that aren't specifically designed for the JVM specifically. If your compiler is built on LLVM, you almost get WASM support for free.

    • @MaulikParmar210
      @MaulikParmar210 Рік тому

      The difference is underlying API, while both are in intermediate format, java bytecode has more OS apis available compared to WASM.
      Web Assembly is limited to sandbox it's running in. If it's browser, it's limited to APIs available similar to JS sandbox. If it's loaded in wider runtime i.e. v8 / node.js it will have wider set it APIs i.e. network / fs etc.
      Either way it's more comparable to foreign function interface that alot of languages provides. Runtimes are going to limit what it can do, you can label it as APIs or modules it doesn't matter, concept of sandbox and abstraction remains same.
      Actual pipeline is that you load intermediate binary, wasm runtime allocate memory and start JIT translation, Native code bootstraps and executes entry function i.e. main function. With inter process communication both world communicates.
      WASM would use stdlib and other posix complaint syscalls so that it remains OS independent, there's no magic there, runtime is just broker which manages resources and pass on syscalls.
      On docker entire thing is done using Linux namespaces which is entirely different concept to spawn process as lightweight VM and doesn't have runtime on it's own rather gets namespaced translations of all syscalls directly. That's why you need images compiled for specific arch in containers while WASM can execute on any complaint runtime.

    • @ThePandaGuitar
      @ThePandaGuitar 11 місяців тому

      Yes it's the JVM vision.

  • @lazygamer6249
    @lazygamer6249 Рік тому +1

    Very thorough, beautiful presentation and easy to understand. Thank you so much.

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks a ton! Your support makes all the difference 💙

  • @abhishekgowlikar
    @abhishekgowlikar Рік тому +4

    Your explanation on the latest technologies is awesome, explanation in simple language and able to understand by everyone. thanks please bring more videos on the latest trends in DevOps and Orchestration.❤

  • @foofighterdaz
    @foofighterdaz 11 місяців тому +1

    This was so good, pitched perfectly, fantastic animations and references.

    • @KodeKloud
      @KodeKloud  10 місяців тому

      Greetings! Thank you for your kind words. Spread the word by liking, sharing and subscribing to our channel! Cheers :).

  • @faizalabdulhakim348
    @faizalabdulhakim348 6 місяців тому

    very concise explanation and example, Sir!

    • @KodeKloud
      @KodeKloud  5 місяців тому

      Glad it was helpful!

  • @FilipCodes
    @FilipCodes Рік тому

    So glad I found this channel

    • @KodeKloud
      @KodeKloud  Рік тому

      Greetings! Thank you for your kind words. Spread the word by liking, sharing and subscribing to our channel! Cheers :).

  • @anselminos5238
    @anselminos5238 11 місяців тому +2

    To reduce the docker image size and application startup time you can use images like alpine or distroless.
    And when you run docker inside a linux machine the docker container it should be running at native speeds. In contrast when you run docker on Windows and on MacOS it needs to create a linux vm to run the containers on.

    • @KodeKloud
      @KodeKloud  10 місяців тому

      Thanks for watching our video and sharing your thoughts. Do subscribe to our channel and stay tuned for more. Cheers!

  • @herambthuse5460
    @herambthuse5460 Рік тому +11

    Thanks Mumshad... your videos are always interesting and educative. I think the pace at which Software Development is changing in its entire approach along with tools, processes and expectations, its becoming humanly impossible for Software Developers to match the expectations. And mostly people are learning these tools, frameworks, etc only to the level of getting work done. Naturally , cause it would take time for any human software developer to work on a perticular tech/ tool for a considerable period of time to develop expertise of next level. But by then the ask changes, tool changes, processes change and every employer wants Developer to have solid experience in these new shiny tools, tech. Which a human cant have , not they are expert beyond a point in the Tool they have been using because many were trying to catch the bus of change. 😃
    Change is good , pace of new tech i is good , provided it adds real value to the objective. I hope Software Developers too may be thinking in the same direction.

    • @KodeKloud
      @KodeKloud  Рік тому

      Hello, thanks for checking out our video and for sharing your input. Do subscribe to our channel to stay posted on upcoming tutorials. Cheers!

  • @andriussolopovas8727
    @andriussolopovas8727 10 місяців тому +1

    the future looks interesting in terms of security as well, you can encrypt such container and provide functionality that is completely encrypted, almost like in PS5, will become easy to manage licensing as you can build in anything inside those encrypted containers even self destruction mechanisms as soons as it gets connections to the internet.

    • @KodeKloud
      @KodeKloud  9 місяців тому

      Hi, thanks for checking out our tutorial and for sharing the information. Do subscribe to our channel to stay posted on upcoming tutorials. Cheers!

  • @parashar1505
    @parashar1505 Рік тому

    The best instructor ever born on earth!

    • @KodeKloud
      @KodeKloud  Рік тому +1

      We are so grateful for your kind words. Also, subscribe to our channel and stay tuned for more videos. Cheers!

  • @MarcoLenzo
    @MarcoLenzo Рік тому +2

    Thank you for the detailed overview. I agree with you as I highly doubt they will replace Docker or Kubernetes. I also think adoption won't be as fast as we saw with containers as I don't think many teams will be motivated to use it unless they need to solve some particular challenge on the front end. I see its use in the back end very unlikely. However, it wouldn't be the first time I realize the power of a technology only after it reaches a decent level of maturity.

    • @KodeKloud
      @KodeKloud  Рік тому

      Hello, thank you for watching our video. We are glad that you liked our video. Do subscribe and stay connected with us. Cheers :)

  • @nilesh-gule
    @nilesh-gule Рік тому +2

    Thanks Mumshad for a very informative video in WASM and WASI.

    • @KodeKloud
      @KodeKloud  Рік тому +1

      Hi Nilesh, we are glad you found our video informative. Do subscribe to our channel and stay tuned for more.

  • @tourdesource
    @tourdesource Рік тому +2

    Great video! Thank you for the clear explanation.

  • @EldonElledge
    @EldonElledge Рік тому +1

    Great video and content. I have been using Microsoft Blazor for a while now. I am excited to see the direction that WASM is going.

    • @KodeKloud
      @KodeKloud  Рік тому

      We are glad that you have enjoyed your learning experience with us : )

  • @111t03
    @111t03 Рік тому +1

    Thanks for the explanation man! Really enjoyed and grasped this content. 🙏

    • @KodeKloud
      @KodeKloud  Рік тому

      We are so grateful for your kind words. Also, subscribe to our channel and stay tuned for more videos. Cheers!

  • @basu007100
    @basu007100 Рік тому +2

    Thanks Mumshad for sharing insights

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks a ton! Your support makes all the difference 💙

  • @zennoeditz8280
    @zennoeditz8280 Рік тому

    one the best video i've ever seen for webassembly out of the browser thank you so much , can you make some tutorials on becnhmarking or profiling for wasm binaries.

    • @KodeKloud
      @KodeKloud  Рік тому

      Thank you for the appreciation. You can check our videos related to DevOps and subscribe to our channel to stay updated with all the latest tools.

  • @djsrone
    @djsrone Рік тому +4

    If I were to build an application from scratch and are not bound to Docker/K8s work flows, is docker/K8s necessary? Also are they're orchestration tools like k8s for WASM or in the works? It seems like docker is only necessary since its something were familiar with and is already in our infrastructures.

    • @KodeKloud
      @KodeKloud  Рік тому

      "There are a lot of benefits of Docker and Kubernetes you can read more about them here:
      Docker: kodekloud.com/blog/role-of-docker-in-devops
      Kubernetes: kodekloud.com/blog/benefits-of-kubernetes/
      For example, assume that you have to deploy a cluster with microservices, every day there are a lot of commits code of the developer team for moreover 20 services. Containerizing all of these applications and deploying them to Kubernetes is such a great idea. You can build CI/CD, set up Monitoring, and config security containers. This is effective."

  • @halfsleeves
    @halfsleeves Рік тому

    At 14:39 WASM vs Container performance speed. So a C++ code will run faster in WA engine as compared to docker? Because I am pretty sure is WA is almost 50-60% slower than native C++ code. I don't know if docker is even slower in running C++?

  • @dexterman6361
    @dexterman6361 Рік тому

    Wouldn't docker running in same-kernel-mode (such as cgroup isolation on linux) be much faster than running them in a vm (jvm, wasm etc)?

  • @aireddy
    @aireddy Рік тому +4

    This video is very informative, Thank you Mumshad.

    • @KodeKloud
      @KodeKloud  Рік тому +1

      We are glad you found our video informative. Do support us by subscribing to our channel. Cheers!

    • @aireddy
      @aireddy Рік тому +1

      @@KodeKloud I subscribed your channel long time ago.

  • @marccawood
    @marccawood Рік тому

    Running binaries in a browser? We were doing this in 1998 with OLE and CreateObject
    It was removed for security reasons from IE an never supported in Moz/Webkit/Chrime.
    How is WASM different?

  • @MrSuriyam
    @MrSuriyam Рік тому

    Thank you again sir for the wealth of info and keeping us updated with all the integrations. Appreciate it sincerely…

    • @KodeKloud
      @KodeKloud  Рік тому

      We are glad you found our video helpful. Like and share our video with your peers and also do not forget to subscribe to our channel for not missing video updates. We will be coming up with more such videos. Cheers!

  • @h3651551
    @h3651551 Рік тому +5

    I am not sure if combination will only get the benefit from both...? But it is good to know there is something new now. Thanks!

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks for watching our video and sharing your thoughts. Do subscribe to our channel and stay tuned for more. Cheers!

  • @marekkucak6581
    @marekkucak6581 Рік тому

    WASM with Docker. That's amazing. Thanks for the presentation!

    • @KodeKloud
      @KodeKloud  Рік тому

      Keep learning with us .Stay connected with our channel and team :) . Do subscribe the channel for more updates : )

  • @x0r1k
    @x0r1k Рік тому +1

    Great video!
    I don't agree that docker is "far away from native speed". If you google any research, you will find out that docker has speed close to native (on linux). I totally agree about the other docker disadvantages.

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks for watching our video and sharing your thoughts. Do subscribe to our channel and stay tuned for more. Cheers!

  • @CoolDude911
    @CoolDude911 Рік тому +1

    I will comment that it's not always about deploying stuff on the web. Electrical engineers use docker is lots of different ways. You can use Docker containers to run tests with specific operating system parameters or make a deep learning environment with cuda set up in a specific way.

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks for watching our video and sharing your thoughts. Do subscribe to our channel and stay tuned for more. Cheers!

  • @bergweg
    @bergweg 11 місяців тому +1

    Great detailed explanation, thanks!

    • @KodeKloud
      @KodeKloud  11 місяців тому

      Glad it was helpful!

  • @premdeepss
    @premdeepss 10 місяців тому +1

    Great session!!

    • @KodeKloud
      @KodeKloud  9 місяців тому

      Thank you! Cheers!

  • @jairunet
    @jairunet Рік тому +1

    Thank you very much for the details, valuable indeed, appreciate it!

  • @shivamrawat7523
    @shivamrawat7523 Рік тому

    platform independent thing can be said for JVM too. what's thats not the replacement for docker?

  • @nabinmaiti9167
    @nabinmaiti9167 11 місяців тому +1

    Thank you Mumshad Sir

  • @EkShunya
    @EkShunya Рік тому +1

    Thank you
    U really put in the effort and it shows in your work

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks for watching our video and sharing your thoughts. Do subscribe to our channel and stay tuned for more. Cheers!

  • @OCTAGRAM
    @OCTAGRAM 11 місяців тому

    To counterargument Docker Tweet, when Docker was created, ANDF(TenDRA) already existed. And many other attempts. TenDRA is more functional, it supports exceptions and handling of integer overflow

  • @ThePandaGuitar
    @ThePandaGuitar 11 місяців тому +1

    This was basically the JVM dream.

    • @KodeKloud
      @KodeKloud  10 місяців тому

      Thanks for watching our video. Cheers!

  • @syedsadiqali892
    @syedsadiqali892 Рік тому +2

    Wow. This is awesome!!

  • @deeplazydev
    @deeplazydev Рік тому

    14:20 I do not understand how it is "almost native speed". Could you point me to a benchmark?

  • @davidsalgado7372
    @davidsalgado7372 Рік тому +2

    Interesting, however you’re wrong about docker performance, it can be slower to load but once loaded it’s by definition more performant because there is no transpilation (conversion from intermediate code to native code) as the wasm would need. Don’t confuse process virtualization (docker) with hardware virtualization (hypervisors) which have a considerable amount of overhead.

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks for watching our video and sharing your thoughts. Do subscribe to our channel and stay tuned for more. Cheers!

  • @TheMsksk
    @TheMsksk Рік тому

    9:00 Couldn't I simply compile for multiple targets and share the binary depending on the target? Wouldn't that be much simpler?

  • @MarkoPetejan
    @MarkoPetejan Рік тому +3

    Now I wonder, how does WASM compare against ActiveX (or similar, like Java)? The option of compiling a Windows desktop application into some kind of web module was there two decades ago. There were some security issues, yes, but at the core this seems to me like nothing new. So why are we so excited about it? What changed?

    • @lcominghome
      @lcominghome Рік тому +1

      Java and active x are slow and buggy!

  • @toddmaek5436
    @toddmaek5436 Рік тому +4

    This is GREAT content.

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks for watching our video. Cheers!

  • @moofymoo
    @moofymoo Рік тому +1

    where did i heard that compile once run everywhere?

  • @creo4033
    @creo4033 Рік тому

    If you want to run a SQL database, you can do it in docker, but how could you do the same using webassembly which is only for apps you code yourself?

  • @username7763
    @username7763 11 місяців тому +1

    Docker doesn't allow applications to run anywhere. Most people who use docker use Linux containers. When they run the Linux containers, they are running them on Linux. If the host OS is Mac or Windows, they run them in a virtual machine in Linux. Docker isn't giving any portability, as you are still running it in Linux. While a normal C program can be compiled to run under those different operating systems. It can also be statically linked so you end up with a single exe with no dependencies. And if you need dependencies, they can be put in a single folder. Call your folder a container if you like. What Docker provides that doesn't normally come with the OS, is the namespace isolation. Which, depending on the program may or may not be a good thing.

    • @KodeKloud
      @KodeKloud  10 місяців тому

      Thanks for watching our video and sharing your thoughts. Do subscribe to our channel and stay tuned for more. Cheers!

  • @FuyangLiu
    @FuyangLiu Рік тому +1

    "Compile once, runs everywhere"

  • @zd2600
    @zd2600 Рік тому +1

    Good explanation. But I'm wondering how can we differentiate or choose between Java/JRE and WASM. Isn't JRE is about the same concept to write a code once, and run them at every platform ?

    • @ko-Daegu
      @ko-Daegu 11 місяців тому

      can java run fast / low profile / low memory & run in browser ?

  • @ahmadbaghereslami796
    @ahmadbaghereslami796 3 місяці тому

    Thanks for demoing everything in code

  • @ko-Daegu
    @ko-Daegu 11 місяців тому

    14:15 can we say that Docker containers contains OS thou don't think this is correct ?

  • @m4heshd
    @m4heshd 28 днів тому +1

    As much as I loved this video, people shouldn't even be comparing these two technologies since they serve completely different purposes in very different manners even though the stack looks a bit similar. Also, Docker is made for server-side applications which a majority of the time, runs on Linux. When Docker containers execute on Linux, they do run at native performance because IT IS running natively since there's no emulation or virtualization going on. Simply think of it as a glorified "chroot". WASM is practically doing what Java with JVM did, but a bit better. Remember applets people? 😏

  • @chethanuc
    @chethanuc 10 місяців тому

    15:14 WASM provides high security. How? Containers provide namespace, cgroup, seccomp/selinux security features. Does WASM runtime provide the same features.
    15:52 We compare WASM "vs" Docker, but finally ingrate WASM with Docker?
    If I'm running 3rd party WASM codes in browser, how to provide security? Is browser itself safe?

  • @tenthlegionstudios1343
    @tenthlegionstudios1343 Рік тому +2

    Amazing explanations! One thing i would add is for the web, WebGL and WebGPU are partially what unlocks games on the browsers as well. not just WASM.

    • @KodeKloud
      @KodeKloud  Рік тому +1

      Hi, thanks for checking out our video and for sharing the information. Do subscribe to our channel to stay posted on upcoming tutorials. Cheers!

  • @BryanChance
    @BryanChance Рік тому

    What about debugging? Do you do it before compiling to WASM? What kind of debugger does it support? Container is good for large scale deployment of specific app or services, like a fleet of containers running a video encoder. Maintaining and updating docker containers is not easy either. And browser based apps drive me crazy. I have 10+ browser windows open with 20-50+ tabs open. Where is that specific tab I'm looking for? And with ALL the constant browser security issues...I don't want to run my trading app or otherwise in a browser. Do you really want to play a game and accident activate BACK BUTTON? oops....

  • @TheMsksk
    @TheMsksk Рік тому

    WASM is like Java Bytecode and Wasm Runtime is like the JVM. It's just that any language can be compiled down to WASM unlike Java Bytecode. Is this statement wrong?

  • @alastairtheduke
    @alastairtheduke 2 місяці тому

    Great video. Some constructive criticism: when explaining the basics of docker, don't use terminology used by people familar with it, like 'to up it'.

    • @KodeKloud
      @KodeKloud  2 місяці тому

      Hello, thank you for watching our video. We are glad that you liked our video. Do subscribe and stay connected with us. Cheers :)

  • @Phantom-pu1xn
    @Phantom-pu1xn Рік тому

    What about executing other languages, like Python. I think WASM solves some specific problems better than docker. But, itself cannot replace docker for all the wide ranged problems that docker can solve.

  • @JmbFountain
    @JmbFountain Рік тому

    So basically, using WASM as an application runtime is like the JVM?

  • @renegade5942
    @renegade5942 Рік тому +2

    I still dont understand why do we need docker if we have wasm, what does docker offer that wasm does not ?

    • @dynamite-bud
      @dynamite-bud Рік тому +1

      Because there's no networking stack so your wasm applications are just limited to system scope and don't do much more than printing hello world or calculating a fibonacci sequence. But there have been projects like fermyon that expose networking in their own way. So you can try them or try Wasmer with custom host functions with gpu, networking and so on.

    • @renegade5942
      @renegade5942 Рік тому +1

      @@dynamite-bud they dont have networking stack so far, but since they started already implementing some of it so in the future they will have a complete functional networking stack, at that point they wouldnt need docker right !

  • @muhammadahmod334
    @muhammadahmod334 10 місяців тому

    So we can send the backend to the front end? … what’s the implications? Can web assembly be easily reverse engineered?

    • @KodeKloud
      @KodeKloud  9 місяців тому

      "WebAssembly allows you to send parts of the backend to the front end, running code written in languages like C, C++, Rust, and others directly in the browser. This improves performance and responsiveness by reducing the need for frequent server-side round trips.
      To achieve this:
      1. Compile your backend code to WebAssembly, creating a .wasm binary file.
      2. Load the WebAssembly code into your front-end application using JavaScript.
      3. Interact with the backend logic directly on the front end, calling functions and passing data back and forth.
      WebAssembly is particularly useful for computationally intensive tasks, such as image or video processing, simulations, or data analytics. However, sensitive operations and certain security-related tasks are generally better suited for server-side processing. It complements JavaScript and opens up new possibilities for creating richer and more interactive web applications."

  • @yiyinyu9679
    @yiyinyu9679 Рік тому +1

    Did java try this years ago with Applet? (Don't get me wrong, ilike the content :) one of the challenges I can see for this is test automation, is there any framework to test it with same efficiency as the DOM based websites?

  • @user-in2nj6hd3u
    @user-in2nj6hd3u Місяць тому

    👏 👏 👏

  • @harshadmane3124
    @harshadmane3124 Рік тому +1

    Thanks Mumshad... Awesome work...
    Can you please create a video to compare the performance of a RUST web-API (just add two params and return sum) hosted on docker and another using wasm/wasi?
    This will be practical and really useful.

    • @everestshadow
      @everestshadow Рік тому +2

      It's not practical to write any web back end in wasi yet. The spec for network socket and multi threading is not yet finalized so your question is easily answered and docker is faster for now(for rust web applications)

    • @KodeKloud
      @KodeKloud  Рік тому

      Hey Harshad, thank you for watching our video. We will definitely look into your suggestions. Do subscribe and stay tuned for updates on our channel. Cheers :)

    • @harshadmane3124
      @harshadmane3124 Рік тому

      @@everestshadow Thanks for the feedback. Looks like here they have developed the web-APIs using wasm, ua-cam.com/video/OGcm3rHg630/v-deo.html

  • @theultimateshield5133
    @theultimateshield5133 Рік тому

    Bro the content and accent is great😅

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks a ton! Your support makes all the difference 💙

  • @michaelzhou985
    @michaelzhou985 Рік тому

    I don’t see any reason WASM can replace docker. The purpose of docker is also to create a CICD pipeline. I don’t see any tool supporting this pipeline yet.

  • @agatehao
    @agatehao Рік тому

    It's hard for me to image how WASM handles dynamic languages + system libs

  • @teknikalyfit
    @teknikalyfit Рік тому +1

    It higly looks like old times' activex and java applets. Docker and linux containers solved the problems coming from the serverside code portability. But wasm runs at clientside. The video does not explain the difference.

    • @softwareengineersdiaryniji
      @softwareengineersdiaryniji Рік тому

      which difference you talk about?

    • @teknikalyfit
      @teknikalyfit Рік тому

      @@softwareengineersdiaryniji how can I write a code that connects to a a db and a message queue and another webservice too and get request from another service in wasm?

    • @softwareengineersdiaryniji
      @softwareengineersdiaryniji Рік тому +3

      this is a high level picture of what is wasm and how it works. (and different from docker)
      maybe the next video should be more deeper and practical scenario as you mentioned

    • @KodeKloud
      @KodeKloud  Рік тому +1

      Thanks for watching our video and sharing your feedback.

  • @goodtechdoor
    @goodtechdoor Рік тому

    Epic.

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks a ton! Your support makes all the difference 💙

  • @mrwalkan
    @mrwalkan Рік тому

    1:38 what game is that?

  • @dynamite-bud
    @dynamite-bud Рік тому +1

    5:38 you forgot wasmer?

  • @motyakskellington7723
    @motyakskellington7723 Рік тому

    What has changed in 3 years, since wasm/wasi hype first started ?

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks for watching our video and sharing your thoughts. Do subscribe to our channel and stay tuned for more. Cheers!

  • @arianitonline8748
    @arianitonline8748 Рік тому +1

    C#, don't forget C#

  • @shubhamsehgal2336
    @shubhamsehgal2336 Рік тому

    But wasm isn't isolated, is it?

    • @KodeKloud
      @KodeKloud  Рік тому

      Each WebAssembly module executes within a sandboxed environment separated from the host runtime using fault isolation techniques. Referent: webassembly.org/docs/security

  • @wkk17
    @wkk17 4 місяці тому

    Oh boy, that's a realy hot take! It feels so wrong... The major difference: an app in Docker is run server side, while a WASM app is executed client side. At least in the default use cases except a few promille.
    And then a docker image doesn't need a fully fledged filesystem. That's just because the major part of lazy developers only utilizing framework over framework have missed the point.

  • @burtonrodman
    @burtonrodman 4 місяці тому

    While it may be true that Docker may not have been created if WASM had existed, they are still 2 very fundamentally different tools, with different purposes. I for one would not change a thing.

    • @KodeKloud
      @KodeKloud  2 місяці тому

      Keep learning with us & stay connected .

  • @Robert-ht5kd
    @Robert-ht5kd Рік тому +1

    Your Docker diagram is incorect. Docker runs on Linux kernel, e.g. on Windows it needs WSL2 to run.

    • @KodeKloud
      @KodeKloud  Рік тому

      Thank you for bringing this to our attention. We’re sorry you had a bad experience. We’ll share this feedback to our tech team.

  • @mehmetedex
    @mehmetedex 9 місяців тому +1

    if this isn't the nirvana of teaching I donno what is

    • @KodeKloud
      @KodeKloud  9 місяців тому

      Hi, we appreciate the kind comment! enjoy!

  • @KangJangkrik
    @KangJangkrik Рік тому +3

    WASM will replace Java

    • @jonahbranch5625
      @jonahbranch5625 Рік тому

      True, however lots of things have replaced java already

    • @KodeKloud
      @KodeKloud  Рік тому +1

      Thanks for watching our video. Cheers!

  • @caty863
    @caty863 6 місяців тому

    I think I will just skip Docker altogether. I had procrastinated long enough anyway!

    • @KodeKloud
      @KodeKloud  5 місяців тому

      Haha! We wouldn't recommend that though.

  • @oefzdegoeggl
    @oefzdegoeggl 7 місяців тому

    disagree here. the container startup time is irrelevant, unless you programmed complete shit you will have services that run either forever or until the instance gets destroyed or updated, whatever comes first. "near native performance" of wasm? well. no. not even remotely. a native executable within a docker container will run circles around the wasm version. and even multi-platform compatibility is not an issue, docker allows you to package multiple versions (lets say arm + x86) into a single image.

  • @RayHorn5128088056
    @RayHorn5128088056 Рік тому

    Docker containers do NOT work exactly as you asserted and Docker can do things WASM cannot.

  • @OOpSjm
    @OOpSjm Рік тому

    Java Applets 2.0

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks for watching our video. Cheers!

  • @ruyvieira104
    @ruyvieira104 Рік тому

    it's like cgi-bin only a million times more complicated

    • @KodeKloud
      @KodeKloud  Рік тому

      Thanks for watching our video and sharing your feedback.

  • @bionic_batman
    @bionic_batman 4 місяці тому

    Nice, people are reinventing Java all over again
    Except that this time it is somehow even worse

    • @KodeKloud
      @KodeKloud  2 місяці тому

      Hope you enjoyed our video! We have a ton more videos like this on our channel. We hope you will join our community!

  • @softwareengineersdiaryniji
    @softwareengineersdiaryniji Рік тому +2

    👏👏👏👏 Great Flow. Keep up the good work!

  • @simplenumber
    @simplenumber Рік тому

    Is it so that Docker runs containers at "slower than native" performance? This is native code that runs directly on the host CPU after all.

    • @simplenumber
      @simplenumber Рік тому +1

      Thanks a lot for this incredibly educative video though. It got me up to speed with many things I supposed to know for my job😃

    • @KodeKloud
      @KodeKloud  Рік тому

      Thank you for the appreciation. You can check our videos related to DevOps and subscribe to our channel to stay updated with all the latest tools.

  • @RayanMADAO
    @RayanMADAO Рік тому +1

    Amazing explanation thank you 🩶