Internet of Things – be careful what you wish for…

Fancy waking up to a David Guetta concert at 3am in your house, with your smart lights pulsing, or in your neighbourhood or how about your entire city..?

A hacker might!

In a series of three separate blogs, Cloud Computing and Virtualisation specialist, Graham F French, looks at the darker side of these progressive technologies.

The ‘Internet of Things‘ is a catch all title, describing innumerable objects and devices that are directly or indirectly conected to the Web.

Depending on who you believe, there will be something like 26 to 30 billion ‘things’ connected to the Internet by 2020. One of the main areas of growth in this tech sector is home based ‘intelligent’ devices. That could be one of any number of things;

  • Heating
  • Lighting
  • Washing Machine
  • Fridge/Freezer
  • Smart TV
  • Home Security
  • Smart Meters
  • Broadband router

Not forgetting your smartphones, tablets, laptops, NAS storage devices and computers, this makes up for a lot of devices that a single household could potentially have connected to the Internet.

Each device, regardless of size or complexity, needs an operating system in order to allow it to carry out it’s normal function and also connect to the home network and the Internet. This is easily understandable for your iPad or iPhone, but it’s also the same for your remote controlled lightbulb, washing machine or broadband router. These other sorts of devices are likely to utilise an open source operating system, called Linux.

One of the main concerns in the home based Internet of Things, is one of security. More specifically, the difficulty in keeping all of the different devices patched and updated. That’s assuming of course that the vendor is either willing or able to create, test and distribute updates in a timely fashion. Or at all…

Even today, many broadband routers are hopelessly out of date when it come to security patching. And these devices are more than likely provided by your chosen ISP, so you’d think that they would at least try a bit harder. Given that most vendors rely on the ‘if it ain’t broke, don’t fix it’ mantra, the chances of getting your web connected fridge/freezer or washer updated on a regular basis are next to none existent.

So where does this leave the average person, who is more likely to be more concerned with updating their Facebook status, rather than their growing list of Internet enabled devices?

Well, that’s easy. It leaves us wide open. All it takes is a group of hackers to utilise a small number of vulnerabilities common to most connected homes and you’ve got chaos.

Take my home town of Newcastle upon Tyne, with a population of almost 280,000. How many of those need to be rudely awakened at 3 am with an impromptu light and sound show from David Guetta to make it onto the global news front page? Fifty thousand, ten thousand or just enough to make it look bigger than it is..? Two or three thousand should do it.

Plus you won’t need an hour long concert either. Sixty seconds of it will cause enough of an alarm to get everyone’s attention. Do that three times in the same week and you’ll have every armchair critic and his dog remonstrating against this modern day ‘scurge’.

The Internet of Things will bring a huge change to how we run our everyday lives, in ways that we currently only dream of. But, for the sake of a good night’s sleep, make sure you keep them up to date.

 

Coming soon in this series of three blogs about the Internet of Things – Want to create a UK power blackout? Turn on your washing machine…

Be Sociable, Share!

{ 0 comments }

VMware EVO:RAIL

VMware have announced their Hyper-Converged Infrastructure Solutions package, called EVO:RAIL. EVO stands for an evolutionary technology. It’s very much the vSphere in a box solution that other vendors have been threatening to produced over the years, some have had some success with it.

However, after watching the youtube presentation here, it’s looking like a very accomplished piece of engineering and automation. Something that I continually advocate to anyone who sits still long enough!!

There’s also an offering called EVO:RACK, which is for a larger implementation of the same technology, more of a private/public vCloud data centre in a box approach. For more information, see the official VMware CTO blog here.

Be Sociable, Share!

{ 0 comments }

Goodbye vCHS – Hello vCloud Air

Not that I’m claiming that VMware are copying from the same homework as Apple, but I’ve already got an iPad with the same name…

At last they have seen the light and gotten rid of that terrible brand, vCHS.

VMware announced their newly branded on-demand cloud as ‘vCloud Air’. There are two data centres in the UK, the latest opening in October 2013.

If you want to get your hands on this, via the Hands on Labs, take a look here.

The official VMware press release is available here.

Be Sociable, Share!

{ 0 comments }

VMworld 2015 – Dates and Locations

The dates and locations for the VMworld 2015 have been announced as follows;

VMworld US will be in San Francisco again, August 30th – September 3rd 2015

VMworld Europe will in Barcelona again, October 13th – 15th 2015

Be Sociable, Share!

{ 0 comments }

vSphere Hardening Guides

Security is usually the last thing that gets considered in a design or when you are implementing a new virtualised environment. However, there are lots of industries and government organisations where security is their first and foremost concern.

As I’ve worked in both finance and Central/Local Government organisations, the main question you will often hear, is how do I ensure that this is secure…?

Security is a multi-layered approach and is more of a journey, rather than a destination. There is no magic silver bullet solution and one size does not fit all. Every environment and organisation has different requirements and their approach to risk is unique in each case.

If security is a concern in your environment, I’d advise on hardening the vSphere environment as one of the many layers of defence. VMware publish hardening guides for their platform. Click on the link below for further information.

http://www.vmware.com/security/hardening-guides.html

Be Sociable, Share!

{ 0 comments }

Using PowerCLi with vCloud

I’ve been looking at using PowerCLi with vCloud. I use it extensively with vSphere, so how much different can it be? The answer is subtly different. The methods of connecting are similar, but the commands used are reassuringly familiar!

First of all you need to connect to a vCloud Director Server;

Run Connect-CIServer with the server name and valid credentials.

Connect-CIServer -Server cloud.example.com -User ‘MyAdministratorUser’ -Password ‘MyPassword’

 

To create a vApp from a template

Retrieve the organization vDC to which you want to add the new vApp.

$myOrgVdc = Get-OrgVdc -Name ‘MyOrgVdc’

Retrieve the source vApp template for your new vApp.

$myVAppTemplate = Get-CIVAppTemplate -Name ‘MyVAppTemplate’

Create your new vApp.

$myVApp = New-CIVApp -Name ‘MyVApp’ -VAppTemplate $myVAppTemplate -OrgVdc $myOrgVDC

By default, the vApp is powered off.

Renew the runtime lease for the new vApp and set it to 12 hours.

Set-CIVApp -VApp $myVApp -RuntimeLease “12:0:0″ –RenewLease

To set leases, you can use the days.hours:minutes:seconds syntax.

Start the new vApp.

Start-VApp -VApp $myVApp

 

Power on all virtual machines in all vApps with names starting with MyVApp.

Get-CIVApp -Name ‘MyVApp*’ | Start-CIVApp

Suspend all virtual machines in all vApps with names starting with YourVApp.

Get-CIVapp -Name ‘YourVApp*’ | Suspend-CIVApp

Power off all virtual machines in the vApp named MyVApp1.

Get-CIVapp -Name ‘MyVApp1′ | Stop-CIVApp

Shut down the guest operating systems of all virtual machines in the vApp named MyVApp2.

Get-CIVapp -Name ‘MyVApp2′ | Stop-CIVAppGuest

Restart the guest operating systems of all virtual machines in the vApp named MyVApp3.

Get-CIVapp -Name ‘MyVApp3′ | Restart-CIVAppGuest

Reset all virtual machines in the vApp.

Get-CIVapp -Name ‘MyVApp4′ | Restart-CIVApp

 

Retrieve all virtual machines with names starting with MyVM and power them on.

Get-CIVM -Name ‘MyVM*’ | Start-CIVM

Suspend all virtual machines with names starting with YourVM.

Get-CIVM -Name ‘YourVM*’ | Suspend-CIVM

Power off the virtual machine named MyVM1.

Get-CIVM -Name ‘MyVM1′ | Stop-CIVM

Shut down the guest operating system of the virtual machine named MyVM2.

Get-CIVM -Name ‘MyVM2′ | Stop-CIVMGuest

Restart the guest operating system of the virtual machine named MyVM3.

Get-CIVM -Name ‘MyVM3′ | Restart-CIVMGuest

Reset the nonresponsive virtual machine named MyVM4.

Get-CIVM -Name ‘MyVM4′ | Restart-CIVM

 

Playing around with the PowerCLi vCloud commands make administration of vCloud infrastructure a lot easier and quicker then via the standard GUI, especially if you already utilise PowerCLi for the administration of vSphere.

 

Be Sociable, Share!

{ 0 comments }

AT&T Synaptic Compute as a Service

A while ago I was asked by a client to evaluate AT&T’s cloud computing service, marketed as ‘AT&T Synaptic’. They utilise VMware’s vCloud Director, with their own customised interface, utilising the vCloud API programmable interface.

They offer the following;

  • Cloud Storage
  • Content Delivery Network
  • Deploy Servers
  • DNS Management
  • File Storage
  • Firewalls
  • Load Balancing
  • VPN Access

They offer two types of OS:

  • Windows
  • Linux

AT&T Synaptic Cloud

You also have the ability to create virtual data centres based in different geographical physical data centres, which given AT&T’s global reach, is a good thing for data centre resilience!

However there are some negative aspects to the actual implementation of this VMware vCloud Director platform. First of all, it’s version 1.5, which is just about obsolete, also, it’s installed onto a single SQL server instance, so it has a single point of failure in the entire infrastructure. Ideally, I’d be looking for multiple instances of the infrastructure elements, having the main database residing on a single node, with no actual clustering at the back end, makes me question the strategies of the cloud provider. In this case AT&T seem to have fallen short.

Single points of failure aside, there is a bigger issue at hand. The hand crafted interface is badly designed, hard to use and has obscure navigation. I had a meeting with the AT&T sales representatives about this lack of usability, getting one of their network techs, who hadn’t used their Synaptic Cloud before, to navigate their customised interface. After 15 minutes of him trying and failing to locate any virtual machines, they admitted that it needed further work…

Using VMware vCloud Director is a good strategy for offing tenanted cloud infrastructure. Implementing version 1.5 and creating their troublesome interface is not.

Be Sociable, Share!

{ 0 comments }

LiveDrive Cloud Based Backup

LiveDrive markets itself as ‘Cloud Storage for everyone’. It’s been going for 6 years now and I’ve been using them myself for around 5 years. From a small startup, it’s built up over 1 million customers and the growth of this cloud storage company is gathering pace all the time.

They offer online file editing and streaming of both music and movies. You can also directly stream movies and music through the web browser. If you have the data allowance, you can also use the mobile app to stream directly from LiveDrive onto your smart phone.

LiveDrive Cloud based backup

LiveDrive Cloud based backup

 

LiveDrive offers a briefcase facility, which allows you to place files into the briefcase and have those same files shared amongst multiple computers. A similar type of service to Dropbox, you can also share out files and folders, emailing the link to your intended recipients.

 

LiveDriveApps

 

If you’ve ever wanted to start your own cloud based backup service, you can sign up for a reseller account and be able to create an unlimited number of accounts, all for £39.95 per month. You can have your own brand, or utilise the LiveDrive brand or both.

I’ve been a user of LiveDrive for a long time and I’ve got nothing but praise for the quality service and the unlimited amount of storage I can have. My current usage stands at just over 3.5 TB and as I use this as my secondary, offsite backup method, as a compliment to my USB hard drive backups, it gives me peace of mind to know I’m safe with LiveDrive.

Be Sociable, Share!

{ 0 comments }

PowerCLi – Getting Virtual Machine Information

This is the fifth in a series of blog posts about getting information out of the vSphere environment in timely fashion. There are times when you need to get information from your vSphere infrastructure and put it into a spreadsheet. This customised script allows you to get further information that you need for the operations team to continue building out their Configuration Management Database (CMDB).

This script is really useful for getting detailed information about all of the virtual machines in your vSphere environment.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
 
<#
.SYNOPSIS
Retrieves info on Virtual Machines 
 
NB.
This script can be run against each vCenter Server on an individual basis or across multiple vCenter Servers.
 
.DESCRIPTION
Retrieves information on VMs'
 
.PARAMETER  None
 
.EXAMPLE
 
.EXAMPLE
Usage - .\CI-VMInventory.ps1 | Export-Csv c:\CI-VM-Inventory.csv –NoTypeInformation
 
.NOTES
Author: Graham F French
Date: 28/11/2013
Email: 
Twitter: @NakedCloudGuy
#>
 
 function Get-VMinventory {  
 function Get-RDMDisk {  
   [CmdletBinding()]  
   param (  
     [Parameter(Mandatory=$True)]  
     [string[]]$VMName  
     )  
         $RDMInfo = Get-VM -Name $VMName | Get-HardDisk -DiskType RawPhysical, RawVirtual  
         $Result = foreach ($RDM in $RDMInfo) {  
          "{0}/{1}/{2}/{3}"-f ($RDM.Name), ($RDM.DiskType),($RDM.Filename), ($RDM.ScsiCanonicalName)     
         }  
         $Result -join (", ")  
 }  
 function Get-vNicInfo {  
   [CmdletBinding()]  
   param (  
     [Parameter(Mandatory=$True)]  
     [string[]]$VMName  
     )  
         $vNicInfo = Get-VM -Name $VMName | Get-NetworkAdapter  
         $Result = foreach ($vNic in $VnicInfo) {  
           "{0}={1}"-f ($vnic.Name.split("")[2]), ($vNic.Type)  
         }  
         $Result -join (", ")  
 }  
 function Get-InternalHDD {  
   [CmdletBinding()]  
   param (  
     [Parameter(Mandatory=$True)]  
     [string[]]$VMName  
     )  
         $VMInfo = Get-VMGuest -VM $VMName # (get-vm $VMName).extensiondata  
         $InternalHDD = $VMInfo.ExtensionData.disk   
         $result = foreach ($vdisk in $InternalHDD) {  
           "{0}={1}GB/{2}GB"-f ($vdisk.DiskPath), ($vdisk.FreeSpace /1GB -as [int]),($vdisk.Capacity /1GB -as [int])  
         }  
         $result -join (", ")  
 }  
 foreach ($vm in (get-vm)) {  
     $props = @{'Name'=$vm.Name;  
           'IP Address'= $vm.Guest.IPAddress[0]; #$VM.ExtensionData.Summary.Guest.IpAddress  
           'PowerState'= $vm.PowerState;  
           'DNS Domain'= ($vm.ExtensionData.Guest.Hostname -split '\.')[1,2] -join '.';     
		   'Comments' = ($vm | Select-Object -ExpandProperty Notes); 
           'CPUs'= $vm.NumCpu;  
           'Memory (MB)'= ($vm.MemoryGB * 1024);  
           'Disks size (GB)'= $vm.ProvisionedSpaceGB -as [int];  
           'HDDs(GB)'= ($vm | get-harddisk | select-object -ExpandProperty CapacityGB) -join " + "            
           'Datastore'= (Get-Datastore -vm $vm) -split ", " -join ", ";  
           'Partition/Size' = Get-InternalHDD -VMName $vm.Name  
           'Real-OS'= $vm.guest.OSFullName;  
           'Attributes' = $VM.ExtensionData.summary.config.guestfullname;  
           'EsxiHost'= $vm.VMHost;  
           'vCenter Reference' = ($vm).ExtensionData.Client.ServiceUrl.Split('/')[2].trimend(":443")  
           'Hardware Version'= $vm.Version;  
           'Folder'= $vm.folder;  
           'MAC Address' = ($vm | Get-NetworkAdapter).MacAddress -join ", ";  
           'VMX' = $vm.ExtensionData.config.files.VMpathname;  
           'VMDK' = ($vm | Get-HardDisk).filename -join ", ";  
           'VMTools Status' = $vm.ExtensionData.Guest.ToolsStatus;  
           'VMTools Version' = $vm.ExtensionData.Guest.ToolsVersion;  
           'VMTools Version Status' = $vm.ExtensionData.Guest.ToolsVersionStatus;  
           'VMTools Running Status' = $vm.ExtensionData.Guest.ToolsRunningStatus;  
           'SnapShots' = ($vm | get-snapshot).count;  
           'Location' = $vm | Get-Datacenter;  
		   'Subcategory' = $VM | Get-Cluster;
           'vNic' = Get-VNICinfo -VMName $vm.name;  
           'PortGroup' = ($vm | Get-NetworkAdapter).NetworkName -join ", ";  
           'RDMs' = Get-RDMDisk -VMName $VM.name   
           }  
 
     $obj = New-Object -TypeName PSObject -Property $Props  
	  Write-Output $obj | select-object -Property 'Name', 'CPUs', 'Memory (MB)', 'Disks size (GB)', 'Attributes', 'DNS Domain', 'MAC Address', 'Subcategory', 'vCenter Reference', 'IP Address', 'Location', 'Comments'
 
   }  
 }  
 Get-VMinventory   
 
#

Here is the code in a text file format, rename it .ps1 instead of .txt in order to be able to run it.

CI-VMInventory.txt

In the example, you will notice that I use “–NoTypeInformation” at the end of the syntax, this removes the unnecessary type information being added into the CSV file.

Be Sociable, Share!

{ 0 comments }

PowerCLi – Getting Basic Datastore Info

This is the fourth in a series of blog posts about getting information out of the vSphere environment in timely fashion. There are times when you need to get information from your vSphere infrastructure and put it into a spreadsheet. This customised script allows you to get further information that you need for the operations team to continue building out their Configuration Management Database (CMDB).

This is a very small script that gets some quick information about the datastores, their sizes and how much capacity is left.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
<#
.SYNOPSIS
Retrieves info on DataStores.
 
NB.
This script can be run against each vCenter Server on an individual basis or across multiple vCenter Servers
 
.DESCRIPTION
Retrieves information on Datastores
 
.PARAMETER  None
 
.EXAMPLE
 
 
.EXAMPLE
Usage - .\CI-DataStore.ps1 | Export-Csv c:\CI-Datastore.csv –NoTypeInformation
 
.NOTES
Author: Graham F French
Date: 04/11/2013
Email: 
Twitter: @NakedCloudGuy
#>
 
ForEach ($DataStore in Get-Datastore) {
$DataStoreName = $DataStore.name
$DataStoreCapacity = [math]::round($DataStore.CapacityGB,2)
$DataStoreFreeSpace = [math]::round($DataStore.FreeSpaceGB,2)
 
 
#Write-Host "DataStore Name:" + $DataStoreName
 
New-Object PSObject |
Add-Member -Pass NoteProperty "DataStoreName"  $DataStoreName |
Add-Member -Pass NoteProperty "DataStoreCapacity(GB)"  $DataStoreCapacity  |
Add-Member -Pass NoteProperty "DataStoreFreeSpace(GB)"  $DataStoreFreeSpace
}
 
#

Here is the code in a text file format, rename it .ps1 instead of .txt in order to be able to run it.

CI-DataStore.txt

In the example, you will notice that I use “–NoTypeInformation” at the end of the syntax, this removes the unnecessary type information being added into the CSV file.

Be Sociable, Share!

{ 0 comments }