Containerisation, or Not: How to Choose for Your Hosting

Reading Time: 4 minutes

There’s an expression that goes ‘nothing stays simple for long’ and gosh darn if that isn’t just so true for so much of nearly everything in the world of economics and commerce. As is nearly always the case, it’s the way things develop interconnectedness and interdependencies very naturally means that what was once kind of basic eventually becomes at least somewhat complicated.

So it is with server hosting too, and what used to be just fine for a particular company or organization with regards to hosting their website. Here at 4GoodHosting, we’re obviously like any other Canadian web hosting provider at the forefront of the industry in that this is one of the more front and centre issues for us as it pertains to providing our customers with the type of web hosting service that actually suits them best.

All of this leads to what we’ll discuss here today, and the term is ‘containerisation.’ The term on itself means to break up a mass of any objects or material and separate them into a number of containers. What exactly those containers are could be any of thousands of different potential ones, but all of them will have the quality of having some type of exterior on at least 3 of 4 sides to create a barrier than ‘contains’ the ‘contents’ exactly as desired.

Decisions, Decisions

As far as servers, it was in fact a simple choice once upon a time – dedicated, or shared. That’s often still the basic decisions, but for ever greater numbers of customers there are additional considerations about what’s going to accommodate your website most ideally.

So what is containerisation, and would it be a good fit for you? And is there a specific type of server hosting required to run containers? How about the term ‘serverless’, what needs to be known there?

Lets have a look at all of this today.

Functionalities and Options

If there are no other external considerations, an application would be run via a web hosting package or dedicated server with an operating system and a complete software stack. But now, there are other options.

Operating-system level virtualisation is the far-too-long and awkward term that containerisation replaced. Containerisation uses a platform like Docker to run isolated instances, which make up the containers. But what exactly is the container then?

It’s a package of software that includes everything needed for a specific application, and the collection of it allows it to operate like a separate server environment. Because they share a single OS kernel, multiple containers can run on one server or virtual machine (VM) and have no effect on each other in any way. Most users identify with the container as being much like its own unique environment, and irrespective of the host infrastructure.

Containers are able to perform tasks that would require a whole server or VM if they weren’t around, and they also have the benefit of consuming far less resources. Being lightweight and agile allows them to be deployed, shut down and restarted at a moment’s notice, and they can also be transferred easily across hardware and environments.

Containers are also standalone packages, and that means they behave reliably and consistently regardless of the local configuration.

Orchestrator Needs

Safe to say Kubernetes is the most popular choice as a container orchestrator. There are several out there, but Kubernetes gets the highest marks for anyone running a large numbers of containers in a production environment because it automates the deployment, scheduling and management of containerised applications. Automatically scaling containers across multiple nodes (servers or VMs) to meet current demand and perform rollouts seamlessly is a huge plus, and it also promotes a sort of self-healing with containerised applications – if a node fails, Kubernetes restarts, replaces or reschedules containers as needed.

Working Considerations

Traditional web hosting solutions make it so that you can choose whether to run your containers in a shared environment, and where the best value for the money is if you have relatively small workloads not utilizing resources of a whole cluster of nodes (VMs or servers). Those with larger workloads or regulatory obligations to meet may find that a dedicated server environment – perhaps with your own cluster – may be required.

Serverless computing involves the orchestrator automatically stopping, starting and scaling the container on the infrastructure best situated to handle demand at that time. The benefit of this is that the developer has even less to be concerned about; code runs automatically, and there’s no need to manually configure the infrastructure. Costs are kept down because all instances of a container automatically shut down when demand for it trickles off or ends entirely.

Another term often used when discussing containers is microservices. A traditional application is built and consist as one big block with a single file system, shared databases and one common language across its various functions. Where a microservices application reveals itself is behind the scenes where functions are broken down into individual components.

Examples could be a product service, payment service, or a customer review service. Containerisation technologies like Kubernetes provide platforms and management tools for implementation, and then allowing microservices to be lightweight and run anywhere they’re needed. Microservices can technically be built on traditional server hosting, but creating and maintaining a full microservices architecture creates a working reality where a container platform like Docker and an orchestration tool like Kubernetes are integral parts of making the whole operation work as intended.

Choosing the Right IoT Platform

Reading Time: 5 minutes

No doubt the Internet of Things needs no introduction here given how the latest big wrinkle in the application of World Wide Web-based technology has become so integrally involved in both our private and working lives. As it stands currently, working with IoT applies to some businesses more than others, but it’s fair to say that any of them that put a premium on customer accessibility and control will need to be adhering to IoT realities.

Here at 4GoodHosting, we’re a good Canadian web hosting provider like any other in that we prefer to keep our thumbs on the pulse of certain trends in the greater industry more so than others. IoT is definitely one of them, and it continues to be interesting to watch how it reaches further into our digital world every day. Consumers are going to expect more and more ‘smartness’ from their ‘things’ going forward, and businesses of course need to be receptive to that.

This makes choosing the right IoT platform a complex endeavor. The landscape can be confusing for IoT hobbyists, experienced developers, and senior executives alike. Today we’ll give you a quick overview of the IoT platform landscape and how you should evaluate IoT platforms based on your needs.

Defining an IoT Platform

Quite simply, an IoT platform is an integrated service offering what’s needed to bring physical objects online. Supporting millions of simultaneous device connections is the challenge, and your platform needs to allow you to configure your devices for optimized communication between machines. The consensus among developers is that it’s really quite difficult to build a well-functioning IoT product.

IoT Platform Types

End-to-end IoT Platforms

End-to-end IoT platforms provide hardware, software, connectivity, security, and device management tools to handle the massive numbers of concurrent device connections. They also provide all managed integrations needed, which can include OTA firmware updates, device management, cloud connection, cellular modem and more, all of which connect and monitor a fleet of devices online.

Connectivity Management Platforms

These platforms offer low-power and low-cost connectivity management solutions via Wi-Fi and cellular technologies. Connectivity hardware, cellular networks, and data routing features are all part of connectivity management platforms in IoT.

IoT Cloud Platforms

Cloud platforms are very beneficial, serving to get rid of the complexity of building your own complex network stack and offering backend and other services to monitor and track millions of device connections that are occurring simultaneously.

Data Platform

As you’d imagine, every type of IoT platform deals with data in some way. IoT data platforms serve the function of combining many of the tools you need to manage / visualize data analytics and them route them as needed.

IoT Platform Verticals

Placing these IoT platforms into categories is really being too simple with them. The breadth of functionality for each makes it so that they don’t fit into a single category. The most logical way of looking at them is what they offer for different interests and related users:

Hobbyists / Prototyping Solutions / Utilities / Live Search (A.I.) Applications / Development Kits / DIY solutions / Consumer Electronics / Home automation / Wearables / Industrial IoT (IIoT) Solutions / Smart factory warehousing applications / Predictive and remote maintenance / Industrial security systems / Asset tracking and smart logistics/ Transportation monitoring / Energy optimization / Connected logistics / Agriculture Industry / Healthcare Industry / Energy Industry / Smart Cities

What to Look for When Examining Platforms

It’s definitely helpful to know what you should be looking for, based on your intended solution:

  1. Connectivity

How effectively is the vendor’s network coverage fitting your business’ current and future initiatives?

  1. Method of Connectivity

What type of connectivity is needed? Will a Wi-Fi or cellular solution be best for your IoT product? Assess these needs and then determine how the vendor can address them.

  1. Market Longevity

Looking at how long the IoT platform been in business is helpful. The space itself is relatively new, but building has occurred quickly and a lot can and will change in a very short period of time. Aim to find an IoT platform that has been offering services for 4+ years at a minimum.

  1. Type of Service

How does the IoT platform describe and sell themselves? Some will be purely connectivity platforms, some will be end-to-end solutions that offer hardware and software to go along with connectivity. How one will suit you best comes about after assessing your business needs. How will they change over time?

  1. Geographic Coverage

Is an embedded sim with global support provided? Is this IoT platform one that covers the regions your business needs? Looking over all aspects of your global reach needs should be part of the consideration as well.

  1. Data Plan

Is a fair data plan included with the platform? The ability to pause or suspend your data services at any time and the ability to control how much data that is used should be on your checklist.

  1. Security / Privacy

Look into the platform and specifically how they’ve dealt with security and privacy issues and reviewed their security content as needed to date. Evaluate how their platform combats security issues frees you from having to do that yourself.

  1. Managed Integrations / API Access

How does the vendor integrate every complexity required for the IoT connectivity you’re after – cellular modems, carrier / sim cards, device diagnostics, firmware updates, cloud connections, security, application layer, RTOS. The best ones will consolidate all into a simple package that works out to very little of it ending up on your plate.

  1. Data Access

How easy does it look to be to take the data acquired through the IoT platform and then integrate it with your enterprise back ends and current cloud service? How will this data then be used? Does the service match those needs?

  1. IoT Ecosystem

The relationships between the services the IoT platform offers should be clearly understood. This will help you learn how their services can be of assistance in helping you build your product

  1. IoT Roadmap

The expansion of IoT platforms is going to continue ahead at full steam. Does this IoT platform’s roadmap match your organization’s needs, and will expansions into connectivity, data, and hardware be helpful for you?

  1. OTA Firmware Updates

How does the vendor allow you to send updates and fix bugs on your devices remotely? It is a simple process, or a complex one. Obviously, simpler is far preferable.

Good Ones

  • Particle — Particle is an enterprise IoT platform that’s ideal for building an IoT product, from Device to Cloud.
  • Salesforce IoT — Maximizes your business efforts with IoT cloud services.
  • Microsoft IoT Azure — Very popular, and enhances operational productivity and profitability by means of a preconfigured connected factory solution.
  • Artik Cloud — The ARTIK IoT platform is ideal for IoT open data exchange
  • Google Cloud’s IoT Platform — integrated services that get high marks from end users and allow you to easily and securely connect, manage, and internalize IoT data
  • IBM Watson IoT — IBM’s new Watson Internet of Things (IoT) is a cognitive system that picks up on AI and then practicalizes it for use within IoT functionality.
  • Xively Platform — an enterprise IoT platform to help accelerate your connected product or service.

These are just a few of many that seem well-received by developers.