Gelo’s Laboratory

*Featured Image is from Dexter’s Laboratory, no Copyright Infringement intended.

User Story

As we move to an era of insight-driven everything, some people might want to accompany me in my journey to enlightenment. Pain is relative to the receiver, some IT Professionals might find setting up his own virtual laboratory to be easy, while others might be struggling with it. To provide those people some direction in installation, we are creating this post.

In the future we might provide those who are struggling with step by step instructions on how to make their own playground.

Getting Started

To setup your own Virtual laboratory / sandbox / playground that can replicate whatever that I am writing here you may need to download the following installers:

  • Windows Server
  • Visual Studio Community Edition
    • + SQL Server Reporting Services Extension
    • + SQL Server Analysis Services Extension
  • SQL Server Management Studio
  • SQL Server Developer Edition
  • Microsoft Power BI
  • Microsoft Office or Microsoft Power Query Excel Add-in

The versions are omitted because, as much as possible, we want to work with the latest release of these installers. When installing make sure that you are: updated with the latest patches on your windows and have your windows rebooted. We’ve encountered pending restart errors during installations.

My System Specifications are:

OS Windows 10 Enterprise N Creator’s Update – 64bit -> Before I installed this, I wasn’t paying close attention to what I am doing, I ended up installing the media-less version of Windows. I need to install the Media Feature pack.

64 bit is essential for the latest version of SQL Server and for crunching large amounts(>2GB) of data in PowerBI.

Windows 10 Pro/Enterprise is needed for its Hyper-V feature. You have to enable Hyper-V in the windows features so that you can create your own virtual machines and networks. Although you may prefer other hypervisor like VMware or Oracle’s virtual box, Microsoft’s Hyper-V allows us to create emulators for windows phone, android phone, and hololens.

Of course, there are a couple of Dark Arts written on VMware which allows you to create MacOS VMs (hence allowing us to fully utilize Xamarin) but I am quite doubtful if Apple’s License permits it.

I haven’t tried windows 8 or 8.1 so I cannot really judge it’s capabilities, but a windows 7 SP1 will not suffice our purposes because SQL Server 2016 (even the LocalDb) no longer supports it.

CPU Intel core i7 6700HQ -> This processor supports Virtualization (VT-x) which allows me to create virtual machines on my laptop.

A good CPU is used for virtual machines or computations. A quad core (intel i5 ) would suffice if you are not going to simulate complex virtual IT Infrastructure.

RAM 16 GB (Kingston Hyper X Fury, DDR3 1600 Mhz) -> I’m still studying if I can use two 32GB DDR4 RAM on my laptop since the CPU can support it. Still verifying if the Mother Board can support it. If I can do that it might enable me to do a demonstration of the Azure Stack Proof of Concept.

Without good RAM (4GB and above) you will find it hard to develop mobile applications or simulate different server setups.

Hard Disk 1TB SSD (Samsung 850 EVO) -> I used to have 240GB SSD which is just enough for my development tools and source codes. The 1 TB Upgrade allows me to store Virtual Machines on the SSD, hence faster boot time and more fire power whenever my participants needs to query the sample database on my virtual machine.

1TB HDD (Western Digital 5400 RPM) -> for all other (Media, base virtual hard drives, installers, etc), I am dreaming to upgrade this to a 2TB or a 3TB HDD so that I could demonstrate the Azure Stack proof of Concept.

For a consumer laptop to have two hard drives, you must remove your DVD Drive, and replace it with a hard drive on a Drive Caddy.

Without an extra high capacity hard drive, you will find it difficult to maintain virtual machines.

Video Card 4GB NVIDIA GeForce GTX 950M, 1920×1080 Resolution -> I am not quite sure yet if I can do VR Development on my video card because there was no explicit requirement in Unity. But investing in a good video card will help you not only in game development but also in deep learning (TensorFlow and Microsoft Cognitive Toolkit).
A VRPH Ambassador advised that the minimum Video Card requirement for Desktop VR is GTX 970 (GeForce Experience Recommended GTX 1060). Any graphics card lower than this will render you incapable of testing your application.

For Hololens/MixReality development the recommendation is the same for Desktop VR. But the bare minimum is any GPU that can support DirectX 11 and WDDM 1.2 which will allow you to test your application through the Hololens Emulator.

Video card requirements varies per type of development. You are rendering yourself incapable of doing graphics related development (such as game development or 3d data visualization) if you don’t have a strong graphics card.

Internet Connection PLDT HomeDSL (5 Mbits/s Down, 170 Kbit/s Up), Globe Mobile data (varies from 150Kbit/s to 25MBit/s Down/Up).

I am dreaming to have an internet connection with more than 1MBit/s Upload speed so that I could livestream my demonstrations.

Without Internet connection you won’t be able to use NuGet Package manager and other package managers.

Others You have to have a Microsoft Account, and apply for the Dev Essentials Benefit. If you have a credit card you can activate the $25/Month Azure Credits benefit which will allow you to proceed with anything related to Azure.

For students you can Register for Microsoft Imagine and verify your student status to activate your free-tier Azure account. The Microsoft Imagine account with verified student status gives you a window to bypass the credit card requirement, and gives you an azure account which can deploy App Service and Azure SQL Database Service for free.

You also need the DevEssentials for a free Visual Studio Online Repository (Source Control, automated tests, continuous deployment, release management, etc).

Without a Microsoft Account, Visual Studio Community Edition will expire after 30 days. It will also expire if you haven’t been connected to the internet for more than 30 days.

Other Free Tools that you may want to utilize

These tools deserves a blog post of their own.

  • Visual Paradigm Community Edition
  • Devart’s SQL Complete
  • Red Gate’s SQL Search
  • Code Compare
  • Visual Studio Extensions
    • SuperCharger
    • Viasfora
    • Productivity power Tools 2017
    • Web Essentials 2017
    • Color Theme for Vs2017
    • ClaudiaIDE
    • SQLite / SQL Server Compact Toolbox
    • Javascript Map Parser
    • Other Stuff to be added later

Getting Things Done

The installation of all these things are quite simple, except for SQL Server. As a matter of fact setup and installation is already considered as a specialization. We will cover each of those as we progress with our journey.

  1. Install visual studio community edition
  2. Install the visual studio extensions.
  3. Install SQL Server Management Studio
  4. Install Microsoft Power BI.
  5. If you have Microsoft office 2013, install the excel power query add in.
  6. Install the other stuff, but watch out some of my extensions might conflict with your other preferred extension.
  7. Enable Hyper-V on windows features
  8. Create an internal virtual network, and “enable virtual LAN identification for management operating system”. This will allow your laptop to communicate with the VM. In my case I also create and external network so that other computers can communicate with the VM.
  9. Create a virtual machine with 4GB RAM, 40GB Drive Space, four CPUs, and two DVD Drives. Mount the windows server and SQL server installers on the DVD drives and Install Windows Server with UI on that VM. After that install SQL server checking only the Database Engine.
  10. A book (Administering Microsoft SQL Server 2012 Databases Training kit by Orin Thomas, Peter Ward, & Bob Taylor) that prepares you for Microsoft Certification will require you to create five different virtual machines. One of them is a domain controller. This is enough to cover majority of the things that you need to know on SQL Server (sadly, no RAID configurations).