Computer hardware would be useless without data and programs to process it. But to run programs, the computer must know how to do basic tasks like booting up, reading user input or loading programs. This is performed by the operating system, e.g. Windows, Linux or Mac OS. So when we speak of a computer, we mean the combination of hardware, operating system to bring it to life, and software to solve our tasks.
For a business, providing fast and reliable services is the primary goal. Therefore, we care much more about applications uptime than about hardware assets. A hardware failure is a common but manageable mishap, but a service outage is a disaster. So we need to separate software and operating system from hardware by some means.
Virtualization provides such an intermediary layer. It makes operating system and programs run inside a simulated, or virtual, computer. For the software this computer, known as a virtual machine, looks and acts exactly like a real one. The system that provides virtualization is called virtualization platform and acts as a bridge between actual hardware and virtual machines.
Virtualization allows us to perform fast deployment of software (no need to install more hardware for every project), scale easier (adding more memory or disk space on the fly), utilize resources better (never keeping hardware idle), use snapshots (instantly saving the entire virtual machine state before significant changes). But how does this protect our services from hardware failures?
To achieve greater flexibility, the virtualization platform can span multiple servers, joining their combined processor power, memory and disk space into pools. Such servers form a whole system which is called a cloud.
The platform keeps track of the virtual machines in the cloud and allows moving (migrating) them between the servers. Live migration is performed without stopping the services and is practically unnoticeable. As a result, hardware maintenance will not affect the users. In case of unexpected server failure, the high availability mechanism will instantly restart the virtual machine on the next available server.
Public clouds are operated by companies like Amazon, Microsoft or Rackspace; other companies organize private clouds for their own use.
I’m Stepan Semenukha, System Administrator at Development Gateway, and I trust in the power of free and open-source software, which can be tailored to one’s needs and used without limitations. Cost efficiency and flexibility were the key factors when we designed our private cloud. So our choice was Xen Cloud Platform, a virtualization solution created by Citrix and available in commercial and community editions.
Using cloud virtualization and fault-tolerant hardware design, e.g. redundant fibre optic links, storage controllers and disk arrays, gave excellent results. We haven’t had a single significant downtime caused by hardware failures for a year. Deploying new servers running Scientific Linux became a snap with customized virtual machine templates.
Our IT systems became agile, fast and resilient. And we are now always ready for new challenges.
For as long as Development Gateway has specialized in data, we have also specialized in data visualizations. In that time, we have discovered the pitfalls and learned ways that data visualizations can increase data use. In this post, we look specifically at selecting the right type of visualization for the story you want to tell.
In 2020, we sought to answer a pivotal question: what are the good practices and lessons learned from the many existing women’s, children's, and adolescent’s health data visualization tools? In partnership with UNICEF, DG worked to identify good practices, as well as to determine any differences for emergency-focused data visualization tools, using COVID-19 as a test case.
In advance of the first VIFAA country dashboard launch next week, we will explore the importance and source of accurate and reliable data for each of the indicators. This is a crucial step in making data available in a way that stakeholders can use to inform their decisions.