fbpx
vshosting~

What sets the Platform for Kubernetes service from vshosting~ apart from similar solutions by Amazon, Google or Microsoft? There is a surprising amount of differences. 

Kubernetes services development

Clients often ask us how our new Platform for Kubernetes service differs from similar products by Amazon, Google or Microsoft, for example. There are in fact a great many differences so we decided to dig into the details in this article.

Individual infrastructure design

The majority of traditional cloud providers offer an infrastructure platform, but the design and individual creation of the infrastructure is left to the client – or rather to their developers. The overwhelming majority of developers will of course tell you that they’d rather deal with development than read a 196-page guide to using Amazon EKS. Furthermore, unlike most manuals, you really need to read this one since setting up Kubernetes on Amazon isn’t very intuitive at all. 

At vshosting~ we know how frustrating this is for most companies. The development team should be able to concentrate on development and not waste time on something that they’re not specialised in. Therefore, we make sure that unlike traditional cloud services, our Kubernetes solution is tailor-made for each client. With us, you can skip the complex task of choosing from predefined packages, reading overly long manuals, and having to work out which type of infrastructure best meets your needs. We will design Kubernetes infrastructure exactly according to the needs of your application, including load balancing, networking, storage and other essentials. 

In addition, we would love to help you analyse your application before switching to Kubernetes, if you don’t already use it. Based on your requirements we’ll recommend you a selection of the most suitable technologies (consultation is included in the price!), so that everything runs as it should and any subsequent scaling is as straightforward as possible. 

In terms of scaling, with Zerops it’s simple. Again there is no choosing from performance packages etc. at vhosting~ you simply scale according to your current needs, no hassle. We also offer the option of fine scaling for only the required resources. Does your application need more RAM or disk space because of customer growth? No problem. 

After we create a customised infrastructure design, we’ll carry out the individual installation and set up of Kubernetes and load balancers before putting it into live operation. Just for some perspective, with Google, Amazon or Microsoft, all of this would be on your shoulders. At vshosting~ we carefully fine-tine everything in consultation with you. Once launched, Kubernetes will run on our cloud or on the highest quality hardware in our own data centre, ServerPark. 

The option of combining physical servers and the cloud

Another benefit of Kubernetes from vshosting~ is the option of combining physical servers with the cloud – other Kubernetes providers do not allow this at all. With this option you can start testing Kubernetes on a lower performance Virtual Machine and only then transfer the project into production by adding physical servers (all at runtime) with the possibility of maintaining the existing VMs for development. 

For comparison: Google will for example offer you either the option of on-prem Google Kubernetes Engine or a cloud variant, but you have to choose one or the other. What’s more, you have to manage the on-prem variant “off your own back”. You won’t find the option of combining physical servers with the cloud with Amazon or Microsoft. 

You save up to 50% compared to global Kubernetes providers. Take a look at how we compare.

vshosting~
Global Kubernetes providers

With us you can combine physical servers with the cloud as you see fit and we’ll also take care of administration – leaving you to focus on development. We’ll oversee the management of the operating systems for all Kubernetes nodes and load balancers and we’ll provide regular upgrades of operating systems, kernels etc. (and even an upgrade of Kubernetes, if agreed).

High level of SLA and senior support 24/7

One of the most important criteria in choosing a good Kubernetes platform is its availability. You might be surprised to learn that neither Microsoft AKS nor Google GEK provide a SLA (financially-backed service level agreement) and only claim to “strive to ensure at least 99.5% availability”. 

Although Amazon talk about a 99.9% SLA, when you look at their credit return conditions, in reality it’s only a guarantee of 95% availability – since Amazon only return 100% of credit below this level of availability, If availability drops only slightly below 99.9%, they only return 10% of credit. 

At vshosting~ we contractually guarantee 99.97% availability, that is to say more than Amazon’s somewhat theoretical SLA and significantly more than the 99.5% not guaranteed by Microsoft and Google. In reality, availability with vshosting~ is more like 99.99%. In addition., our Managed Kubernetes solution works in high-availability cluster mode which means that if one of the servers or part of the cloud malfunctions the whole solution immediately starts on a reserve server or on another part of the cloud. 

We also guarantee high-speed connectivity and unlimited data flows to the whole world. In addition we ensure dedicated Internet bandwidth for every client. Our network has capacity up to 1 Tbps and each route is backed up many times over.  

Thanks to the high-availability cluster regime, high network capability, and back up connection, the Kubernetes solution from vshosting~ is particularly resistant to outages of any part of the cluster. Furthermore, our experienced team will continuously monitor your solution and quickly identify any issues that emerge before they can have an effect on the end user. We also have robust AntiDDoS protection which effectively defends the entire cluster against cyber attacks. 

Debugging and monitoring of the entire infrastructure

Unlike traditional cloud providers, at vshosting~ our team of senior administrators and technicians monitor your solution continuously 24 hours a day directly from our data centre and will react to any problems which may arise within 60 seconds – even on Saturday at 2am. These experts continuously monitor dozens of parameters relating to the entire solution (hardware, load balancers, Kubernetes) and as a result are able to prevent most issues before they become a problem. In addition, we guarantee to repair or replace a malfunctioning server within 60 minutes. 

To keep things as simple as possible, we’ll provide you with just one service contact for all your services-  whether it’s about Kubernetes itself, its administration or anything to do with infrastructure. We’ll take care of routine maintenance and complex debugging. Included in the Platform for Kubernetes price we also offer consultation regarding specific Dockerfile formats (3 hours a month).


vshosting~

DevOps and containerisation are among the most popular IT buzzwords these days. Not without reason. A combination of these two approaches happens to be one of the main reasons why developer work keeps getting more efficient. In this article, we’ll focus on 9 main reasons why even your project could benefit from DevOps and containers. 

A couple of introductory remarks

DevOps is a composition of two words: Development and Operations. It’s pretty much a software development approach that emphasizes the cooperation of developers with IT specialists taking care of running the applications. This leads to many advantages, the most important of which we will discuss shortly.

Containerization fits into DevOps perfectly. We can see it as a supportive instrument of the DevOps approach. Similar to physical containers that standardised the transportation of goods, software containers represent a standard “transportation” unit of software. Thanks to that, IT experts can implement them across environments with hardly any adjustments (just like you can easily transfer a physical container from a ship to a train or a truck).

Top 9 DevOps and container advantages

1) Team synergies

With the DevOps approach, developers and administrators collaborate closely and all of them participate in all parts of the development process. These two worlds have traditionally been separated but their de facto merging brings forth many advantages. 

Close cooperation leads to increased effectiveness of the entire process of development and administration and thus to its acceleration. Another aspect is that the cooperation of colleagues from two different areas often results in various innovative, out of the box solutions that would otherwise remain undiscovered. 

2) Transparent communication

A common issue not only in IT companies is quality communication (or rather lack thereof). Everybody is swamped with work and focuses solely on his or her tasks. However, this can easily result in miscommunication and incorrect assumptions and by extension into conflicts and unnecessary workload. 

Establishing transparent and regular communication between developers and administrators is a big part of DevOps. Because of this, everyone feels more like a part of the same team. Both groups are also included in all phases of application development. 

3) Fewer bugs and other misfortunes

Another great DevOps principle is the frequent releasing of smaller parts of applications (instead of fewer releases of large bits). That way, the risk of faulty code affecting the entire application is pretty much eliminated. In other words: if something does go wrong, at least it doesn’t break the app as a whole. Together with a focus on thorough testing, this approach leads to a much lower number of bugs and other issues.

If you decide to combine containers with DevOps, you can benefit from their standardisation. Standardisation, among other things, ensures that the development, testing, and production environments (i.e. where the app runs) are defined identically. This dramatically reduces the occurrence of bugs that didn’t show up during development and testing and only present themselves when released into production. 

4) Easier bug hunting (and fixing)

Eventual bug fixes and ensuring smooth operation of the app is also made possible by the methodical storage of all code version that’s typical for DevOps. As a result, it becomes very easy to identify any problem that might arise when releasing a new app version.

If an error does occur, you can simply switch the app back to its previous version – it takes a few minutes at the most. The developers can then take their time finding and fixing the bug while the user is none the wiser. Not to mention the bug hunting is so much easier because of the frequent releases of small bits of code. 

5) Hassle-free scalability and automation

Container technology makes scaling easy too and allows the DevOps team to automate certain tasks. For example, the creation and deployment of containers can be automated via API which saves precious development time (and cost). 

When it comes to scalability, you can run the application in any number of container instances according to your immediate need. The number of containers can be increased (e.g. during the Christmas season) or decreased almost immediately. You’ll thus be able to save a significant amount of infrastructure costs in the periods when the demand for your products is not as high. At the same time, if the demand suddenly shoots up – say that you’re an online pharmacy during a pandemic – you can increase capacity in a flash. 

6) Detailed monitoring of business metrics

DevOps and containerization go hand in hand with detailed monitoring, which helps you quickly identify any issues. Monitoring, however, is also key for measuring business indicators.  Those allow you to evaluate whether the recently released update helps achieve your goals or not. 

For example: imagine that you’ve decided to redesign the homepage of your online store with the objective of increasing the number of orders by 10 %. Thanks to detailed monitoring, you can see whether you’re hitting the 10 % goal or not shortly after the homepage release. On the other hand, if you made 5 changes in the online store all at once, the evaluation of their individual impact would be much more difficult. Say that the collective result of the 5 changes would be the increase of order number by 7 %. Which of the new features contributed the most to the increase? And don’t some of them cause the order number to go down? Who knows.

7) Faster and more agile development

All of the above results in significant acceleration of the entire development process – from writing the code to its successful release. The increase in speed can reach 60 % or even more (!). 

How much efficiency DevOps will provide (and how much savings and extra revenue) depends on many factors. The most important ones are your development team size and the degree of supportive tool use – e.g. containers, process automation, and the choice of flexible infrastructure. Simply put, the bigger your team and the more you utilise automation and infrastructure flexibility, the more efficient the entire process will become. 

8) Decreased development costs 

It is hardly a surprise that faster development, better communication and cooperation preventing unnecessary work, and fewer bugs lead to lowering development costs. Especially in companies with large IT departments, the savings can reach dozens of percent (!).

Oftentimes the synergies and higher efficiency show that you don’t need to have, say, 20 IT specialists in the team. Perhaps just 17 or so will suffice. That’s one heck of a saving right there as well.

9) Happier customers

Speeding up development also makes your customers happy. Your business is able to more flexibly react to their requests and e.g. promptly add that new feature to your online store that your customers have been asking for. Thanks to the previously mentioned detailed monitoring, you can easily see which of the changes are welcomed by your users and which you should rather throw out of the window. This way, you’ll be able to better differentiate yourself from the competition and build up a tribe of fans that will rarely go get their stuff anywhere else. 

Key takeaways

To sum it all up, from a developer’s point of view, DevOps together with containers simplify and speed up work, improve communication with administrators, and drastically reduce the occurrence of bugs. Business-wise this translates to radical cost reductions and more satisfied customers (and thus increased revenues). The resulting equation “increased revenues + decreased costs = increased profitability” requires no further commentary. 

In order for everything to run as it should, you’ll also need a great infrastructure provider – typically some form of a Kubernetes platform. For most of us, what first comes to mind are the traditional clouds of American companies. Unfortunately, according to our clients’ experience, the user (un)friendliness of these providers won’t make things easier for you. Another option is a provider that will get the Kubernetes platform ready for you, give you much needed advice as well as nonstop phone support. And for a lower price. Not to toot our own horn but these are exactly the criteria that our Kubernetes platform fits perfectly. 

Example of infrastructure utilising container technology – vshosting~


vshosting~

Our clients often ask how our new service Platform for Kubernetes differs from similar products provided by e.g. Amazon, Google, etc. There are quite a few distinctions so we decided to describe them in detail in this article.

Individualised Infrastructure Design

Most of the traditional clouds provide a platform for the infrastructure but the design and creation itself remains the clients’ responsibility – or more accurately, the clients’ developers’ responsibility. Most developers, however, would much rather spend their time developing (surprise!) as opposed to reading a 196-page manual on how to use Amazon EKS. Unlike most manuals in life, this one really needs to be read – setting up Kubernetes on Amazon is not particularly intuitive.

In addition, we’re happy to assist you in analysing your application readiness for transfer to Kubernetes, if it’s not utilising it yet. Based on your requirements, we’ll also help you select the most suitable technologies (at no extra cost!) to make sure everything works the way it should and so that eventual scaling is as easy as possible. 

At vshosting~, we understand how frustrating this can be for many companies. The development team should concern themselves with development and not waste time on something outside their expertise. Therefore, unlike traditional clouds, we put great emphasis on custom designing the Kubernetes solution ourselves for each client. There’s no need to engage in complicated selection among predefined packages, read lengthy manuals or wreck your brain thinking about the best infrastructure design. We’ll prepare the Kubernetes infrastructure precisely based on the needs of your application, including load balancing, networking, storage, and other necessities.

Speaking of scaling: that’s exceedingly simple with our Kubernetes solution. Again: no package selection required. At vshosting~, you simply scale up or down with full flexibility, exactly according to your current needs. We also offer the option of fine scaling of only the necessary resources. Does your application need more RAM or disc space because you got a lot of new clients? No problem.

Once we finish designing your fully customised infrastructure, we conduct an individualised installation and set up Kubernetes and load balancers before transferring everything to live traffic. Just to clarify – all of these tasks would be your responsibility if using Google’s, Amazon’s, or Microsoft’s Kubernetes solution. We’ll carefully tweak everything in close cooperation with you. After launching, Kubernetes will run on our cloud or hardware in our own data center ServerPark.

Option to Combine Physical Servers with Cloud 

Another advantage of Kubernetes from vshosting~ is that you can combine cloud and physical servers as needed – other Kubernetes providers don’t offer this. Thanks to this feature, you can e.g. start testing Kubernetes on a Virtual Machine with lower performance and only after that transfer the project to production by adding physical servers (all that with zero downtime) with eventual maintenance of the current VMs for development purposes.

Point of comparison: e.g. Google offers either the option of on-prem Google Kubernetes Engine or running Kubernetes in the cloud but you have to choose one or the other. Plus you have to manage the on-prem variant on your own. You won’t find a physical server + cloud combo option at Amazon or Microsoft either.

At vshosting~, you can mix and match physical servers and cloud as you please and we take care of the entire management to boot. You can focus solely on development and leave the operations to us. We take care of managing the operating systems of all Kubernetes nodes and load balancers, ensure upgrades of operating systems, kernel, etc. (we can even upgrade Kubernetes itself if you like). 

High SLA and 24×7 Senior Support 

One of the most important criteria when choosing a good Kubernetes platform is its availability. Which is why it may come as a surprise that neither Microsoft AKS nor Google GEK offer an SLA (i.e. a „financially-backed service level agreement“) and only claim that they’ll “do their best to ensure the availability of at least 99,5%“.

Amazon EKS does mention a 99,9% SLA but considering their credit refund conditions, it is, in fact, more of a 95% availability guarantee – only below that level does Amazon refund 100 % of your credit. In the event of only a small drop below 99,9% availability, just 10 % of your credit gets refunded.

At vshosting~, we contractually guarantee 99,97% availability: that is even more than the somewhat theoretical SLA at Amazon and much more than the not-guaranteed 99,5% availability at Microsoft and Google. In reality, our availability hovers around 99,99 %. In addition, our managed Kubernetes solution also operates in the high-availability cluster mode, so if a server or a part of the cloud malfunctions, the solution immediately starts running on a backup server or in a different part of the cloud.

Moreover, we guarantee high-speed connectivity as well as unlimited data streams to anywhere in the world. Each client also gets a guaranteed dedicated bandwidth. Our network has a capacity of up 1 Tbps and each pathway is backed up multiple times. 

Thanks to the high-availability cluster mode, high network capacity, and backed up connection, the vshosting~ Kubernetes solution is exceptionally resistant to outages of any part of the cluster. Besides, our experienced teams are continually monitoring your solution and quickly identify eventual beginning problems before they can manifest to the end-user. We also have robust AntiDDoS protection which effectively prevents any cyberattacks on the cluster.

Debugging and Monitoring of the Entire Infrastructure

In contrast to the traditional clouds, at vshosting~, teams of senior administrators and technicians that sit directly in our datacentre watch over your solution 24/7. In the event of a problem, they react within 60 seconds – even at, say, 2 am on a Saturday. These experts are monitoring dozens of parameters of the entire solution (hardware, load balancers, Kubernetes) and as a result, can eliminate most of the problems before they start causing trouble. On top of all that, we guarantee a repair or an exchange of a malfunctioning server within 60 minutes.

For maximum simplification, you’ll get a single contact from us that you can use for all services you have with us: be it Kubernetes itself, its management, or anything regarding infrastructure. We’ll take care of standard maintenance as well as complicated debugging. Consultations regarding the concrete form of Docker files (3 hours monthly) are also included in the price of our Platform for Kubernetes service.


vshosting~

Most manuals for application dockerization that you’ll find online are written for a specific language and environment. We will, however, look into general guidelines meant for virtually any type of application and show you, how to ensure their operation in Docker containers.

Base Image Selection

For issue-free operation and further simple edits and upgrades, choosing the most ideal (and author-supported) base image is critical. Considering that absolutely anyone can upload an image to the Docker Hub, it is advisable to take a close look at your selected image and make sure that it contains no malicious software or e.g. outdated library versions with security issues. 

Images labeled as “Docker certified” are a good choice for the start as that status is a certain guarantee that the image is legitimate and regularly updated. Good examples of such images are PHP or Node.js.

Furthermore, we can recommend the Bitnami company collection that contains a number of ready-made image applications and development environments. 

Additional Software Installation

Depending on the image you have chosen for your project, you can install extra software so that all prerequisites necessary for smooth application operation are fulfilled.  

The best solution is the use of a package distribution system, on which the image is based (usually Ubuntu/Debian, Alpine Linux, or CentOS). It is also very important to maintain the narrowest possible list of installed software, e.g. not install text editors, compilators, and other development tools into the containers.

Own Files in the Docker Image

You’ll also want to add your own files into the final image – be it configuration, source codes, or binary files from the app. In Dockerfile, the commands ADD or COPY are used, COPY being more transparent but not allowing for some more advanced functions such as archive unpacking into the image.

Authorisation Definition

Despite it being the easiest way, avoid running the app in a container as the root user. This poses many security risks and increases the chance of container leak if the application becomes compromised or if a security error in third-party software you’re using is exploited.

Service Port Definition

If your application doesn’t use the root user or has no enhanced capabilities (CAP_NET_ADMIN), it is not possible to utilise the so-called privileged ports. (1-1024). However, that is not necessary for Docker. Use any higher port (e.g. 8080 and 8443 in place of 80/443 with a web server) and conduct port mapping via the  Docker parameters.

Running the Application in the Container

However easy it is to directly run the binary file of your application(or web server, Node.js, etc.), the much more sophisticated way is to create your own so-called entrypoint – that is a script, which will conduct the initial application configuration, can react to a variable environment etc. We can find a good example of this solution in the official PostgreSQL image.

Configuration Methods

Most applications require correct configuration to run properly. It is certainly possible to directly use a configuration file (e.g. in a mounted directory on the outside of the container) but in most cases, it is better to use a prepared entry point script, which will prepare proper configuration for running the application using a template and the variable environment of the container.

Application Data

Avoid saving data to the container filesystem – in the standard configuration, all the data will be deleted after the container is restarted. Use bind mounts (addressbook outside the container directory on the outside of the container) or mounted volume.

In addition, it is necessary to figure out how to save/send logs. The best option is certainly using centralised logging for all of your applications (ELK stack), however, even a basic  remote syslog does a good enough job.

What next?

There is always room for improvement. Beyond the scope of this article is considering different configuration management options, ELK stack for logging, application and system metrics collection via Prometheus, and the option of reaching load balancing and high-availability for your application using Kubernetes – which at vshosting~, we will gladly build for you and tailor it to your application’s needs 🙂


We have successfully assisted with migrations for hundreds of clients over the course of 17 years. Join them.

  1. Schedule a consultation

    Simply leave your details. We’ll get back to you as soon as possible.

  2. Free solution proposal

    A no commitment discussion about how we can help. We’ll propose a tailored solution.

  3. Professional implementation

    We’ll create the environment for a seamless migration according to the agreed proposal.

Leave us your email or telephone number




    Or contact us directly

    +44 3301 900 777 Available 24/7
    consultation@vshosting.co.uk
    Copy
    We'll get back to you right away.