Deploying Apache Cloudstack with vSphere/vCenter - vmware

For a group project in one of my university IT classes, each group is given 3 servers and the professor wants us to get an Apache CloudStack environment running using those three. While initially vague on instructions, he later informed us that we should install the ESXi hypervisor on all 3 of our servers and go from there.
We first installed ESXi on all 3 of our servers. Then we installed vCenter server on one of them in order to combine all the computing resources by adding each as a host in a cluster before we start setting up CloudStack. What we are about to do next is install the CloudStack Management server on a VM created in vCenter server.
I was reading the CloudStack documentation before we start the installation which is where my question stems from. The documentation mentions that a host should not have any running VMs on them before getting added to CloudStack. Here is the exact text:
Ideally clusters that will be managed by CloudStack should not contain any other VMs. Do not run the management server or vCenter on the cluster that is designated for CloudStack use. Create a separate cluster for use of CloudStack and make sure that they are no VMs in this cluster.
So my question is, does that include the management server VM? If it does, would that mean we have to make a separate cluster for just the host server that contains the management server? Cause if that's the case, we can't use any of the other resources on that server that is running the management server. Or does it mean that you can but it's just not recommended?
On top of that, the documentation also mentions the following:
Put all target ESXi hypervisors in dedicated clusters in a separate Datacenter in vCenter.
So would I have to put the ESXi host containing vCenter Server and CloudStack Management Server in both a separate datacenter and cluster?

Related

Cloud Compute Engine VS VPS

Today I set up my first VM instance on Google Cloud Platform.
I wanted to install a simple lampp server with apache, php and MySQL.
And this is what I have done (ssh and a bunsh of apt-get install).
Everything works fine!
Now I heard that these instances are suppose to be scalable, which means if I have 100,000 http requests per second on my server it shouldn't lag.
So why do I need to select the RAM to install on my VM instance (shouldn't I pay according to the resources my VM use)?
Because I chose 2Go but will my instance be able to serve the 100,000 http request per s?
If not, what is the point to choose a VM instance instead of a VPS or dedicated server (because I can also choose my RAM on these solutions)?

Best Approach to Create and Deploy Configurable Virtual Machine

I am new to Vmware APIs, is there some way to use Rest/Soap APIs to deploy a VM on a given IP of either an ESXi Server or a Vcentre Server?
I know there exists CreateVM_Task in VSphere Web Services SDK but how to use it for an ESXi Server on a remote location?
Theoretically, you run the sample the exact same way. However you authenticate to the ESXi host directly instead of the vCenter server.
Now that I think about it, you'll probably also have to remove the datacenter parameter since hosts don't contain datacenter objects.

AWS - What are the exact differences between EC2, Beanstalk and LightSail?

What are the exact differences between EC2, Beanstalk and LightSail in AWS?
What are good real time scenarios in which I should use these services?
They are all based on EC2, the compute service from AWS allowing you to create EC2 instances (virtual machines in the cloud).
Lightsail is packaged in a similar way than Virtual Private Server, making it easy for anyone to start with their own server. It has a simplified management console and many options are tuned with default values that maximize availability and security.
Elastic Beanstalk is a service for application developers that provisions an EC2 instance and a load balancer automatically. It creates the EC2 instance, it installs an execution environment on these machines and will deploy your application for you (Elastic Beanstalk support Java, Node, Python, Docker and many others)
Behind the scenes, Elastic Beanstalk creates regular EC2 instances that you will see in your AWS Console.
And EC2 is the bare service that allows the other to be possible. If you choose to create an EC2 instance, you will have to choose your operating system, manage your ssh key, install your application runtime and configure security settings by yourself. You have full control of that virtual machine.
In simple terms:
EC2 - virtual host or an image. which you can use it to install apps and have a machine to do whatever you like.
Lightsail - is similar but more user friendly management option and good for small applications.
Beanstalk - an orchestration tool, which does all the work to create an EC2, install application, software and give you freedom from manual tasks in creating an environment.
More details at - https://stackshare.io/stackups/amazon-ec2-vs-amazon-lightsail-vs-aws-elastic-beanstalk
I don't know if my scenario is typical in any way, but here are the differences that were critical for me. I'm happier EC2 than EB:
EC2:
just a remote linux machine with shell (command line) access
tracable application-level errors, easy to see what is wrong with your application
you can use AWS web console panel or AWS command line tool to manage
you will need repeated steps if you want to reproduce same environment
some effort to get proper shell access (eg fix security rule to your IP only)
no load balancer provided by default
Elastic Beanstalk
a service that creates a EC2 instance with a programming language of your choice (eg Python, PHP, etc)
runs one application on that machine (for python - application.py)
upload applications as .zip file, extra effort needed to use your git source
need to get used to environment vs applications mental model
application level errors hidden deep in the server logs, logs downloaded in separate menu
can be managed by web console, but also needs another CLI tool in addition to AWS CLI (you end up installing two CLI tools)
provides load balancer and other server-level services, takes away the manual setup part
great for scaling stable appications, not so much for trial-and-see experimentaion
probably more expensive than just an EC2 instance
Amazon EC2 is a virtual host, in other words, it is a server where you can SSH configure your application, install dependencies and so on, like in your local machine. EC2 has a dozen of AMI (Amazon Machine Image: it is some kind of operating system of your EC2 server, for instance, you can have EC2 running on Linux based OS or in windows OS). To summarize, it is a great idea if you need a machine in your hands.
Amazon Lightsail is a simple tool that you can deploy and manage application with small management of servers. You can find it very practical if your application is small, For instance, it will perfectly fit your application if you use Wordpress or other CMS.
AWS Elastic Beanstalk is an orchestration tool. You can manage your application within that service, it is more elevated then AWS Light Sail.
If you still do not understand the differences, you can take a look at each service overview.
There is also an answer in Quora
I have spent only 10 mins on these technologies but here is my first take.
EC2 - a baremetal service. It gives you a server with an OS. That is it. There is nothing else installed on it. So if you need a webserver (nginx) or python, you'll need to do it yourself.
Beanstalk - helps you deploy your applications. Say you have a python/flask application which you want to run on a server. Traditionally you'll have to build the app, move the deployable package to another machine where a web server should be installed, then move the package into some directory in the web server. Beanstalk does all this for you automatically.
LightSail - I haven't tried it but it seem to be an even simpler option to create a server with pre-installed os/software.
In summary, these seem to make application deployment more easier by pre-configuring the server/EC2s with the required software packages and security policies (eg. port nos. etc.).
I am not an expert so I could be wrong.

When using hyperedger with virtualbox, can i have some instances at one network?

I am a beginner in a block chain. So there are many questions.
When configuring the hyperledger network, create multiple ubuntu instances using virtualbox on one pc. Can the peers within each instance be connected in a single block-chain network?
Thanks in advance for your availability.
You are correct in identifying that the Peers need to communicate with each other. In the default Development Fabric, all the docker containers are running on a single machine and the network addressing/routing is managed by Docker Compose. If you split your fabric to separate Virtualbox Ubuntu instances, you will have to understand and manage the network addressing/routing. This is a Docker and networking issue, not really a Fabric or Composer issue. You may find that Kubernetes is the most helpful way forward for you or Docker Swarm.
For that, you have to create your fabric network and then add everyone to the network. You need to configure each and every peer in the channel config using configtxgen tool.

cloudfoundry on openstack iaas - understanding the stack

I am evaluating cloudfoundry (private cloud option) with Openstack as an IaaS candidate.
I have following setup in mind, but looks like I am missing some connections -
I will have OpenStack installed
On one VM on openstack (ubuntu 10.4 image), I will install cloudfoundry cloud_controller
On other multiple VMs on openstack, I will install cloudfoundry DEAs
And this I understand as called a multiple hosts installation of cloud foundry
Now when I push an application to cloudfoundry using VMC (with 5 instances request), One of the Cloudfoundry DEA will spawn 5 VMs on itself and deploy/run the app on all 5 cloudfoundry VMs
That means I have 5 instances of my app running
I can access the app through a single URL and cloudnfoundry controller/router will route the request to one of the running instances of my app
Now for scaling the infrastructure, I can reconfigure my openstack instances and restart them with new configuration (i.e. more volume, more RAM etc)
And for scaling the application, I can simply add more instances to the cloudfoundry vmc push command
Sorry for the writeup but pls suggest if this is a valid understanding (also if you guys have better options - basically we are looking at a scalable application and infrastructure for developers)
Thanks Much,
Vcap OSS questions are best directed to the vcap dev site and I would suggest you start there.