Saturday, December 27, 2014

Which private cloud to choose: Openstack vs Others

     I have received many queries from customers regarding which private cloud is suitable for their organization requirement. I always recommend to implement the cloud which satisfies the organization requirement. 
To elaborate more on organization requirement I am taking car's example.


OPENSTACK

        Many people requires Customized cars with modified features because of cars specific functions and requirement so they will build car with different pices and parts. Others likes to go with selecting readymade car models to get into the box features.

       Openstack is like custom build car you can pick and chose the features to implement and modify the features based on your organization requirement. You can even modify the engine (nova, horizon etc.) based on your requirement. but like custom cars you need specific teams to build private cloud with coding and infrastructure resource management skills. VMware, HP Helion, Redhat, ubuntu is working on their distributions for openstack but personally i feel that still none of them are stable enough for production workload.
CLOUDSTACK, vCloud, HP CSM, etc.

  For the users require features in a box solution they have 2 options
    1) Paid license based solutions  (Citrix CloudPlatform, VMware vCloud, Cisco UCSD, HP CSM, etc.)
    2) Opensource solutions (Cloudstack, OpenQRM, Opennebula etc.)

       each options are like different vendors and models of cars. each options has their own features, support and stability. Paid and licensed solutions have features based on license edition so you have to pay more to get more features (eg. vcloud suite standard and enterprise).In The second option all the features are available and the support is available from 

 My personal choice and widely adopted opensource private cloud solution by industry is Cloudstack because of large active community, simplicity, stability and well documented. Cloudstack support is also available in India with Frontier Business Systems.

  In summary, The choice of private cloud technology is always depends on the organization's requirement. each options has their own advantages over others and selection is completely depends on business requirement, cost, stability and support.


  

   

Saturday, December 20, 2014

VDI provisioning using cloudstack

Latest release of citrix VDI and app vertulization XenApp (Xendesktop) 7.5  came up with many new exciting features and one the feature really caught my attention which is the cloudstack(CloudPlatform) and AWS support.

  I think that this is an important step from Citrix to keep a competitive advantage on competing technologies like Microsoft RDS. At least for us at SBP it is important because the customer environments that we host are moving to ‘the Cloud’ (that is built upon Apache Cloudstack (ACS) 4.3) as much as possible.
 
Before Xenapp 7.5 was released it was of course already possible to spin up instances in Cloudstack and install the various Xenapp components, so what has changed? What Citrix actually released with XenApp 7.5 is that you can now use Machine Creation Services (MCS) with Cloudstack. Also with Amazon AWS, Without this integration you had 2 options for provisioning workers like XenApp servers. 
    1) Citrix Provisioning Services (CPS) 
    2)Provision XenApp servers from Cloudstack templates.
 
  We tried the features with installed an Apache Cloudstack version 4.3 in Lab environment, but everything that is described in the document was equally valid for our ACS. 
 
The way to work around that is to create a ACS user per environment and give this ACS user (a sort of service account) permissions on the network

Cloudstack Networks

Normal user permissions are sufficient to use MCS with these networks. Citrix Studio is then configured to use these ACS user accounts to communicate with ACS:

Citrix Studio Hosting

To configure that simply copy the API and Secret keys of the ACS user account into the connection properties of Citrix Studio. As a result all jobs on ACS run with these credentials.
 
Next, we had to give these accounts permissions on all instances and templates within ACS that are used by Citrix Studio and live in these networks. In our case the Storefront servers are also in these networks so these also had to be linked to these accounts. The Volume Worker template also needed to be linked to these accounts (which means a separate Volume Worker Template per environment) and the Golden Image server as well. The last thing that we needed to be aware of is that the instances that are not deployed with MCS but do live in these networks (Storefront, Golden Image server) needed to be deployed with API and Secret keys of these accounts. Within SBP we use Chef for our deployments, so we have to adjust our knife.rb’s with these keys. The end result of this is that we have separated our TAP also nicely within ACS.
 
Another thing we ran into had to do with the service offerings that we used. Normally our instances in ACS have a service offering that is High Availability (HA) enabled. That means that if the instance goes down, ACS automatically tries to start the instance again. In our case (we are hosting mission critical environments) that is of course of essence. But those offerings cannot be selected by MCS when new XenApp servers are deployed. Because what happens is that during the provisioning the Volume Worker instructs the new XenApp instance to shut down and stay down. However ACS starts the instance again which will result in a failed provisioning process. So during deployment we select an offering that is not HA enabled and when all is done we make sure the instance gets an HA enabled service offering. 
 
What also would be handy is that we could have MCS read a file of specific machine names / IP address combinations and that MCS would create the new XenApp instances accordingly. Currently you only have the option to provide a machine name from a range (e.g. HOSTNAME##, where ## are a unique number in a range). In our case the Test and Acceptance instances run in 1 specific datacenter and our naming convention details that these are odd numbered. So deploying a number of these machines in 1 batch is normally not possible. As a workaround we would create a few even numbered AD objects first, so that MCS only deploys the odd ones. Then after the deployment we would remove the even numbered AD objects again. Because we cannot instruct MCS to use specific IP addresses, ACS selects them which means that after deployment we have to verify which IPs are used and write those down in our IP numbering plan. In itself not really an issue, but if we would also needed to restrict traffic using firewalls for specific XenApp servers, then it becomes more cumbersome. Not really something for enterprise scale.
  
One last suggestion towards Citrix is to improve the error handling in Citrix Studio of the provisioning process. Both the logging node in Studio as well as the Actions tab show only high level progress information. An example we faces was that our primary storage became almost full, but not completely. Now ACS uses a formula that when the storage capacy exceeds some level that new instances are not getting deployed. As a result the provisioning process fails. Studio only informs you that a disk is being copied and then a generic error message is shown. We had to dive into ACS logging to find out that the reason was that no suitable storage could be found. It would have been nice if Studio would have picked this up and translated it into a suitable error message.
 
it works quite nicely and it is possible to use this in a production environment. If this would this also scale into the hundreds of desktops or XenApp servers I cannot tell. I think in such a scenario you would rather leverage Citrix Provisioning Services.
 

Friday, September 5, 2014

Private cloud orchestration selection: Cloudstack vs Openstack

Several organizations are now investing in cloud computing because they have realized it has the ability to promote rapid growth while at the same time reducing the speed and costs of application deployment. Enterprises no longer need to carry the heavy burden of maintaining computing resources that are used periodically and left idle most of the time. However; even as the hype around cloud computing continues to grow, there are still numerous cloud related issues that are the source of debate and controversy, especially on the enterprise level. A good example is the CloudStack vs. OpenStack debate.
Open source is usually praised amongst IT professionals mainly because it provides an IT environment with a large community of support. Consumers also love it because it frees them from licensing costs while providing both flexibility and customization. When it comes to open source Infrastructure as a service (IaaS) there are two key players; OpenStack and CloudStack.
Both CloudStack and OpenStack are open source software platforms for IaaS that offer cloud orchestration architectures used to make the management of cloud computing easier and more efficient. This open source cloud squabble began when Citrix, a former OpenStack supporter, announced that it was going to re-establish its own cloud stack  under the Apache foundation. The ensuing battle between the two is of a strategic nature with both trying to become the open source IaaS stack most used for building enterprise private clouds.
One thing remains certain, open source cloud platforms are popular for the same reasons Linux took hold; low cost point of entry and the prospect of application portability. The only way to gauge which cloud stack platform is likely to win this game of stacks, is to take a closer look at both.

cloudstack

CloudStack
CloudStack is quickly gaining momentum amongst several organizations. Initially developed by Cloud.com, CloudStack was purchased by Citrix then later on released into the Apache Incubator program. It is now governed by the Apache Software Foundation and supported by Citrix. Since the Apache transition, other vendors have also joined the effort by enhancing and adding core capabilities to the core software. The first stable version of CloudStack was released in 2013.
The Good 
  1. Unique Features: The latest version of CloudStack includes commendable features such as storage independent compute and new security features that enable admins to create security zones across different regions. Its features enable day-to-day use and resource availability.
  2. Smooth Deployment: The installation Of CloudStack is quite streamlined. In a normal setup, only one VM would run the CloudStack management server while another VM acts as the de facto cloud infrastructure. From a deployment and testing perspective, the whole platform can be deployed on one physical host.
  3. Scalability: CloudStack has been designed for centralized management and massive scalability; enabling the effective management of numerous geographically distributed servers from a single portal.
  4. Multi Hypervisor support: The CloudStack software supports multiple hypervisors, including Citrix XenServer, Oracle VM, VMware,  KVM and vSphere. On top of that, CloudStack also supports a variety of networking models, like flat networks, VLANs and openflow.
  5. Detailed Documentation: The CloudStack documentation is well structured and one can easily follow it and eventually get something that works.
  6. Interactive Web UI: CloudStack has a polished and advanced web interface that makes it more user friendly.
The Bad
  1. Rigid Installation process and Architecture: CloudStack’s monolithic architecture has posed some challenges one of them being reduced installation flexibility. In some cases, additional knowledge might be required to install it.
The Ugly
  1. Community Support: Since CloudStack is relatively new in the open source IaaS space, it lacks a large community support base and it is not backed as much from the industry. However, this is likely to change considering the fact that CloudStack comes with a refined product coupled with a heavy user adoption.
openstack-logo
OpenStack
OpenStack is an open source IaaS initiative for managing and creating huge groups of virtual private servers in a cloud computing environment. It was initially developed by Rackspace and NASA. With an upwards of 200 companies adopting this platform, it is definitely one of the most popular cloud models out there. OpenStack’s main goal is to support interoperability between cloud services while enabling enterprises to create Amazon-like cloud services within their own data centers.
It is currently under the management of the OpenStack Foundation and is freely available under the Apache 2.0 license. OpenStack consists of a variety of interrelated stack parts that are all tired together to create the OpenStack delivery model.  The popularity of OpenStack has earned it the title of “the Linux of the cloud”
The Good
  1. Hypervisor support: Open Stack provides support for Xen and KVM, with limited support for  VMware ESX, Citrix Xen server and Microsoft Hyper-V. It does not support bare-metal servers and Oracle VM.
  2. Wide integration with storage and Compute technologies:  Constant storage is provided using OpenStack object storage to manage the local disk on compute node clusters. A variety of machine image types such as OVF, VMDK,VDI,VHD, and Raw are managed via the OpenStack image service.
  3. Enhanced Networking Capabilities:  OpenStack has a networking component (Neutron) that has direct integration with OpenFlow and allows higher levels of cloud scaling and multi-tenancy by adopting a variety of software-defined networking technologies into the cloud. Additionally, the OpenStack networking framework contains services like load-balancing features, intrusion detection services (IDS) and firewall technologies. All these features make OpenStack a stack platform capable of great failover and resilience.
  4. Large Community Support: OpenStack is without doubt the most mature stack-based cloud control model. It has the backing of large industry players like Dell, HP, and IBM alongside a long list of contributors.
The Bad
  1. Difficult to Configure and deploy: Since OpenStack is deployed through specific important incubator projects; expertise and time is required to get it up and running. Admins have said that several key components have to be managed from different command line consoles. OpenStack has eight modular components – Image server, Identity service, Dashboard, Networking, Block storage, Open storage, Amazon Web Services and compute compatibility. To some, this encompasses a slightly fragmented architecture; however, the upside of having several modular components is that users can choose which features/projects are required.
The Ugly
  1. Not Enterprise ready: One of the major downsides of OpenStack is the fact that it has not been packaged for enterprise; however, the situation is likely to change considering its large number of contributors.

Saturday, June 28, 2014

Opensource private cloud selection: features and interoperability



For last few days i was working on some of the open source  cloud option. My first task was to select the best cloud orchestrator engine based on features and interoperability with hypervisor, network and storage.
   I thought about writing this blog to consolidate above concern in single post. I am considering openstack and cloudstack. infect i am a vmware guy but i am not going to mention anything about vCloud because of its hypervisor interoperability issue.  Tim Mackey has presented really great comparison for hypervisor selection for different cloud selection which is available here.  

I am going to start with cloud platform resource feature comparision with various hypervisor and then i will move forward with cloud feature availability with different hypervisor.


Cloudstack 4.3

Network

Option
XenServer
vSphere
KVM
Hyper-V
Max VLANs
800
254
1024
4094
IPv6
No
No
Yes
No
Multiple IPs per NIC
Yes
Yes
Yes
Yes
Nicira NVP
Yes
No
Yes
No
BigSwitch VNS
Yes
No
Yes
No
MidoKura
No
No
Yes
No
VPC
Yes
Yes
Yes
Yes
NetScaler
Yes
Yes
Yes
Yes
F5 BigIP
Yes
Yes
Yes
Yes
Juniper SRX
No
Yes
Yes
Yes
Cisco VNMC
No
Yes
No
No
Security Groups
Yes- bridge
No
Yes
Yes
IPv6
No
No
Yes
No
Multiple IPs per NIC
Yes
Yes
Yes
Yes
Nicira NVP
Yes
No
Yes
No
BigSwitch VNS
Yes
No
Yes
No
OVS GRE tunnels
Yes
No
No
No
Nicira STT tunnel
Yes
Yes
Yes
No
MidoNet
No
No
Yes
No
VXLAN
No
Yes
Yes
No
NVGRE
No
No
No
No
Nexus 1000v
No
Yes
No
No
Juniper Contrail
Yes
No
No
No
Palo Alto
Yes
Yes
Yes
No

Primary storage



Feature
XenServer
vSphere
KVM
Hyper-V
Local storage
Yes
Yes
Yes
Yes
NFS
Yes
Yes
Yes
No
SMB
No
No
No
SMB3
Single path iSCSI
Yes
Yes
Yes
No
Multipath iSCSI
PreSetup
No
No
No
Direct array
No
VAAI
No
No
Shared Mount
No
No
Yes
No
Template format
VHD
OVA
QCOW2
VHD
SolidFire Plugin
Yes
Yes
Yes
No
NetApp Plugin
Yes
Yes
Yes
No
Zone wide
No
Yes
Yes
No
Ceph RBD
No
No
Yes
No
Clustered LVM
No
No
Yes
No

Secondary storage



Option
XenServer
vSphere
KVM
Hyper-V
NFS
Yes
Yes
Yes
No
Swift(1)
Yes
Yes
Yes
No
S3 compatible (2)
Yes
Yes
Yes
No
SMB
No
No
No
Yes


Cloudstack features



Feature
XenServer
vSphere
KVM
Hyper-V
Disk IO Statistics
Yes
No
Yes
Yes
Memory Overcommit
Yes (4x)
Yes
No
No
Dedicated resources
Yes
Not with HA/DRS
Yes
Yes
Disk IO throttling
No
No
Yes
No
Disk snapshot (running)
Yes
Yes
No
No
Disk snapshot (pluggable)
Partial
Partial
No
No
Disk snapshot (Stopped)
Yes
Yes
Yes
Yes
Memory snapshot
Yes
Yes
Yes
No
Zone wide primary storage
No
Yes
Yes
No
Resize disk
Offline
Online Grow
Online
No
High availability
CloudStack
Native
CloudStack
CloudStack
CPU sockets
6.2 and higher
Yes
Yes
Yes
Affinity groups
Yes
Yes
Yes
Yes

































Openstack Havana

Network


Option
XenServer
vSphere
KVM
Hyper-V
Max VLANs
800
254
1024
4094
IPv6
No
No
No
No
Multiple IPs
Yes
Yes
Yes
Yes
Security Groups
Yes
Yes-NVP
Yes
No
IPv6
No
No
No
No
Multiple IPs per NIC
Yes
Yes
Yes
Yes
Nicira NVP
Yes
Yes
Yes
No
Firewall rules
Yes
No
Yes
No
Routing
Yes
No
Yes
No
OVS GRE tunnels
Yes
No
No
No
Nicira STT tunnel
Yes
Yes
Yes
No
VXLAN
No
Yes
Yes
No
NVGRE
No
No
No
No
Nexus 1000v
No
Yes
Yes
No
Nicira NVP
Yes
Yes
Yes
No
BigSwitch VNS
No
No
Yes
No
MidoKura
No
No
Yes
No
Brocade
No
No
Yes
No
Plumgrid
No
No
Yes
No
Ryu
No
No
Yes
No
NEC
No
No
Yes
No
Cisco VNMC
No
No
Yes
No

Storage



Feature
XenServer
vSphere
KVM
Hyper-V
Template format
VHD
VMDK
QCOW2
VHD
Local storage
Yes
Yes
Yes
Yes
NFS
Yes
Yes
Yes
Yes
Fiber HBA
No
No
Yes
No
iSCSI
Yes
Yes
Yes
Yes
iSCSI CHAP
Yes
No
Yes
No
Ceph
No
No
Yes
No
Gluster
No
No
Yes
No
ZFS
No
No
Yes
No


Openstack features 



Feature
XenServer
vSphere
KVM
Hyper-V
Pause VM
Yes
No
Yes
Yes
Inject networking
Guest agent
Yes
Flat (Debian)
Yes
Inject file
Yes
No
Yes
cloudbase-init
Serial console
Yes
Yes
Yes
No
VNC consoles
Yes
Yes
Yes
Yes
SPICE console
No
No
Yes
No
Snapshot
Yes
Yes
Yes
Yes
Set administrator password
Yes
No
No
cloudbase-init
Auto configure disk
Yes
No
No
No
Evacuate host
Yes
No
Yes
No
Volume swap
No
No
Yes
No
Volume rate limiting
No
No
Yes
No