Shaping up with FitBit

Breaking Point

I used to say “I’d never run unless someone was chasing me.” Well I’ve finally reached that point.

I woke up one morning this past winter and realized I was going to be woefully unprepared for an upcoming snowboarding trip. My belly would throw off my balance, causing me to bounce and roll down the entire mountain. I’d be dead tired just halfway down my first run. If I screwed up enough I could actually be dead.

It could happen because my mental image of myself no longer matched up with the image in the mirror (to say nothing of the scale). Somehow I’d lost touch with my actual self. Dirt biking, mountain biking, snowboarding, all of these things were no longer in easy reach. I saw myself as a fit 20 something rather than the fat, bald 30 something I was.

On top of the life and death safety issues, it would also be a huge waste of money to go on a big week-long snowboarding vacation (where the whole point is peak physical activity) to be stuck taking half days or resting on my ass most of the time.

Let’s be pragmatic here. Death is terrible, sure, but wasting money and vacation time is unacceptable.

The Solution

Thanks to my friend Heather I bought a FitBit Charge HR and the Aria scale. Tech toys! Things I can hook up to my WiFi!

The plan was to use these as motivators to be a little more active. Take the stairs more often, walk a little bit more, have friendly competition, see how much I ACTUALLY weigh each day.

The plan worked a lot better than expected!

weight-loss_2013-05

 

Three things really combined to help me out.

1. Tracking

Tracking my progress was amazing. At first there were absolutely no weight loss changes, but even on the very first day you can see how many steps you take, how many flights of stairs you climb. A pretty graph is drawn of every stat you can imagine. You can challenge yourself to do more everything!

2. Competition

Not only can you challenge yourself, you can see how many steps your friends are getting. Friend some folks, challenge them, beat them. Be beaten yourself by friends who constantly seem to be more active than you!! It’s a huge motivator to see that other people are along for the ride. It’s satisfying to look at the charts and see you’re at the top, but still encouraging when you don’t make the top yet your friends with busier lives than you’ll ever have are still killing it.

3. PROGRESS!!

That chart above is probably the number one long term motivator. Without the scale and without weight-loss-goal progress I don’t know if I could have kept up the activity day after day, month after month. Sometimes you want to come home from work and take a nap. How do you fight that urge to nap and instead go walk a few miles? Knowing that you’re being tracked, that you set a goal, that you’re competing, and that you are working for progress, these things are HUGE to keeping up with the work.

Running

How did FitBit tracking steps and losing weight turn into running?

This is a problem primarily of metrics. The metrics you track are the metrics you’ll improve. FitBit tracks many things, but mainly steps. 10,000 steps is the default step goal per day.

I started this whole process walking, but the weather wasn’t always great, so it would be treadmill time for me 🙁 I’d listen to podcasts and audio books but getting all the steps in could take a LONG time at 4 miles per hour. Who has an hour to walk on a treadmill?

The Thought Process

Week 2: What’s faster than walking? Jogging a little? Crank that speed up. Wow – the steps just fly by!

Week 4: Holy shit! I wonder how fast I could finish 10,000 steps in?

Week 6: Hmm, I wonder what the best time is that I could run a 5k?

Week 10: Wow, the weather is nice – let’s go outside.

Week 12: That run club that meets at the brewery I like seems cool, and I have friends that go. It’s only 4 miles, I’ll take a rest or two.

Week 13: It’s only 4 miles, I bet I could do it with just one break.

Week 15: It’s only 4 miles. I bet I could just run the whole thing.

Today: Man, work is taking so long today. I can’t wait to get home and run.

So You Think You Can Run?

Now I guess I’m a runner. I have a desire to get out there and run. I look forward to it. I run with friends. I run alone. I do it for me.

Not sure where this is going next. Hopefully the running persists. I doubt I’ll enter any races, but then again I said I’d never run.

I’ve been wrong before. Maybe I was being chased all along and it just took me a while to realize it.

Vienna Avaya Technology Forum

Part of my role on the Nutanix Performance and Solutions team is to “evangelize” the technology and tell the world about all the great work we’re doing writing documents, testing products and solutions, and assisting with customer engagements. The physical manifestation of that is me sitting in an airport typing up this blog post, on my way to the Avaya Technology Forum in Vienna, Austria.

 

Nutanix will have a booth and I’ll be doing demos of the product interface and reaching out to Avaya communications and networking customers. I’ll be joined by members of the local Nutanix team to help share the duties. I’m looking forward to meeting more of the international Nutanix team!

The Nutanix Virtual Computing Platform is a great fit for Avaya customers looking to virtualize their communications infrastructure running Avaya Aura, or IP Office. Nutanix also simplifies the compute and storage side of the data center for those leveraging Avaya Fabric Connect to simplify the network stack.

Imagine being able to scale your compute and storage seamlessly with auto discovery. Imagine one click upgrades of the entire compute and storage ecosystem (INCLUDING THE HYPERVISOR!). More importantly, imagine all the time you’ll have to work on the applications that really matter.

IP Office Reference Architecture

Avaya Aura Reference Architecture

Stop by the Nutanix booth in the Solutions Zone at the Hilton Vienna on May 5th – 8th if you’re in the area!

Nutanix Avaya Aura Reference Architecture

I’m happy to announce that the Reference Architecture for Avaya Aura on Nutanix has been completed!

Aura is a Unified Communications platform with a lot of different components. All of these pieces can now be deployed in VMware vSphere thanks to the Avaya Aura Virtualized Environment and Customer Experience Virtualized Environment initiatives at Avaya. These projects bring together different Aura apps and produce virtualization guides and OVA templates for each product.

The Nutanix Reference Architecture above goes through the most common Virtualized Environment components and breaks down the rules, requirements, and best practices for running on Nutanix.

I’m happy that this document serves as an excellent reference for the administrator in charge of virtualizing Aura. Right now the information in these Avaya docs are spread all over the place. Having a unifying reference source is pretty helpful to any Nutanix administrator sitting there thinking “How do I virtualize this again?” and even helpful to Avaya admins thinking “Where is that doc?”

Aura Components

The core components I address are as follows:

Component Purpose
Call Control Aura Session Manager and Communications Manager
Voice Mail and Messaging Aura Messaging
Presence Aura Presence Services
Configuration Management System Manager
3rd Party Integration Application Enablement Services

There are many additional components not covered directly in the guide, but I’ve included links to these where appropriate.

Planning and Design

Much like other applications on Nutanix, Aura designers and architects need to answer these question about each Aura VM:

  • How many vCPUs does this VM use and reserve (core count / MHz)?
  • How much RAM does this VM use and reserve (GB)?
  • How much storage space does this VM use (GB)?
  • What sort of IOPS are generated / required during peak hours?
  • Are there any other special requirements?

The Nutanix Avaya Aura Reference Architecture doc attempts to address all of these questions.

Here’s an example of the information for Avaya Aura Communication Manager Duplex:

cm-duplex-reqs

Put this individual machine information together with a sample layout. Your layout may vary based on the Aura design. Work closely with the Avaya Aura design team to figure out what components are required and what size those components need to be.

1000-user_layout

Once we know how many VMs and what their specs are, we can figure out the resource utilization of the end system:

1000-user-reqs

With all this information together, the right Nutanix virtualization platform can be chosen. You can use the system with right CPU core count, the right amount of RAM, and the storage capacity and performance to provide exceptional end-user experience.

Your Aura design will certainly differ from the one listed above, but the processes laid out in the guide can help plan for a system of any size with any number of components.

If you have questions feel free to leave a comment, or head over to next.nutanix.com forums and visit the Workloads & Applications > Unified Communications section.

 

Survivable UC – Avaya Aura and Nutanix Data Protection

I wanted to share a bit of cool “value add” today, as my sales and marketing guys would call it. This is just one of the things for Avaya Aura and UC in general that a Nutanix deployment can bring to the table.

Nutanix has the concept of Protection Domains and Metro Availability that have been covered in pretty great detail by some other Nutanix bloggers. Check out detailed articles here by Andre Leibovici, and here by Magnus Andersson for in depth info and configuration on Metro Availability.

Non-redundant Applications

In an Avaya Aura environment, most machines will be protected from failure at the application level. A hot standby VM will be running to take over operation in the event of primary machine failure such as with Session Manager and Communication Manager. In the following example we see that System Manager, AES, and a number of other service don’t have a hot standby. This might be because it’s too expensive resource wise, licensing wise, or the application demands don’t call for it.

1000-user_topology

If multiple Nutanix clusters are in place, we actually have two ways to protect these VMs at the Nutanix level.

Nutanix Protection Domains

First, let’s look at Protection Domains. With a Protection Domain, we configure a NDFS (Nutanix Distributed Filesystem) level snapshot that happens at a configurable interval. This snapshot is intelligently (with deduplication) replicated to another Nutanix cluster. It’s different than a vSphere snapshot because the Virtual Machine has no knowledge that a snapshot took place and no VMDK fragmentation is required. None of the standard warnings and drawbacks of running with snapshots apply here. This is a Nutanix metadata operation that can happen almost instantly.

We pick individual VMs to be part of the Protection Domain and replicate these to one or more sites.

In the event of a failure of a site or cluster, the VM can be restored at another site, because all of the files that make up the Virtual Machine (excluding memory) are preserved on the second Nutanix cluster.

ProtectionDomain

 

Nutanix Metro Availability

But I hear you saying, “Jason that’s great, but a snapshot taken at intervals is too slow. I can’t possibly miss any transactions. My UC servers are the most important thing in my Data Center. I need my replication interval to be ZERO.” This is where Metro Availability comes in.

Metro Availability is a synchronous write operation that happens between two Nutanix clusters. The requirements are:

  1. A new Nutanix container must be created for the Metro Availability protected machines.
  2. RTT latency between clusters must be less than 5 milliseconds (about 400 kilometers)

Since this write is synchronous, all disk write activity on a Metro Availability protected VM must be completed on both the local and the remote cluster before it’s acknowledged. This means all data writes are guaranteed to be protected in real time. The real-world limitation here is that every bit of distance between clusters adds latency to writes. If your application isn’t write-heavy you may be able to hit the max RTT limit without noticing any issues. If your application does nothing but write constantly to disk, 400km may need to be re-evaluated. Most UC machines are generally not disk intensive though. Lucky you!

MetroAvailability

In the previous image we have two Nutanix clusters separated by a metro ethernet link. The standalone applications like System Manager, Utility Services, Web License Manager, and Virtual Application Manager are being protected with Metro Availability.

In the even of Data Center 1 failure, all of the redundant applications will already be running in Data Center 2. The administrator can then either manually (or through a detection script) start the non-redundant VMs using the synchronous copies residing in Data Center 2.

Summary

Avaya Aura Applications are highly resilient and often provide the ability for multiple copies of each app to run simultaneously in different locations, but not all Aura apps work this way. With Nutanix and virtualization, administrators have even more flexibility to protect the non-redundant Aura apps using Protection Domains and Metro Availability.

These features present a consumer-friendly GUI for ease of operation, and also expose APIs so the whole process can be automated into an orchestration suite. These Nutanix features can provide peace of mind and real operational survivability on what would otherwise be very bad days for UC admins. Nutanix allows you to spend more time delivering service and less time scrambling to recover.

 

 

Virtualized Avaya Aura on Nutanix – In Progress

Explaining the Nutanix Distributed Filesystem

The Avaya Technology Forum in Orlando was a great success! Thanks to everyone who attended and showed interest in Nutanix by stopping at the booth. I met a lot of interested potential customers and partners and was also able to learn more about what people are virtualizing these days. There is nothing quite like asking people directly “What virtualization projects do you have coming up?”

Explaining the Nutanix Distributed Filesystem
Explaining the Nutanix Distributed Filesystem

After talking about Nutanix and what I do on the Solutions team, some key themes I heard repeated by attendees were:

“Wow, that’s really cool technology!”

and

“When will you have a document for Avaya Aura?”

The response to the first one is easy. Yeah, I think it’s really cool technology too. Nutanix will allow you to compress a traditional three tier architecture into just a few rack units. It gives you the benefits of locally attached fast flash storage AND the benefits of a shared storage pool. Customers can use this to save money, improve performance, and focus on their applications instead of their infrastructure. After you compress you also have the ability to scale up the number of nodes in the Nutanix cluster with no hard limit in place. Performance grows directly with cluster growth.

The second question is actually why I’m writing this blog today. When will the reference architecture for Avaya Aura on Nutanix be completed?

I’m in the research phase now because Avaya Aura is a monster of an application. It’s actually a set of dozens of different systems that all work together. Each system will have its own requirements for virtualization. Part of getting a reference architecture or best practices guide right is figuring out what each individual component requires to succeed.

Let’s give an example by looking at the Avaya Aura Virtual Environment overview doc. This list is the number of different OVAs that are available:

Avaya Aura® applications for VMware
• Avaya Aura® Communication Manager
• Avaya Aura® Session Manager
• Avaya Aura® System Manager
• Avaya Aura® Presence Services
• Avaya Aura® Application Enablement Services
• Avaya Aura® Agile Communication Environment (ACE)
• Avaya Aura® Messaging
• Communication Manager Messaging
• Avaya Virtual Application Manager
• Avaya Aura® Utility Services
• WebLM
• Secure Access Link
• Session Border Controller for Enterprise
• Avaya Aura Conferencing

Avaya Call Center on VMware (OVA files)
• Avaya Aura® Call Center Elite
• Elite Multichannel Feature Pack
• Avaya Aura® Experience Portal
• Call Management System

Each of the applications listed above is a separate OVA file available from Avaya. Each application has its own sizing, configuration, and redundancy guides. To deploy an Aura solution you can use some, or all of these components.

An Aura document on Nutanix is in the works, but it’s going to be a lot of WORK. I plan on focusing on just the core components at first and a few sample deployments to cover the majority of cases.

I’ve read every single Avaya Virtual Environment document and now just need to compile this information into an easy to digest Nutanix-centric format. In the meantime if you have Avaya Aura questions on Nutanix feel free to reach out to me @bbbburns

The great thing so far is that I don’t see any potential road blocks to deploying Aura on Nutanix. In fact at the ATF we performed a demo Aura deployment on a single Nutanix 3460 block (4 nodes). We demonstrated Nutanix node failure and Aura call survivability of the active calls and video conferences.

Part of the challenge of deploying any virtual application, especially real time applications, is that low-latency is KING. This was repeated over and over by all the Avaya Aura experts at the conference. Aura doesn’t use storage very heavily, but since it’s a real-time app the performance better be there when the app asks for it. All the war stories around virtualizing Aura dealt with oversubscribed hosts, oversubscribed storage, or contention for resources.

Deploying Aura on Nutanix is going to eliminate these concerns! Aura apps will ALWAYS have fast storage access. There will never be any contention because our architecture precludes it. I’m excited to work on projects like this because I know customers are going to save HUGE amounts of money while also gaining performance and reliability.

We really will change your approach to the data center.

Nutanix and The 2015 Avaya Technology Forum

I’m at the 2015 Avaya Technology Forum with Nutanix to talk about Avaya Unified Communications on the Nutanix platform. Stop by the Nutanix and CRI booth to see the Nutanix gear in action. Nutanix 3460 and 1450 nodes will be powering all the demos you see for Avaya Aura and other applications!

I’ve been testing with the helpful engineers at Avaya to do two important things:

  1. Ensure Avaya Unified Communications applications run flawlessly on Nutanix.
  2. Test the Nutanix Distributed File System (NDFS) performance and operation on top of Avaya Fabric Connect.

The result of all this work is being presented here at the Avaya Technology Forum in sunny Orlando. The Avaya colleagues I’ve been working with are from the Boston area (and Canada), so I imagine coming down here to find 81 degrees and sunshine is a welcome change!

The first item I want to bring to your attention is the Nutanix Avaya Unified Communications Solution Brief. This is a high level piece to show the overall benefits of combining Nutanix and Avaya Unified Communications. Nutanix makes the data center admin’s life easier by eliminating silos between UC and other data center apps, bringing scalable compute and storage to the masses, cutting down on management time, providing blinding fast I/O performance, and tying it all together with high availability baked in.

Fig36-Phase2

Whether you’re running Avaya IP Office, a full blown contact center with Avaya Aura, or something in between, the Nutanix platform brings web-scale technologies to these virtual applications. To top it off – Avaya Fabric Connect technologies allow the data center admin to provision highly resilient, low-latency, high-throughput network backbones without the drawbacks of traditional spanning tree architectures.

Nutanix performs hyper-convergence at the storage and compute layer using a software defined Controller Virtual Machine. Find out more here at the Nutanix Bible to see how Nutanix ties together the disks of many nodes to form a resilient, distributed, high-performance compute and storage cluster.

Avaya brings Software Defined Networking and Virtualization with Avaya Fabric Connect.

These two technologies together save time and money in the datacenter, while also providing blazing performance.

Fig21-ProtectionDomains

Check back for updates during the conference. I’ll be sharing a Reference Architecture for Avaya IP Office Server Edition running on Nutanix. In the future you’ll also see a Reference Architecture for Avaya Aura on Nutanix.

Find me at the conference by tweeting @bbbburns or stopping by the Nutanix and CRI booth.

Nutanix and UC – Part 4: VM Placement and System Sizing

In the last blog post I talked about sizing individual VMs. Today we’ll look at placing UC VMs onto a Nutanix node (an ESXi host) and coming up with overall system sizing.

First I’d like to announce the publication of my document for Virtualizing Cisco UC on Nutanix. Readers of the blog will recognize the content and the diagrams 😉 I’ve combined all of this information for publication and delivery to customers and partners planning to deploy Cisco Unified Communications.

Next, let’s look at placing Cisco UC VMs to size a Nutanix system. Once you have a count of all the VMs needed and their individual sizes you can spread them around on paper to see how much hardware rack and stack is in your future. With Nutanix you’ll have a lot less work ahead of you than with any other solution! Use all the methods documented in the previous posts to size the individual VMs.

There are a few options for VM placement. I used Omnigraffle on my Mac to create diagrams like the one you see here, but Visio or MS Excel will work just as well. The “Hypervisor CPU Cores” represent the space available on a single Nutanix node. I didn’t specify ESXi, Hyper-V, or KVM directly because Nutanix can support all three hypervisors.

In a Nutanix block you can have up to 4 nodes in a 2 RU device. Below we see a single 16 core node. New Nutanix models will be released in the future with different core counts, roughly keeping track with Intel’s releases of new hardware. Size your core count based on what’s available on the Nutanix hardware platform page.

*EDIT on 2015-10-23* Nutanix switched to a “Configure To Order” model and now many more processor core options are available, from 2×8 core all the way up to 2×18 core. This provides a lot of flexibility for sizing UC solutions.

Cisco UC VMLayoutTake some space and reserve it for the Nutanix Controller Virtual Machine. Exactly how much space reserved really depends on the IO load expected. The CVM will reserve four vCPUs at a minimum. Looking at the CVM properties in vSphere you can see it actually has eight vCPUs provisioned which is why the shaded area exists. These four vCPUs that exist in a limbo state (provisioned but not reserved) can be used by any application that doesn’t mind CPU oversubscription.

Unfortunately Cisco UC and most other UC applications don’t allow oversubscription so we have to just chop off eight vCPUs right at the start to abide by Cisco’s requirements. Don’t worry though, four of these vCPUs are not lost entirely. Make good use of them by putting a DHCP server there, or DNS, or a Domain Controller. Put a Linux SFTP backup server there if you like for handling incoming application backups from Cisco UC. Mine bitcoins. These cores are yours, you have options!

If you know that a Nutanix node is going to push SERIOUS IO traffic because you’ve read the IOPS requirements and see that you’ll need many many thousands of IOPS for the VMs, bump up the number of vCPUs that you leave for the Nutanix CVM. Under heavy load, the multi-threaded process will use all available vCPUs to handle IO requests. Under normal load the four reserved vCPUs will be plenty.

If you’re unsure of the IO load a machine will generate, fear not! The Nutanix Prism interface shows detailed stats per virtual machine. You can get an idea of what a VM is doing just by watching the Prism page for that VM. Below we see a VM that exhibits a spike in IOPS over a period of time.

Prism stats
Prism VM Stats

 

Along with Excel, Omnigraffle, and Visio, tools exist on the Cisco website to do VM placement. I like to use the UC Placement Tool just because it’s simple. A custom CVM image can be created that uses eight vCPUs (or four) and then the Cisco UC images can be selected from existing templates.

Cisco VM Placement Tool
Cisco VM Placement Tool

This tool is extremely helpful because the sizes of the various Cisco UC components are embedded in the various templates as shown above. The IOPS calculation of this tool isn’t really there yet in the templates. It’s an exercise to the reader (or user) to fill out the expected IOPS of each virtual machine. This info can be cobbled together from the various Cisco wiki pages or from information gathered via the Nutanix Prism page.

Nutanix also makes a sizing tool that can be used to size a Nutanix cluster once the specs of the virtual workload are known.  Check out this nu.school video to get an idea of how the Nutanix Sizer works:

https://www.youtube.com/watch?v=Vyy2n45wE2I

When sizing UC servers, we’ll use the “Server Virtualization” workload type. This means for each VM type (CUCM, CUC, CER) we’ll specify the number of vCPUs, amount of RAM, size of disk, and expected IOPS. Once this information is entered a Nutanix system (along with a number of nodes) will be chosen. This can be checked against sizing calculations above to ensure the right size system is selected.  Here we size 11 CUCM virtual machines. Each VM has 2vCPUs, 6GB RAM, 110GB storage, and an average IOPS of 40 (taken from the Cisco DocWiki).

CUCM Custom Workload
Creating a custom workload for CUCM

Cisco UC is a unique case because the 1000 series Nutanix processors do not currently meet the hardware processor requirements that Cisco specifies. This means the 1000 series nodes aren’t appropriate for Cisco UC, but all other node types are. We’re going to maximize for CPU cores because of Cisco’s 1:1 core:vCPU mapping. With most Cisco UC virtual machines we won’t run into any storage size or storage performance limitations on the Nutanix system. The primary driver of sizing will be number of free cores!

Maximizing for available storage space or other factors due to other workloads (like MS SQL or Exchange for instance) may lead to selection of a different node type. Nodes in a cluster can be many different types and can be mixed together in the same cluster. A cluster will often contain several storage heavy nodes for VMs with large storage requirements.

Summary and Next Steps

We’ve covered an overview of Cisco UC and Nutanix, and how to size individual UC VMs and place them on a Nutanix system. With this information it’s possible to design a complete Cisco UC solution powered by the Nutanix platform.

Assets from both Cisco and Nutanix can be leveraged to build a completely supported UC solution that takes up less rack space, power, and cooling. It’ll be simpler to setup because there are fewer components. It’ll be simpler to manage for the same reason AND because of the slick web front end to the combined compute and storage components. It’ll be more secure because federal STIG requirements are built into the product in easy to manage config settings (running a security script). One click upgrades for the entire compute and storage infrastructure means admins will be spending more time on the slopes or drinking beer and less on weekend change windows. That’s something I can get behind!

To learn more about Nutanix I recommend reading through the Nutanix Bible by Steve Poitras. It’s a wealth of great information on how the technology under the hood works. The nu.shool YouTube channel also has some excellent white board videos that I highly recommend.

Feel free to reach out to me on Twitter @bbbburns for follow up, or comment here on the blog.

 

 

Funding Creative Ventures (Sword & Laser)

I’m torn on how we do funding these days for all the media I love to consume. I read a lot of science fiction and fantasy. The Sword & Laser show and podcast has been a true life saver. They’re always curating a list of awesome books. If you follow me on GoodReads you’ll see that I pretty much just pick anything they’ve mentioned and start reading that. They’ve never steered me wrong. The interviews with authors I’m interested in are also GREAT.

I think it’s worth some amount of money to be a part of this curation service. Whenever I want to read a book all the work of picking out a good one is already done for me. Just go to the S&L site and I have pretty good odds of finding a winner. How much is that worth? We’ll get to that.

NPR asks for donations infrequently and sticks non invasive ads into This American Life and Serial. Free for me and not that annoying. Google via YouTube funded a whole host of great content creation channels. Free for me, but those non skip-able YouTube ads are getting on my nerves. Penny Arcade and other sites have turned to KickStarter. I’ve donated to a few of these and even received some cool products.

Artist Perspective

I’m an artist making something and I’d like to eat and pay my rent. I’d also like as many people as possible to see what I make. Let’s give it away for free on the Internet and just figure some shit out later. If I don’t make some money I’m going to have to get a real job 🙁 Let’s ask people to just pay what they like.

Consumer Perspective

Cable is expensive as hell! I’d like to listen and watch all this great free stuff online. Oh, I can also pay a la carte for just the things I really enjoy? So cool!

The Hitch(es)

If an artist is giving stuff away for free are you really incentivized to send them money out of the kindness of your heart? Sometimes I certainly am, but I think that’s the exception and not the rule.

I fear that one day I’ll wake up and realize I’m spending more money (or as much) on my a la carte services than I was on a bundled service. Maybe I won’t even realize it because it’s death by a thousand cuts. A little money here and there until I can’t pay my mortgage.

Even worse, what if there is some great content being created but not enough people decide to pitch in and fund it. That’s a real bummer there because the artist might not have funding to keep creating. My podcast or RSS feed could go dead. Definitely worse than missing a mortgage payment!

What Is This Post About Anyway?

I’m going to fund Sword & Laser on Patreon. I love the content and I’m willing to pay a small amount for it. Each time they make an episode they’re going to get $1 from me (up to a monthly max that I didn’t bother setting). This seems like a fair trade. I might bump the amount up at some point. Right now they make about 1 show a week. That’s a grand total of $4 a month, I can swing it. They’ve directed me to so many good books and filled up my commute time with author interviews and sci-fi discussions. I’d like them to keep doing it.

If you follow my GoodReads or like sci-fi I think you should donate too. If they stop making the show I’ll be really sad! They’ve pitched a lot of different ways to raise money over the years and I hope this one sticks.

So far I think Patreon seems like the best option for me and the content creator, but I’m not too optimistic about everyone being so generous.

CYB3RCRIM3 Reading

Call me crazy, but I really love reading legal analysis at CYB3RCRIM3. I discovered the site via an OPML file passed to me by a friend in the security industry. Thanks Devon!

I can see how the walls of text might not be appealing, but the material is great. Legal writing is just so different; almost formulaic and with zero emotion. If you can get over the hump of reading court case opinions I think the subject matter is important to everyone. True human computer interaction… Here is where your technology comes into play to exonerate or incriminate you. In this particular instance we’ll say it’s where the rubber meets the road. (Sorry)

SDM_download_via_DLC

Here’s a great example using a car data recorder where the defendant is appealing on a technicality that I won’t pretend I’m fully behind. I LOVE reading between the lines though:

This driver was a huge dick and went out of their way to brake check someone. The data recorder in the car backs this up. This data is being used against the driver for a conviction (along with other testimony) and there is no way to contest these basic facts.

Are you aware that your car is spying on you? That your brake and throttle application along with your speed will be analyzed in full detail if you’re ever in an incident that goes to court? They don’t advertise that on the TV commercials for new cars. Do you know which car manufacturers record what data and for how long? Do you know how reliable that recorder is? Can it be hacked? Can I make it say I was going 1 mph with the gas and brake fully applied at all times (even when stopped)?

I’m not saying cars shouldn’t do this tracking after a crash. I’m also not saying the driver shouldn’t have been convicted. It seems like the justice system worked like it should have. I just like to know ahead of time how it is I’m being tracked and monitored. Personally, I think I’d opt out of this recording technology if it was possible to do so.

Thanks CYB3RCRIM3 for calling out the interesting cases!

I thought I was done writing – but just look at the next post involving a gang member and the forfeit of passwords. As a condition of probation this guy had to surrender all passwords to all social media sites. I didn’t know it was even possible for the state to make that demand. Now I know! How would you feel about that if it happened to you?

Nutanix and UC – Part 3: Cisco UC on Nutanix

In the previous posts we covered an Introduction to Cisco UC and Nutanix as well as Cisco’s requirements for UC virtualization. To quickly summarize… Nutanix is a virtualization platform that provides compute and storage in a way that is fault tolerant and scalable. Cisco UC provides a VMware centric virtualized VoIP collaboration suite that allows clients on many devices to communicate. Cisco has many requirements before their UC suite can be deployed in a virtual environment and the Nutanix platform is a great way to satisfy these requirements.

In this post I’m going to cover the actual sizing and implementation details needed to design and deploy a real world Cisco UC system. This should help tie all the previous information together.

Cisco UC VM Sizing

Cisco UC VMs are deployed in a two part process. The first part is a downloaded OVA template and the second part is an installation ISO. The OVA determines the properties of the VM such as number of vCPUs, amount of RAM, and number and size of disks and creates an empty VM. The installation ISO then copies the relevant UC software into the newly created blank VM.

There are two ways to size Cisco UC VMs:

  1. Wing it from experience
  2. Use the Cisco Collaboration Sizing Tool

I really like “Option 1 – Wing it from experience” since the sizing calculator is pretty complicated and typically provides output that I could have predicted based on experience. “Option 2 – Collaboration Sizing Tool” is a requirement whenever you’re worried about load and need to be sure a design can meet customer requirements. Unfortunately the Sizing Tool can only be used by registered Cisco partners so for this blog post we’re just going to treat it as a black box.

Determine the following in your environment:

  • Number of Phones
  • Number of Lines Per Phone
  • Number of Busy Hour calls per line
  • Number of VM boxes
  • Number of Jabber IM clients
  • Number of Voice Gateways (SIP, MGCP, or H.323)
  • Redundancy Strategy (where is your failover, what does it look like?)

Put this information into the Collaboration Sizing Tool and BEHOLD the magic.

Let’s take an example where we have 1,000 users and we want 1:1 call processing redundancy. This means we need capacity for 1,000 phones on one CUCM call processor, and 1,000 phones on the failover system. We would also assume each user has 1 voicemail box, and one Jabber client.

This increases our total to 2,000 devices (1 phone and 1 Jabber per user) and 1,000 voicemail boxes.

Let’s assume that experience, the Cisco Sizing Tool, or our highly paid and trusted consultant tells us we need a certain number of VMs of a certain size to deploy this environment. The details are all Cisco UC specific and not really Nutanix specific so I’ll gloss over how we get to them.

We need a table with “just the facts” about our new VM environment:

Product VM Count vCPUs RAM HDD OVA
CUCM 2 1 4GB 80GB 2500 user
IM&P 2 1 2GB 80GB 1000 user
CUC 2 2 4GB 160GB 1000 user
CER 2 1 4GB 80GB 20000 user
PLM 1 1 4GB 50GB NA

The first column tells us the Cisco UC application. The second column tells us how many VMs of that application are needed. The rest of the columns are the details for each individual instance of a VM.

The DocWiki page referenced in the last article has details of all OVAs for all UC products. In the above example we are using a 2,500 user CUCM OVA. If you wanted to do a 10,000 user OVA file for each CUCM VM the stats can easily be found:

CUCM OVA Sizes

 

Visit the DocWiki link above for all stats on all products.

Reserving Space for Nutanix CVM

The Nutanix CVM runs on every hypervisor host in the cluster so it can present a virtual storage layer directly to the hypervisor using local and remote disks. By default it will use the following resources:

  • 8 vCPU (only 4 reserved)
    • Number of vCPUs actually used depends on system load
  • 16GB RAM
    • Increases if compression or deduplication are in use
  • Disk

In a node where we have 16 cores available this means we’d have 12 cores (16 – reserved 4) for all guest VMs such as Cisco UC. A cautious reading of Cisco’s requirements though would instruct us to be more careful with the math.

The Cisco docwiki page says “No CPU oversubscription for UC VMs” which means in theory we could be in an oversubscribed state if we provision the following in a 16 core node:

CVM x 4 vCPUs, UC VMs x 12 vCPUS = 16 total

It’s safer to provision:

CVM x 8 vCPUs, UC VMs x 8 vCPUs = 16 total

Even though it’s unlikely the CVM will ever use all 8 vCPUs.

Placing Cisco UC VMs

That’s a lot of text. Let’s look at a picture of how that placement works on a single node.

I’ve taken a single Nutanix node and reserved vCPU slots (on paper) for the VMs I want to run. Repeat this process for additional Nutanix nodes until all of your UC VMs have a place to live. Depending on the Nutanix system used you may have a different number of cores available. Consult the Nutanix hardware page for details about all of the available platforms. As new processors are released this page is sure to be updated.

*EDIT on 2015-10-23* Nutanix switched to a “Configure To Order” model and now many more processor core options are available, from 2×8 core all the way up to 2×18 core. This provides a lot of flexibility for sizing UC solutions.

The shaded section of the provisioned, but not reserved, CVM vCPU allocation is critical to sizing and VM placement. 4 vCPUs that will go unused unless the system is running at peak load. UC VMs are typically not IOPS intensive, so I would recommend running some other Non-Cisco workload in this free space. This allows you to get full efficiency from the Nutanix node while also following Cisco guidance.

Follow best practices on spreading important functions to multiple separate nodes in the cluster. This applies to ALL virtualization of UC. If we have one piece of hardware running our primary server for 1,000 users, it’s probably a good idea that the backup unit run on a DIFFERENT piece of hardware. In this case, another Nutanix node would be how we accomplished that.

Remember that at least 3 Nutanix nodes must be used to form a cluster. In the diagram above I’ve shown just a single node, but we’ll have at least two more nodes to place any other VMs we like following all the same rules. In a large Nutanix environment a cluster could contain MANY more nodes.

Installation Considerations

After the UC VM OVAs are deployed the next step is to actually perform the application installation. Without installation the VM is just an empty shell waiting for data to be written to the disk.

I’ll use an example CUCM install because it’s a good proxy for other UC applications.

Cisco_UC_Diagrams_shadow_ISO

The first Nutanix node has two CUCM servers and the second Nutanix node also has two CUCM servers. The installation ISO has to be read somehow by the virtual machine as it’s booted. In VMware we have a number of options available.

  • Read from a drive on the machine where vSphere Client is running
  • Read from a drive inserted into the ESXi Host
  • Read from an ISO located on a Datastore

DataStoreISO

When we select Datastore we can leverage a speedup feature of the Nutanix NDFS. If we put the CUCM ISO in the same NDFS container where the VM disk resides we can use Shadow Clones to make sure that the ISO is only ever read over the network once per Nutanix node.

In our previous example with two CUCM servers, the first CUCM server on the second node would be installed from Datastore. When the second CUCM installation was started on that same second node, it would read the ISO file from the local NDFS shadow clone copy.

 Rinse and Repeat

For all of the UC VMs and all Nutanix nodes the same process would be followed:

  1. Figure out how many and what size UC VMs are needed.
  2. Plan the placement of UC VMs on Nutanix nodes by counting cores and staggering important machines.
  3. Deploy the OVA templates according to your plan.
  4. Install the VMs from ISO making sure to use the Datastore option in vSphere.

In our next blog post we’ll  look at tools that can be used to make VM placement a bit easier and size Nutanix for different workloads.

Thanks for following along! Your comments are always welcome.