The persistent storage requirement for the container ecosystem
When we talk about containers we generally think about microservices and all things ephemeral. But does this mean that we can’t facilitate stateful workloads leverage persistent storage? Absolutely not.
In the docker world, we choose a storage “driver” to back our persistent storage onto. The driver we choose is based on a number of requirements and which operating system our Docker hosts run. The table below lists the recommended out-of-the-box drivers for Docker Community Edition.
Most of the above are battle-hardened, well-documented drivers. But what if we’re running a vSphere based environment and want to integrate with some vSphere resources?
vSan Storage Driver
Docker introduced the Docker Volume Plugin framework. This extended the integration options between Docker and other storage platforms including (but not limited to):
- Amazon EBS
- EMC Scaleio
- Azure File Services
- VMware based storage
The vSAN Storage Driver for Docker has two components:
vSphere Data Volume Driver
This is installed on the ESXi host and primarily handles the VMDK creation that is requested by the underlying container ecosystem. It also keeps track of the mapping between these entities.
vSphere Docker Volume Plugin
This is installed on the Docker host and primarily acts as the northbound interface that facilitates requests from users / API / CLI to create persistent storage volumes to be used by containers.
From an architectural perspective it looks like this:
Step 1 – The user instantiates a new docker volume, specifying the appropriate driver (ie VMDK).
Step 2 – The vSphere Data Volume Driver accepts the request and communicates via the ESXi host to the underlying storage, which can be vSAN, VMFS or a mounted NFS share.
Why use this?
A distinct advantage of leveraging vSphere-backed storage for containers is how we can utilise native capabilities of the underlying storage infrastructure. For example, if we use vSAN as the backend storage for containers we can leverage:
- Erasure Coding.
As of this week, I started a new position at Insight as a VMware/SDDC Solutions Architect/Evangelist. Exciting times!
I’ll be fortunate to work with the likes of established community contributors and experts in the field such as vJenner and Chan.
The IT landscape is constantly changing and with it, we as IT professionals must adapt accordingly. I wanted a new challenge, to expand my horizons and delve deeper into the areas I’ve already gained experience in. Insight is such a place that will allow me to do this. My new boss described it quite eloquently: “We sell everything to everyone”. This doesn’t mean that Insight will push for subpar products though – part of the philosophy here is that we’re transparent, flexible and agnostic. Leading solutions are evaluated and assessed to address a plethora of challenges presented by both existing and new customers. Multiple vendors, multiple products, private/public/hybrid cloud and everything in-between is considered as part of the product/solutions/services portfolio.
I will continue to focus primarily on VMware based solutions with a bit of AWS on top, together with complementary technologies (IE storage, networking, containers, automation, scripting)
“Specialist Exams”….Wait, what?
I have a requirement to essentially get more up to speed with vRealize Operations Manager. As I was digging through some of the reading material I came across the specialist exam. The details for which can be found here.
I wasn’t actually aware up until this point VMware actually offer specialist exams. At time of writing vRealize Operations and vSAN are the only two specialist certifications you can take.
I can understand the logic behind it – vRealize is becoming a very comprehensive suite of applications and with the VCP7-CMA certification primarily focused on vRealize Automation, it makes sense to separate out certain technologies into their own curriculum.
2VB-602 (vRealize Operations)
For a couple of weeks or so I’ve been messing around with / reading up on / watching videos of vRealize Operations primarily focused on 6.6 without even knowing about the certification. The exam, however, is based on 6.0 – 6.5 and 6.6 brings some rather substantial changes. Therefore don’t expect to see 6.6 related questions in the exam.
Although I wasn’t actually focused on passing this specific test, Here’s what I’ve used so far in an attempt to get up to speed:
Pluralsight’s training course on vRealize Operations (created March 2017) – https://www.pluralsight.com/courses/vmware-vrealize-operations-manager
VMware’s documentation center – https://docs.vmware.com/en/vRealize-Operations-Manager/index.html
vApp Deployment and Configuration Guide – https://docs.vmware.com/en/vRealize-Operations-Manager/6.6/vrealize-operations-manager-66-vapp-deploy-guide.pdf
VMware training videos – http://players.brightcove.net/1534342432001/S1xUFpuYwx_default/index.html?playlistId=5446534362001
The exam can be taken anywhere unlike the VCP or VCAP exams which require you to attend a training center. The questions were pretty tough, but that may have come down to my lack of experience with the product.
Overall, it was a interesting experience. I probably would have preferred vRealize Operations to have it’s own VCP level exam being proctored etc. It’s a nice-to-have, but I still have a lot to learn about vRealize Operations but it’s given me some confidence that I’ve probably understood the fundamentals.