Fun with Arduino

I’ve been playing with Raspberry Pi for a while and recently moved to ESP8266 with Arduino core on it. It gives me a lovely small form factor powerful IoT platform. Using it is very easy through the Arduino IDE.

Current project has been to monitor the water level in a small water feature in the garden, as it loses when the sun is out to evaporation (I know, the one-day-a-year problem of England!). So I used the ESP8266 with a very simple 3-prong water probe (copper strip board) to monitor high and low water levels, then switch a relay to open/close a 12v motorised valve and fill the bowl with water from our rain collection barrel.

I’ll add notification services to it later (it’s setup for OTA updates already).


My muse and inspiration

2012-04-05 19.54.19Although no longer this young and small, my granddaughter has shown an interest in technology from a very early age. Seeing her interest and thrill at new discoveries inspires me each day. Thankyou Maisie, love you loads xxx

Cloud – What are we trying to do here?

The term ‘Cloud’ is still evolving. We are all trying to come to terms with the implications around this simple word, what it really means to our customers, to our businesses and to us as individuals. Frequently I hear clients say they want to ‘get to the cloud’ without knowing what they actually mean to achieve with this statement.

So, let’s break it down.


Businesses face many challenges, some of them financial, others political, that all impact the best place to spend their budget to make the most impact. For public listed businesses, they have shareholders and investment analysts to placate. They need to be seen to be doing the right thing (returning on investment) while still growing their business and maintaining their image. They need to invest shrewdly , many times sticking to old faithful ‘safe’ options in favour of newer technologies that have never been used inside their own company. They can be risk-averse, but this comes with its own risks too, holding them back and making them spend money on maintaining the status quo. They have legacy systems that teams of people support, that they pay vendors large sums of money to maintain. These are not going away overnight. Do they have the funds to re-architect the legacy systems onto a new platform? Do they really want to, or even need to?

Other businesses seem to go the other way. They jump on every bandwagon that comes along, being ‘early adopters’ of each bleeding-edge technology before they even know what business problem they are trying to solve with it, or if it can even solve a problem they may ever experience.

These all lead to a confusion around what ‘cloud’ can be to them and how it can assist, or hinder, their business processes.

A march into the clouds

Here is a definition of ‘cloud’ that I prefer:

Cloud is a concept, one that encompasses

  • process
  • automation
  • orchestration
  • compliance
  • federation
  • cost reduction
  • self service
  • flexibility
  • complexity reduction

which all come together to provide a service that the business can consume at a rate and cost that suits their speed of business.

(Note here that I say ‘business’ – there is no mention of IT yet. Business should lead the adoption of IT, not adjust their business processes to fit around the latest greatest product the IT department have found.)

The outcome should be that the business can move quickly and decisively, without the delays inherently seen with deliving supporting services. These services don’t need to be IT-related, they could be around human resources or facilities management. However, most revolve around an IT-based service at some point, so we’ll keep on track here.

I’m off to the cloud – what do I do next?

Deciding to start on the journey to cloud is just one small step forward. After all, everyone is doing it so it must be the right thing, right?

Stop, take a step back. Look at your business, at the processes and procedures that are the bedrock that holds it together. What business requirements are you trying to address with your cloud initiative? What problems are you trying to solve? Just moving things into the cloud isn’t an answer to a business need, it is the ‘bandwagon’ mentality. Evaluate what you need to solve. Is there a true need to embrace a full cloud initiative, or are you not even at the first step towards virtualisation in your own environment? What does the business think about your cloud move – are they happy that you are moving them to a cloud? What SLA/OLA requirements do you have around the services that you want to migrate? Will a cloud strategy still address them so that your business can carry on, or are you going to impact them, causing costs and business impact? Can a service provider, whether that is your own internal IT department or an external provider, deliver the levels of service and availiability that your business (not your IT department) truly demand?

If you are at this stage, engage a professional to assist you. Choose an independent, someone with a track record, someone who is not aligned to a vendor/provider/technology, someone who has experience of your line of business. Run yourselves a workshop, involve your line of business leaders. Make sure the decisions are being made by the right people, those who depend on the service you are going to change, those that use it every day. They will tell you their true business requirements. Use these as the basis for your discovery process, making sure to keep everything documented, the reasons why a certain business needs the SLA/OLA they ask for. Ensure they understand how each step they move towards higher availability also moves them a step up the cost ladder.

This is just a bit of a brain dump from me tonight as I sit here in my hotel room contemplating my navel (it has lint in it, where did that come from??). I’ll add more to this in the coming days/weeks.

Zerto – VM-level replication moves to the hypervisor

I saw a great product today, one that has been around for a while now but is getting more coverage and uptake..

Winning the Best Of Show at VMWorld 2011, Zerto is a product to integrate with vSphere environments. It provides VM-level replication and protection, with RPO compliance options.

  • By moving the replication away from the storage layer, you remove a lot of the previous restrictions for data protection.
  • No longer do you need to worry about which datastore a VM is on in order for it to be replicated and protected.
  • You don’t have to replicate all VMs on a datastore to the same destination.
  • You can leverage cloud-based providers as the target for your replication, giving you an off-site DR/BCP capability.
  • Zerto includes the ability to replicate between vCloud and non-vCloud vSphere environments.
  • CDP is included as part of the offering, allowing you to recover to a granular point-in-time.
  • Disk writes are copied in memory at the hypervisor layer, removing the storage overhead of reading from the disk to copy changed blocks.

I should get this in the lab soon, so watch this space for more updates. With the use of the Zerto API, we should be able to integrate this as a ‘value add’ service that a client can easily order through the Cisco IAC portal.

Tidal workflow for random password generation

Thought I would share this workflow to generate a random 12-character password, that can then be used for OS customisation, etc

Feel free to use as you need to 🙂

UCS 2.0 and Port Channels

I came across this interesting article today around the new capabilities of UCS 2.0. It’s a shame that it seems to indicate the requirement for the new 6248 fabric interconnect, and 2208 fabric extenders in the chassis, to take advantage of the “Port Channel to the blade” capabilities it talks about though. Does this really require the next gen 40GE hardware, or can it be used with existing UCS 1.x hardware too, simply by upgrading the firmware? Answers on a postcard people!

ThinkAheadIT Blog

Migration methods between VMware vCenter instances

An interesting subject was raised today. There are several clients in a datacentre. Each has their own vCenter implementation. There is also a private enterprise vCenter offering that the clients can move in and out of (multi-tenant private cloud). How do you move VMs in and out of this private enterprise offering and keep them up and running?

One way would  be to have a single vCenter instance to manage all the environments. This is fraught with issues around access control, AD integration, vCenter maximums, etc.

The other way is to keep all the vCenter instances separate and use a ‘swing host’. This is the method I will describe here.

There are two ways to provide a swing host. Either having a spare ESXi blade handy that you can use, or run a virtual ESXi instance.

Other considerations are the processor family of the hosts you are migrating between (cannot move between AMD & Intel hot, for example, and you cannot set EVC mode when VMs are using the higher-spec processor functionality), consistent networking between the different implementations (port groups need to have the same naming, VLAN needs to be visible to all 3 hosts involved in the migration), making the swing host a single point of failure during the swing stage, a swing LUN needing to be visible to all 3 hosts used during this migration. There may be other items to address outside this list.

However, if all these can be addressed, you have the ability to move VMs between environments without downtime, and here’s how you can do it:

  1. Add your swing host to the source vCenter server as a standalone host in the vCenter datacentre that hosts your VM to be moved.
  2. Ensure you have a portgroup on the swing host vSwitch that has the same name and VLAN configured as that used by the VM to be moved, and that the NIC(s) bound to this vSwitch can access the VLAN.
  3. vMotion your VM onto the swing host, moving it to the swing host LUN (this can be SAN, NFS or iSCSI, it really doesn’t matter, but it must be visible to all 3 hosts – source, swing and destination)
  4. Add the swing host to the destination vCenter server. Doing this will effectively rip it out of the source vCenter server.
  5. If required, rename the network portgroup to match that on the destination vCenter environment.
  6. vMotion your VM onto the destination host and datastore.
  7. Remove the swing host from both vCenter instances

These steps will do the job, albeit a little clunky. The next stage of this is to automate the process, which I will be doing using Tidal Enterprise Orchestrator.

New products

newScale Request Center 9.3

I have spent the last year working with a product called newScale Request Center. This is a service catalogue product that is used to present various service offerings to clients for self-service consumption. Earlier this year they were bought out by Cisco and this product has now been rebadged as Cisco Portal.

Tidal Enterprise Orchestrator 2

Another product that I have spent the past year working with is Tidal Enterprise Orchestrator. This is a workflow automation engine that allows for complex workflows to be mapped out, automated, and then, in our environment, combined with the newScale Request Center product for customers to order. This can be simple things like provisioning a virtual machine into a virtualised environment, or as complex as provisioning a complete application stack using bare metal provisioning.


Both the products above combine to create the Cisco Intelligent Automation for Cloud stack. Combined with an appropriate compute and virtualisation layer (Cisco UCS, VMware vSphere in our case), it gives a very powerful building block to use in the cloud arena.


Cisco UCS