An overview of virtualization in computer systems and software engineering – why it’s more important than you might imagine | by Kaustav Ganguly | Jul 2022

  • You want your code to run on several different platforms with little or no adjustments
  • You want your development flow to be fast with minimal setup and configuration required
  • You want scalability in your application that automatically adapts to increased resource requirements
  • You want to ensure that the server remains active all the time and accessible by users in different geolocations without interruption (deployability)
  • You don’t want to worry about all the dirty maintenance work and if something goes wrong you should be able to fix it quickly.
  • You also want maximum availability of your application for the end user with minimum latency
  • You want a fast, easy, and streamlined deployment mechanism that can deploy code instantly without any hassle

General Benefits of Virtualization

  • Working on virtual environments allows consistency across multiple platforms, regardless of differences in environment, version, or firmware.
  • Server efficiency and availability can be dramatically increased with the dynamic load balancing made possible by virtualization.
  • For developers, testing software for multiple environments is a snap with virtualization
  • It also provides a stable development environment where debugging does not require reconfiguring the environment. Instead, it can simply be restored to the last stable state
  • Maintainability is greatly improved when using virtualization, as repairing it simply requires it to be replaced with another image with minimal downtime.

Containers

Conclusion

Gordon K. Morehouse