I’ve decided to post about something most data platform professionals deal with at one stage or another. Building a test environment for use outside of work. You can also consider this a primer for future posts.
Now if you’re lucky your workplace already has a test environment where you can test things remotely. However, as you do more advanced work you might want to build a test lab.
If you’re not keen on doing this outside of work that’s entirely up to you. However, building one does bring you many advantages such as testing new things safely.
Local or cloud based
When you look to do this, you have many options to choose from. Do you look to use a solution locally or a cloud-based solution like Azure for instance? To be honest the best answer for this is that it depends on your needs.
If you already use a cloud solution in the workplace your employer might have provided you with somewhere to test deployments and services. Naturally if you are heavily working with cloud-based solutions and using a Platform as a Service offering this is the most sensible option for you.
Now if you have a Visual Studio subscription, then you should have some Azure credit to use every month.
For those of you who don’t know Visual Studio subscription is the new name for the MSDN subscription.
People who have been awarded the Microsoft MVP award get a generous amount of credit to use in Azure every month.
If you have a subscription or you are an MVP and you’re not using these credits, then you probably should look through your email archives and find the emails relating to them.
However, you might want to build it locally for various reasons. For example, you want to use it whilst commuting and you can’t guarantee a good internet connection. It could just be down to personal choice, and that’s entirely fine.
If you decide to go for a local option you’ll miss out on being able to test the latest cloud offerings. However, at the same time you’ll never run of credit for deploying new things.
Doing it locally also poses some questions. Do you build full Virtual machines by using something like Hyper-V that comes free with Windows 10 Pro? Or do you want to use something lightweight like the fairly new Docker technology.
If you build full Virtual Machines you will probably use more space and resources on your machine. At the same time though it does give you more flexibility.
If you’re using Hyper-V, there are some ways to increase your productivity which I will post about at a later date.
Maybe you just want to test things in SQL quickly. In that case fast deployments using Docker containers are fine. Containers are simply lightweight application packages that are bolted on top of your Operating System for use.
Think of them like a bubble that contains an application and its configuration that can be moved between machines for use.
Since the recent announcements about SQL Server 2019 and kubernetes interest in container technologies has increased. This increase might be another reason to use containers.
Just remember that the SQL Server on Linux containers that are available are based on the Ubuntu and Red Hat Linux distributions. This means if you want to test deployments based on another distribution the experience will be different.
At the end of the day you must decide whatever is best for you. Personally I like to have flexibility. Therefore I favor using Hyper-V on my laptop to test some things.
There’s an increasing number of options you can choose from. All these options have resources in books and online to guide you along the way.
I like to explore and keep up with the changes on the market. So expect future updates. If you have a strong personal preference feel free to comment below.