27 May

Containers vs Virtual Machines

Containers vs VMs

At first it seems like containers are the natural evolution of virtualization. VMs have been around much longer which makes them seem like old tech compared to containers. Containers and VMs also tend to be written about as if they compete for the future of cloud computing and it’s a battle to survive. The reality is that they aren’t exclusive from one another but are different technologies that have their own use depending on your needs.

What is a Virtual Machine?

Virtual Machines (VMs) are virtual computing environments that utilize provisioned hardware and their own isolated OS. They are themselves separate computing environments that can coexist when managed through a hypervisor.

Virtual Machines are basically computers themselves that sit either within a hypervisor or as a window on top of a host operating system. Each virtual machine is referred to as a guest while the hosting hardware or OS is considered ‘the host’. Because VMs are computers themselves, their performance is dictated by hardware specs.

Just like physical computers, VMs provision hardware to use and boot from. This means that just like a physical computer, boot times can depend on the hardware quality and specs. Fast hardware will generally boot a virtual machine faster. Also, because a VM has its own contained operating system it will have all the capabilities of a full operating system.

A big advantage of VMs is that operating systems can be installed separately. This means different OSs can run next to each other on the same hardware. Want to run a windows server next to a Linux server? No problem. Want to run a Linux server on top of windows? Again, you can do that.

The environment within a VM is totally separate so that multiple tenants can occupy the same hardware. VMs create separate environments for sensitive data and apps so they are secure even with multiple tenants using the hardware.

VMs are legacy, proven and trusted technology. They are relied upon by large organizations that require security and can be scaled for multiple functions.

But in the day of web apps, entire operating systems aren’t always needed which has given rise to a new technology called containers.

What is a Container?

Containers are often thought of as the next phase of the virtual machine because they are newer and create separate virtualized environments for applications making them sound like they serve the same purpose as virtual machines.

Containers are isolated environments to run single applications. They package app code and include all the necessary tools and packages needed to run and manage an app. They utilize a host operating system and share the same kernel between container environments. This means that containers only use what they need for the application itself while the host OS and libraries all function underneath.

Containers are useful when you only need an application hosted because the container packages and runs only what is needed for the app. Everything else is hosted by the main OS. When hosting multiple containers with apps this leads to resources being allocated more effectively, faster boot times and portability.

Keeping an environment light weight and decreasing boot times is important in the day of SaaS apps, but so is security. A strength of virtual machines is that if an OS becomes compromised in any way, it doesn’t affect other VMs because they are managed through a hypervisor not an operating system. There are exceptions like the hypervisor itself being compromised but this is exceptionally rare.

On the other hand, because containers don’t have their own isolated OS, the entire system could become compromised if its infected.

For this reason, even Google, one of the most significant contributors to the Kubernetes open sourced container project keeps its client’s containers within separate VMs to maintain extra separation. Google does however only use containers for its own Google search use.

The big appeal to containers other than fast boot speeds is their flexibility. Containers are lighter on processes. Without needing to manage entire operating systems to manage an app, it can make building, testing and managing the application within its own environment much slicker. Plus, container environments can be run almost anywhere making them easy to move between computers.

Should I use a Container or VM?

Though many consider VMs and containers to be competitors or an evolution in technology, that‘s not necessarily true. Both have use cases and will be prevalent in data server storage, application hosting and virtualization for the foreseeable future.

The use scenario for container technology is mainly in web applications, SaaS applications and web app programs. For these programs it is isn’t always necessary to have an entire virtual computing environment and isolating the application is generally enough. Using this approach can mean lighter workloads for your servers and faster boot times, which is critical for services.

Virtual Machines are going to find use mainly in their security, isolated OS environments, and flexibility of a full computer. Having your choice in a full operating system, and the ability to perform multiple functions within that VM will be useful for anyone that wants to go beyond running single applications. Examples include managing a website, having a database and perhaps a web application. A virtual machine will also allow you to store data for longer periods of time as opposed to containers which don’t store data once the container is deleted. You can also partition multiple VMs in separate environments to create another level of security.

But again, VMs and containers can work together and will likely be increasingly coupled in the future. Large IaaS providers who own the hardware will likely implement VMs to separate clients for additional security and streamlined management while using containers to run each customer’s services.

Both containers and VMs are critical components to the infrastructure of the modern web. New innovations are being pushed out every year bringing these technologies to the forefront of modern computing resulting in more efficient apps and services for end users.

Summary

Virtual Machine and containers both have their own advantages and disadvantages. Many developers are beginning to incorporate both extensively for added security, increased speed, increased scalability and the ability to isolate various computing functions.

Here’s a breakdown of both:

Virtual Machines:

Pros:

  • Entire operating system functions
  • Isolated OS
  • OS choice
  • Proven history

Cons:

  • Hardware dependent
  • More computing load to process

Containers:

Pros:

  • Lightweight
  • Support from the open-sourced community
  • Speed
  • Streamlined for application testing
  • Less computing load to process
  • Easy scalability

Cons:

  • Newer technology that’s not as proven
  • Potential to infect OS if compromised
  • Designed to have more limited functionality than an OS
Share this
20 May

How To Install a Plex Media Server On Ubuntu (4 Ways)

Plex Media Server

Plex Media Server allows you to build your own private multimedia cloud. The Plex service ranges from a free subscription with few limitations to a monthly paid service or perpetual license that provides extra mobile app functionality.

Plex is a simple way for users to create their own cloud for streaming movies, photos, music and TV shows from either an on-premise private cloud or a rented server through a hosting provider.

Ubuntu is a Linux distribution that most people who are familiar with Linux will have either used or at least heard of. Canonical, the company behind Ubuntu, is credited with bringing Linux desktop environments aimed at everyday users to the mainstream with its popular Ubuntu distribution.

Due to people’s familiarity with Ubuntu, and Linux’s overall efficiency compared to solutions like Mac OS and Windows for running servers, it’s a very popular choice for setting up server environments such as Plex.

Many users installing Plex on a Linux server are more familiar with Windows and Mac which both use clickable program installers. Ubuntu is a great choice for users accustomed to application installers because it comes with a package installer much like Windows and Mac OS as well as a few other ways to install applications (like an app store).

This tutorial is going to teach you how to install and set up a Plex media server using the built-in package installer, Ubuntu app store, command console and Snapd so that no matter which method you are comfortable with you can get your server up and running!

The App Store

Ubuntu App Store
Ubuntu App Store

Something that many popular Linux distributions have been getting good at is including a pre-packaged app store. The Advantage of an app store (especially for Linux) is that for many it’s a convenient place to quickly search for numerous popular programs that have Linux compatibility.

1. To install Plex using the app store simply search for Plex using the upper righthand search icon. Once you’ve located Plex, tap the icon and click install just like you would using any other app store.

Plex on Ubuntu App Store
Plex File

2. To make sure you have Plex installed, go to your app drawer on Ubuntu by locating the set of squares at the bottom left corner of your Desktop dock. Scroll through your applications and you should see the Plex icon.

Ubuntu App Drawer
Ubuntu App Drawer

3. Click the Plex Icon which will take you to the Plex web interface where you can begin by making a Plex account. After creating an account, you can begin to connect your media folders with Plex.

Package Installer

If you want to simply download your Plex media server straight from Plex’s website, Ubuntu comes with a handy package installer much like you’d find on Windows or Mac.

1. First go to this link to download Plex: https://www.plex.tv/media-server-downloads/

2. Select Linux then click Choose Distribution. Click your Ubuntu version. If you have the latest version, just go with the latest version Plex has listed.

Plex Downloads
Choose Ubuntu Version

3. Once it’s downloaded click the package and select Open with – Software Installer. Click OK.

Ubuntu Package Manager
Ubuntu Package Manager

4. Once Plex is installed, locate your app drawer by going to the bottom of your dock on the left side of your desktop and click the set of squares. This will bring you to your app drawer where all your Ubuntu apps are accessed. Scroll down till you find Plex Media Server.

Ubuntu App Drawer
App Drawer

5. Click Plex Media Server to be directed to the web interface where you can begin syncing your content with Plex.

Terminal (Command Window)

Another way to install Plex is via terminal. While the terminal can be confusing for certain tasks when you are new to Linux, many long-term Linux users enjoy using the terminal because of its sheer number of capabilities when maneuvering around the Linux operating system.

Installing Plex is a great way to get comfortable with one of the most useful commands on Ubuntu which is Sudo apt-get install. Sudo apt-get install is the command on Ubuntu that will let you install apps even from the web without downloading a package. It’s one of the most powerful and convenient tools on Linux.

1. First go to your app drawer and search for terminal. The terminal might not be visible from the normal selection of apps. If not, go to the white search bar and type in terminal and it will show up. Click on terminal which should bring you to a black box ready for you to type a command.

2. First, update your web repositories by typing sudo apt-get update

3. Then, type sudo apt-get install plexmediaserver

Sudo apt-get install plexmediaserver
Sudo apt-get install plexmediaserver

4. If you input the command correctly, you should be able to go to your app drawer and see the Plex Media Server icon.

Plex Icon Towards Bottom Right
Plex Icon Towards Bottom Right

5. Click the Plex Media Server icon which will bring you to the Plex web interface where you can begin to sync your media with Plex.

Install via Snapd

One of the greatest challenges Linux desktops face is the lack of a simple, universal way to install applications and keep them updated across the near infinite number of Linux distributions. Canonical, the company behind Ubuntu, developed Snapd in response.

Snapd is a package install management software that can be installed over a variety of Linux distributions and helps to keep apps consistently updated and compatible amongst different Linux distributions even beyond Ubuntu. In fact, it is the primary form of installing application on newer Ubuntu versions now.

Though installing Snapd is an extra step and isn’t necessarily required if you just want to run a plex server, Snapd and Flatpak (another popular install management program) are arguably the future for Linux app installation. They make app installation uniform and allow apps to be uploaded and updated easily across app stores as well as implement a simple install command in the terminal.

If you want to try Snapd here’s how you install Snapd and Plex via Snapd on Ubuntu.

1. In the terminal type sudo apt-get update. This will update the files you can download from the internet.

2. Then type: Sudo apt install Snapd

sudo apt install snapd
sudo apt install snapd

3. Finally: Sudo snap install plexmediaserver

sudo snap install plexmediaserver
sudo snap install plexmediaserver

4. Plex will now be installed as a Snap file and can be accessed via the app drawer. Scroll down till you find the Plex Media Server icon. Click it to go to the Plex web interface and start syncing your media with Plex.

Plex installed on bottom right
Plex installed on bottom right

Setting up your Plex Media Server to Sync Content with Ubuntu

Plex Setup Screen
Plex Setup Screen

1. On the Server Setup page you’re going to want to click Add Library which will connect Plex with your media folder directories which it will use as server directories.

Select Music Category
Select Music Category

2. In this example we’re going to install our music directory. First, click the music Icon which should turn yellow if properly selected. This will tell Plex that the directory you are connecting is related to music. (You do have the option to rename it if you wish).

3. Next you will be asked to browse for a media folder. Click this and you will be brought to a directory. You going to want to go all the way back to the / folder so that you can see the music folder. Scroll through the right column to locate the Music folder. Just click the music folder then click Add.

Browse Media on Plex
Browse Media
Connecting Music Directory in Plex
Connecting Music Directory

4. Any media added to the Music folder will automatically sync with Plex. This means that let’s say you download a song, as long as your server is online that same song should show up anywhere you have access to Plex.

5. To add your photos, do that same thing but instead add the Photos library type then repeat the same steps to locate your pictures folder and like music, it will sync with Plex.

Connecting Pictures Directory
Connecting Pictures Directory

6. You should be all set to go with every library type you wanted to sync with Plex. But sometimes those library types aren’t immediately shown on Plex’s sidebar for easy access and are instead hidden. Scroll to the bottom of this article to see how to fix this if it is happening to your server on first use.

You should now have your media ready to sync with Plex. Anything added to the folders you’re syncing with Plex will also sync across any platform you have Plex installed on as long as your Plex server is online. If you shut off your server or it is offline for any reason – Plex will tell you it cannot find your media and you will simply have to turn on your server again to access your media.

Here’s what the music and photos will look like in Plex once synced.

Music Screen in Plex
Music
Pictures in Plex
Pictures

After you see all your media in Plex that you want synced, try going to either the Plex app on your phone or another computer to login to your Plex account. If your Plex server is set up correctly and is online, all the media you’ve synced in these steps will be accessible.

How to customize your Sidebar

Plex doesn’t always come pre-configure properly to make your music and pictures accessible from the sidebar. After setting up your Plex Media Server you might have to go in and manually add these. To do this:

1. Go to your media server name. click on it.

2. Underneath, you should see options such as music, pictures or anything else not automatically added to your sidebar underneath.

3 dots menu
The 3 Dots Will Give You the Option to Pin Music

3. Select the media folder you wish to add and click the 3 dots to the right. You should see the option to pin that folder.

Plex Media Server with Music in the Sidebar
Plex Media Server with Music in the Sidebar

4. Once the folder is pinned it will now be accessible from the sidebar when you login to your Plex Media Server.

As you can see, the music and photos icons are at the bottom of the sidebar when accessing the Plex media server.

Common Problems with Plex Servers

1. Cannot access server from a virtual machine despite the machine being turned on.

You need to make sure your virtual machine can connect to the internet. To start, go to your VM network settings in your hypervisor and make sure the VM can use the host machine’s connection.

Then ping the VMs IP to make sure there is a response.

You will also need to make sure it is connected to the proper port (this is typically port 22).

This will allow you to access the web through your virtual machine which is typically segregated from the main system thus not allowing you to connect your Plex server.

Another solution is to forward the server’s IP through your router.

2. Remote Access Disabled.

Remote access is what allows you to access your Plex server beyond your home network. This can be accessed by clicking on your server name in the Plex sidebar then going to the remote access tab and enabling remote access.

There are a variety of reasons remote access is disabled.

First try to manually re-enable remote access in your plex server as sometimes the service can glitch.

Port forwarding can also sometimes be a solution for remote access not working.

Remote access is what allows you to access your Plex server beyond your home network. This can be accessed by clicking on your server name in the Plex sidebar then going to the remote access tab and enabling remote access.

If remote access is still not working you might have to specify the port so that an exception can be made in your firewall.

  1. In Plex remote access check the box that says specify public port. The public port for Plex is 32400.
  2. Go to your firewall settings and create a new rule that will allow for port 32400 to be exempt so that Plex can get through the firewall.

The unfortunate reality of network connectivity is that there are numerous possible problems and solutions to allowing network access. These are only a few examples of solutions that users will sometimes find solves their remote access problem.

If none of these works there are numerous resources online that users can turn to such as forums, reddit and pages from cloud companies that write about issues involving network connectivity.

If you are an individual setting up a plex server on a dedicated machine (like an old laptop or desktop) that you intent to keep turned on, you may not come across issues such as the ones listed because Plex has direct access to the internet. But if you are using a virtual machine, a hosting provider or a firewall you may come across issues.

If you are using a hosting provider, work with them to make sure Plex can access the internet through the VM it is installed on. Your hosting provider should make sure to provision a server that can be accessed remotely and will not have issues accessing the internet.

ZebraHost has 24/7/365 customer support via ticket, email or phone. Meaning that if you are hosting with us you can contact us at any time and our team will be happy to assist you with your server.

If you have questions, we’re happy to be reached at Sales@zebrahost.com.

Share this
01 Aug

How to build a membership-based site in minutes

How to build a membership-based site in minutes –

The ZebraHost website builder powered by Weebly can easily allow you to set up a membership-based program on your site and open up a variety of opportunities, like a photography site where members can download special prints, or a registration portal where only conference attendees can access event information.

There are many possibilities.

With the Pro Plan, you can have up to 100 members and with the Business Plan – Unlimited members.

The login and registration windows are sleek, streamlined, and are automatically added to your site navigation. You can also hide the login link if you wish. There’s also an option to link the login modal to a button placed anywhere on your site.

With the membership option, you can even take that further by creating Groups and Page management

There are 2 ways someone can become a member of your site:

  • By signing up through a registration link on your site
  • By you manually inviting them to become a member

More Membership Features:

  • Customize invitation emails and direct invite links
  • Bulk add members via CSV
  • Member and group search
  • Password reset for individual member accounts

Start building your membership site

Share this
01 Mar

Hyper Converged Infrastructures

What is a hyper converged infrastructure (HCI, hyper-converged, hyperConverged)?

Traditionally, data centers have relied on a separate stack of hardware including a layer for compute, a layer for storage, and a layer for networking – in order to function. With that, comes the experts necessary to set up, maintain, and troubleshoot these complex infrastructures. Deep level technical knowledge is necessary in order to run these technology silos. These traditional setups are still widely used, but hyper converged systems are gaining momentum as IT decision makers are seeing the tremendous benefit these systems can bring to their departments.

The issue often comes down to scale

Traditional IT infrastructures are difficult to scale. Once the stacks either reach the end of their expected life-cycle or the storage layer fills up to capacity, it’s often required to preform a forklift upgrade – a rip out and replace is often the only way to upgrade. This is costly, risky and time-consuming.

As companies grow, so does the infrastructure needed to support that growth. Data storage inevitably increases as does the need for constant availability. With the need for increased availability, comes with a decrease in tolerance for downtime. Depending on the business, the cost of downtime can monumental. Growth also means more hardware, more technical silos, and and increase in energy consumption to power and then keep cool – those rows of cabinets.

Enter hyper converged infrastructures

Hyper convergence combines the layers of the traditional infrastructure in to a single “box”. This has obvious benefits from a dedicated hardware perspective, but also allows IT departments to utilize their resources much more efficiently. The reduction in hardware footprint means a much lower cost of ownership and much lower energy usage.

Hyper converged infrastructures are gaining a growing presence in data centers. The cost and resource savings are impressive. Not to mention being able to set them up in a short amount of time and then manage them from a single pane of glass.

Share this
31 Dec

IOPS – Claims and Calculations

What is IOPS?

Input/Output Operations Per Second or IOPS (pronounced eye-ops) is the most common method to benchmark a storage system’s performance – hard disk drives, solid state drives, and storage area networks.

The most common performance characteristics are as follows:

MeasurementDescription
Total IOPSTotal number of I/O operations per second (when performing a mix of read and write tests)
Random Read IOPSAverage number of random read I/O operations per second
Random Write IOPSAverage number of random write I/O operations per second
Sequential Read IOPSAverage number of sequential read I/O operations per second
Sequential Write IOPSAverage number of sequential write I/O operations per second

(source: https://en.wikipedia.org/wiki/IOPS)

It measures the number of read/write operations a device can complete in a second.

There are a lot of IOPS performance claims out there published by vendors and manufacturers. A majority of these performance claims are measured under the most favorable conditions and as such, shouldn’t be relied upon too heavily as they rarely match the actual workloads that companies run on a daily basis. Many performance claims are based on a 4k block size, when as we know – real-world workloads are much, much larger.

Calculating IOPS

Calculating IOPS depends on a few factors and latency is one of them. Latency is a measure of time delay for an input/output (I/O) operation.

Spindle Speed (RPMs) – Enterprise level storage rotations speeds are most commonly 10,000 and 15,000 RPM
Seek Time – How long it takes the read/write head to move to the track on the platter needed.

Newer SSD drives have significantly better IOPS performance than their traditional hard disk drive counterparts. This topic could fill an entirely separate post. A lack of moving parts, among many other things drastically improves their performance. As with most things, an increase in performance usually results in an increase in price.

Here’s a basic formula to calculate IOPS range: Divide 1 by the sum of the average latency in ms and the average seek time in ms. So, (1 / (average latency in ms + average seek time in ms).

The basic formula above applies to a single disk, when using multiple disks in an array, the calculation changes. Further change that when using a RAID configuration.

Your IOPS needs will depend on a myriad of factors.

Share this
21 Dec
17 Dec

Carbonite Partner Spotlight – ZebraHost

ZebraHost is proud to partner with Carbonite to offer Disaster Recovery Solutions. Thank you Carbonite for great service, support, and the great write up!

From Carbonite’s Partner page:

ZebraHost is a global application-hosting firm that truly goes the extra mile when it comes to understanding each customer’s unique business and technological requirements.

The company takes a great deal of time to learn everything it can about customers’ industries, business objectives and plans for the future. That’s precisely how ZebraHost and its disaster recovery arm, ZebraDR, have earned a stellar reputation for providing excellent, custom-fit products and services.

“We serve many niche markets and we get to know the markets very, very well,” said Clive Swanepoel, ZebraHost’s founder and CEO. “For instance, one of our major markets consists of developers that use Alpha Software to create their applications. We participate in the forums, we go to conferences and we know most of the key developers personally. We get heavily involved and we’re very customer-service focused.”

ZebraHost has been hosting applications and providing data and IT services since 2000. But the firm recently found that it had room in its portfolio for a new line of powerful disaster preparedness solutions that are purpose-built for small and midsize businesses (SMBs), medical practices and law firms. That’s when ZebraHost and ZebraDR turned to Carbonite.

As a Carbonite Partner, ZebraHost now offers the full lineup of Carbonite backup solutions for SMBs and consumers. That includes Carbonite Personal plans, Carbonite Pro plans for workstations, Carbonite Server Backup and the Carbonite Backup Appliance, an all-in-one disaster recovery solution for SMBs.

“Carbonite fills the niche we had for that small business market,” said Bryan Manning, Sales and Business Development Manager at ZebraHost. “But it also gives us the ability to serve that somewhat larger customer that may need server backup or an appliance on site. Carbonite is opening a lot of doors for us.”

Some of ZebraHost’s favorite things about being a Carbonite Partner include:

The trusted Carbonite brand name
When customers hear the name Carbonite they know they’re going to get a highly respected, reliable backup and recovery solution. That makes Carbonite a great fit for ZebraHost and ZebraDR.

“Carbonite has a very good brand presence,” Manning said. “The reputation is awesome.”

Powerful yet simple backup
Carbonite is a robust and dependable backup solution that is easy to install and use. Partners can easily monitor and manage their clients’ backups through Carbonite’s Partner Portal and Web-based management dashboard.

Excellent marketing and technical support
ZebraHost prides itself on providing top-notch customer support. If a customer sends in a support email, they will quickly get a phone call in return. ZebraHost expects the same level of support from its technology partners. Carbonite, which offers market development funds to qualified partners and assigns each partner a dedicated account manager, fit the bill perfectly.

“ZebraHost is based on support. We’ve had many different software companies approach us about becoming a partner but they weren’t very support-focused,” Manning said. “Carbonite has given us more of a personal relationship from day one and that matches our culture.”

ZebraHost teams up with Carbonite to enhance disaster recovery portfolio

Download the PDF here

Share this

©2020 ZebraHost, LLC | All Rights Reserved | Powered by ZebraHost