All Posts in “Enterprise Design Considerations”

Bi-Modal Schmi-modal

Everyone does work that they try to make the best they can because most of us take pride in our work. It’s that pride that instills passion in our debates when we defend what we have done or our concept of what we have done against criticism. While I am as guilty of this pride in my work as anyone else there are times where a debate is justified.

This is one of those times.

bimodaldareThe concept of bi-modal isn’t a new one, and in fact has been around since before I was working in IT. However, books like the Lean Enterprise and others have lauded bi-modal as the defacto method for running an IT shop to enable Developers and Operations to each be efficient. This concept has matriculated in recent years to the analyst community to the point where even Gartner has adopted the conceptual notion of bi-modal, and if Gartner says it, it must be true.

Now I am not trying to punch up at the bigger folks here, just merely my opinions and views based on what I have read and experienced.

Let’s first dive into what bi-modal is, “bi” means 2 and modal means modes (you expected that sarcasm didn’t you?). So if you have 2 modes one would be operations and one would be developers. Each mode has it’s own unique set of requirements, not to pick on Gartner here but they use the analogy of Sprinters and Marathon runners.

bimodalSprinters are agile, fast, and their races are short, this translates to developers nicely even to the point that agile development use the term sprint for it’s development cycles.

Marathon runners on the other hand are more methodical; they play a long game, and worry about endurance. This sound familiar? Yeah, that’s the Operations side, concerns about maintaining the environment they are charged with, and the longevity of success for application and hardware therein. Availability, reliability and a solid foundational plan are key. It can take months or more to fully implement a project for enterprise operations folks.

Now you may be saying to yourself sure this makes perfect sense what’s wrong with that? Well bi-modal goes a step further, because these two modes have different requirements, the belief than is that they need to different infrastructures to support each. Yeah I get I work for one of those infrastructure companies, but I don’t necessarily support this view. Because what this means is new gear hits the floor and say it’s for Mode 2 the Sprinter’s who is going to get strapped with doing that management? Yeah Mode 1, because Developers can’t be bothered to maintain their own hardware or if they do have to they get dinged on security compliance issues (been there done that).

It just doesn’t make sense it’s like how Twix builds the left and right Twix in different factories. I mean sure Right Twix has that cool steampunkesque packing tape dispenser but it seems like a huge waste of resources and how did it ever get that far? Was there not someone overseeing manufacturing expenditures?

Hey that’s a great Segway and no I am not complimenting Woz on his localized form of mobility. If bi-modal isn’t right what is? Let me answer that question that you didn’t ask with a question that you won’t really answer, what is missing in bi-modal?

I will give you a second.

That’s right you are smart, we are missing an architectural planning element. You see while bi-modal is conceptually right about the needs of these two groups, what they miss is that if you let either go off on their own never the two shall meet. That misses a huge mark when it comes to trying to converge Devs and Ops to ensure the goals of the organization are achieved don’tchathink?

Tri-modalEnter someone who I tend to agree a great deal with in Simon Wardley, who presents the case that Bi-modal is more of the same archaic silo’d approach to meeting business objectives which have stagnated and caused discourse in IT organizations for decades. He poses that tri-modal IT would be far more effective as an approach. Laying it out in the analogy of Pioneers, Settlers and Town Planners. This got a chuckle from the NMVMUG crowd the other day when I brought it up, as most East Coasters don’t really understand the concept of how vast the homesteading territory actually was. But I digress. In a tri-modal approach Pioneers are the developers they are constantly in search of what is new and never sitting still. Meanwhile Settlers are the Ops folks who stake roots in the datacenter and ensure that it thrives as an ecosystem. Town planners are the glue here, they leverage strategy to ensure that the Pioneers are getting what they need, and the Settlers are getting support from the Pioneers and that the goals are being met. Back into the analogy the Town Planner would ensure that a pioneer wouldn’t set up a temporary cattle paddock next to the drinking well because that’s how you get **it in the water.

The concept of tri-modal speaks to something else though, which is the maturity of an organization. While developers tend to be the founders of software or companies, once established their findings and creations become the baseline which operations have to maintain. Once we hit an operational maintenance mode for anything we start to look at efficiencies in how we productize it (that’s business). Some of the time that will mean changing the way we position or license the product set or the way we manage the infrastructure and move towards the elasticity of cloud, that is commoditization. Look at the path storage has taken, at once it was all built to suite specific needs, then productized and marketed and startups jumped in the ring, now it’s commoditized as we look to moving our data to the cloud. That is the natural progression of most successful solutions.

Bi-modal isn’t wrong but I think a disservice is being done to those who buy into it as the only or best method to combat the ever-changing ecosystem. Business and organizations today are concerned with being out paced or becoming obsolete. That means competitive advantages what better advantage is there than being able to reach full evolutional maturity of products faster than your competitors? Proper planning and execution is how you do that and breaking the silos through team alignment towards business objectives is the key. That’s why tri-modal makes more sense.

/Rant

vCloud Air On-Demand Beta Review

Ambassador

The IT community is split into sub-tribes, the vendors who sell technology and the operations folks that use it. 2014 vExperts were given early access and beta use of vCloud Air on demand services with free credits to test the environment in exchange those with this access would then post a blog. This is that blog ….

Dun-Dun

Sorry I watched some Law & Order before starting this blog.

If you are working in the VMware arena and don’t live under a rock, odds are you have heard about vCloud Air (formerly VMware Cloud Hybrid Services vCHS). If not a brief aside:

VMware vCloud Air is a hybrid cloud solution, with pre-set virtual templates and the access and capability for bursting from a customer datacenter into this hosted solution. With vCloud Air your company or organization can leverage internal templates by placing a copy in your cloud catalog, as well as extend layer 2 networking. Another benefit is the ability to leverage existing management tools and consoles to manage the cloud environment. This includes extensible controls into vCenter and vRealize Automation Center (formerly vCAC).

Now that we are all on the same page, the comparisons of VMware’s cloud to Amazon AWS EC2 have basically been that VMware is running from behind when it comes to development environment usage and on-demand. Up to this point vCloud Air has only been available as a contracted block of resources that are shared with in a tenant organization. VMware will be announcing the general availability of vCloud Air On-Demand service. This is going to be VMware’s Coup de eta for cloud solutions.

Where does it start you might be saying, or why do I care. Well for the later if you are reading this blog you are probably doing it for the comedy more than the technical content. But for the former, it all starts at My.VMware.com where you establish a subscription service and enter your billing information. All of your billing is run through my.vmware and allows for centralized cloud costs. This helps to eliminate shadow IT spend by centralizing management but more on that in a bit. Here is the my.vmware dashboard to track pricing.

Screen Shot 2015-01-21 at 1.04.07 PM

 

But wait there’s more, considering that this is just the billing management. There is a difference between vCloud Air and the On-Demand version. Here is what vCloud Air looks like this:

Screen Shot 2015-01-21 at 12.53.21 PM

While vCloud Air on Demand looks like this:

Screen Shot 2015-01-21 at 12.07.59 PM

(vCloud Air on demand dashboard)

You can still create a virtual private cloud (VPC) as with standard vCloud Air, however within the VPC you get a Resource Usage Dashboard

Screen Shot 2015-01-21 at 12.31.25 PM

From here you can see the utilization and monthly cost assessment. This is very similar to EC2’s which again unless you live under a rock you know looks like this:

Screen Shot 2015-01-21 at 12.39.15 PM You can also drill into individual VPC’s to see their specific cost modeling and usage.

Screen Shot 2015-01-21 at 12.34.06 PM

Now is the point of the post where you may be asking yourself managing is cool but what about the VM’s and Services.

Screen Shot 2015-01-21 at 12.57.35 PM

Let’s start with VM’s there are some pre-configured VM’s ready for easy deployment. Here you will find your usual suspects and can leverage your own MS licenses or pay to play similar to how AWS works. Then there is an assortment of linux images CentOS and RHEL.

In addition you can connect your vCloud Air On-Demand instance to your vCenter instance and copy template images and add them to your catalog. This is the part that should be making admins and CIOs smile. Why, because what this means is we can centrally manage and secure the images that are deployed in the cloud. Say what? That’s right fully managed and secured image right from the comfort of your own vCenter image. Remember how I mentioned Shadow IT?

Shadow IT is the concept that developers and app owners are going out and leveraging AWS to obtain the IT they need to accomplish their jobs. Mostly this happens because internal IT is burdensome and slow. vRealize is attempting to resolve this by allowing for IT automation of these applications and environments. Take this a step further and allowing these VMs to be provisioned in the cloud just as easily and on demand, and with an approved image would increase security and meet the app owner\dev requirements. In addition that are starting to drive organizations away from AWS are the costs associated with additional features that are additional costs like RDS, Elasticache and DirectConnect.

With all this said, vCloud Air On-demand seems like a decent solution for the VMware Admins who are looking for a way to avoid the long term contracts or aren’t sure how to size their public cloud deployment. I don’t think it is quite where EC2 is with regard to capabilities and features but VMware is investing a lot in vCloud Air. I think the future will show that this investment will begin to close the gap. In the mean time watch the VMware announcements that will be coming out during PEX.

Feel free to ask question I am happy to give some more testing feed back etc.

PaaS is BadaaS

Admittedly it has been a long time since I have written code as part of my job. I have written scripts and worked on projects but not really true code writing to build an application. Now everyone seems to be doing just that, my 9 yr old daughter is interested in writing her first app for her iPod Touch, my 13 yr old nephew has taken coding classes and gone to coding summer camp.

I am however a big consumer of apps, whether it is the Movember app during the month of prostate awareness in November, or twitter or any of the countless others that I have installed across devices. The saying “software is eating the world” appears to be true. I am constantly looking for ways to interact with customer service and sales people less and less and report issues or buy things through apps.

The types of applications have changed too, I am not talking about the Exchange and SharePoint monoliths that require months of planning and deployment time and consulting hours. I am talking about the mobile applications and the homegrown in house finance and collaboration systems that are popping up through out corporations and agencies. These applications are written in Java, Python or Ruby and are developed using agile methodology. They are deployed iteratively and constantly updated to ensure they are meeting their users needs and requests. This is the age of software, and perhaps it really is eating the world.

Enter PaaS

That’s where PaaS comes in, let’s imagine a world where corporate Git repositories are leveraged to collaborate on application builds. The code is then stored in the repository, the agency has infrastructure in multiple datacenters and have already tackled the job of creating a service catalog for the traditional platform 2 applications (Exchange, Windows, SharePoint). In this world there would be a PaaS instance deployed in each of their datacenters, as well as into a public cloud offering like vCloud Air\vCGS or even AWS. Now let’s say that our Developers have access to that PaaS and a browser (crazy talk I know).

Leveraging a Cloud Foundry deployment they could perform CF Push commands from the CLI or via the browser GUI call the Git Repository and deploy their application to any of the sites available to them or all the sites at once. Each dev team could have their own agnostic CF environments to deploy their application into and unlike OpenShift from RedHat these teams won’t be able to see or sniff the traffic running in other dev instances.

These applications can be pushed across sites and scaled up in seconds, 100’s of instances near instantly deploying all from code. The PaaS examines the code determines the infrastructure requirements and if they have the appropriate pieces be it a linux VM or an in memory database service and builds the required pieces as it deploys the application.

I know what you are going to say so let me beat you to it, “But Docker can containerize the application and allow me to deploy it to blank infrastructure as well”. The answer there is both yes and no, because Docker can enable application decoupling from the infrastructure and container based apps can be deployed more nimbly, however Docker requires a pretty sturdy infrastructure to stand on and still relies on a third party configuration and automation layer; think Puppet, Chef or Ansible. Docker is a cool technology but it fails to meet the same ease of deployment that Cloud Foundry has.

Don’t believe me? Check out this video demo:

Ok I get that it’s a marketing video but you see the potential it’s a matter of pushing out application code and being able to do it across instances and change pointers without downtime. Meaning you can have continual releases of the application. All Cloud Foundry cares about is Apps, DNS names, and number of instances, you don’t have to worry about whether the instance is starting because once you push you are told when the app is deployed. No more checking on your AWS instance to see if each service started.

To me PaaS really is the future and it’s cool as hell.

Try it yourself at

http://Run.pivotal.io