Mesos and Openstack

This article is a question on Quora. The questioner is wondering about the future development trend of private cloud. What is the relationship between Mesos and OpenStack, and can they replace each other?
Experts from Mesosphere and Rackspace interpreted this issue from the functions and product positioning of OpenStack and Mesos. The relationship between them is not a substitute for each other,
but has its own emphasis and complements each other, depending on the actual needs of users. Hopefully the content of this article will help readers gain a better understanding of open source products and related concepts in the private cloud space.

Questions on Quora

What's the future of private cloud, Mesos? Or OpenStack?

In terms of private cloud, Mesos and Docker seem to be a perfect match. Google has been working on this research. I am curious about the future of private cloud. What do you think?

Answered by: Lukas Löschea (Works at Mesosphere and previously used OpenStack at work)

Mesosphere and Openstack solve completely different problems. In fact, they can work together. Users can run Mesos on OpenStack clusters,
which can bring many additional benefits, such as improved system utilization and fault tolerance.

I found the initial configuration of OpenStack to be a lot more difficult than Mesos, but the overall understanding of the OpenStack system was a lot easier because OpenStack clusters run basically the
same way we've run systems over the past few years. The basic idea of ​​OpenStack is to provide virtual servers. To achieve this, OpenStack also provides a good hardware layer abstraction.
However, the cluster formed by virtual machines may make it difficult for you to operate and maintain, and the maintenance of each virtual machine is not easy. The problems encountered by users are basically
similar to the previous direct maintenance of physical machine clusters. You still need an operating system, some configuration and management tools like Puppet, Chef, Salt, Ansible, etc., and a separate host to run these
tools. The idea of ​​containerization is a technology that comes after this. Although there is already a driver for Docker Nova on OpenStack, it seems to me that most people use OpenStack to
create virtual machines rather than containers. The way they use OpenStack is more similar to how they use AWS.

The reality is that users don't need that many servers, they just want to be able to get their services up and running and make them work. From this perspective,
there is not much OpenStack can do. Providing a server is an ultimate solution. Ultimately, all services must run on the server. But if I had other options, I'd rather
run my services in such a way that they can scale infinitely (I don't care how and where they run), can be automatically detected when services fail and can be repaired automatically ,
I also don't need to be woken up at 3am to perform maintenance on the service. That's what Mesos can accomplish.

Mesos users can adapt their work patterns in new ways, which can greatly simplify the workflow. For example, if a user uses Marathon to run a service for a long time, the
workflow can be set up like this: the developer can commit code to the staging branch, and the CI (Continuous integration) server (running in the Mesos cluster) will build a
docker image And upgrade Marathon REST API to deploy via docker image. If the services are running normally during the staging phase, the developer will merge his newly submitted
code into the master/production branch, thus completing the upgrade and deployment of the production system.

The final effect should be this: For the user, the so-called deployment process simply means that the developer commits his code to the corresponding branch. Similar to rolling deployments,
dependencies between services, health checks, and automatic restarts can all be provided by Mesos/Marathon.

This is a completely different way of working, because in this mode, operators no longer need to package application deployment code, or start specific monitoring services.

From a complexity point of view, I think that if you want to run a private cloud platform based on OpenStack, you need to know at least
the components of Heat, Nova, Glance, Keystone, Neutron, and Cinder. I have worked on OpenStack deployments in the past, and I have found that due to the design of OpenStack itself, some very complex issues arise during maintenance.
Because Openstack itself is an enterprise-level product, not a community product, you will find that at least several people from different departments are
responsible for the installation and operation and maintenance of the OpenStack platform. Therefore, if you work in a large company or organization, the maintenance work of the OpenStack platform may be divided according to the company's own organizational structure (system
support, server hardware, infrastructure and network, security, etc.)

You can find relevant tutorials online, which can basically help you set up a production-ready Mesos cluster in about half an hour.

From a personal standpoint, the way Mesos works may be the way we run data centers in the future. The so-called data center means that all my hardware resources can work together like a
whole computer, not as a single host, and the user does not need to manually decide where the service should run.

Answered by: Florian Leibert

For the construction of private cloud platforms, Mesos+Marathon+Docker is a good solution. Mesos is a proven tool for scaling services
(Mesos is adopted by Twitter, Airbnb, Netflix, ebay, PayPal, etc.). Marathon is a cluster-wide initialization and control system that helps users
run Linux services in cgroups and Docker containers. Many companies are optimistic about this technology, and all key components are open source, and these technologies also form the
core components of my company's DCOS (Mesosphere Datacenter Operating System) commercial product.

Mesos and the Mesophere family of technologies can provide a similar cloud environment where existing Linux tasks can be run, and it can also provide a local environment for
building new distributed systems.

Mesos is a distributed system kernel that directly provides APIs required for programming in the data center. It abstracts the underlying hardware (bare metal or virtual machine) and provides these hardware
to users in the form of consistent resources. It contains basic functions for building distributed systems (for example, Mesos supports Spark App, and Chronos, etc.) such as
messaging, task execution, etc. This way, users can leverage Mesos to build complete services. Apache Spark is one of them. The Spark framework
is built on the basis of Mesos, which greatly improves the efficiency of development work. For example, Spark developers don't need to worry about network-related issues or how to distribute tasks on
different nodes for execution. These are the basic core functions of Mesos.

See the Mesos page . Mesosphere and its partners are certifying and packaging these services into
the Mesosphere DCOS Datacenter Service so they can be installed with a single command.

Another nice feature of Mesos is that it can run on an existing OpenStack cluster or directly on bare metal, just by running a small
Linux process on each node.

I think Mesos is the future of cloud computing, because it provides good service scalability, is conducive to automated data center operation and maintenance, can perform self-diagnosis and provide
a rich native application ecosystem, and this At the same time, you can also make existing services run normally without modifying the code.

Answered by: Nati Shalom (built the first Java PaaS solution, worked with Amazon, RackSpace, Azure, VMware, Xen, JClouds experts to
design a product that provides automation and orchestration services in the cloud.)

In the IT industry, every once in a while, new technologies emerge to replace the original "new technologies", and the case of Mesos seems to fit this situation.

In fact, while Mesos is successful, it doesn't make it a universal solution to replace existing cloud infrastructure. In a previous post: Do I
still need OpenStack if I use Docker? , I will point out that OpenStack is as popular as Docker in certain fields, so Docker cannot replace OpenStack for the time being.

My point is that if we want to answer this question, we need to look back at what we wanted from a cloud infrastructure like OpenStack in the first place. and compare
. Does Mesos offer an alternative that covers all of these functions.

In a cloud environment like OpenStack, in addition to actively acquiring resources and distributing workloads, it can also provide
multi-tenant-based resource management for various core functions such as computing, storage, and networking.

As many major cloud service providers continue to invest in the development of public cloud infrastructure, OpenStack has gradually developed into an ecosystem.

Mesos also does a good job of distributing workloads across hosts. But I don't think it should be seen as an alternative to the OpenStack cloud platform. If you want to replace OpenStack,
you need to provide the same level of security, storage, networking and multi-tenancy services as OpenStack. I also don't think Mesos needs to be better at everything than OpenStack.
In my opinion, Mesos works at best as well as OpenStack, not as a replacement for OpenStack.

Answered by: Dale Bracey (Rackspace Private Cloud OpenStack Product Engineer)

While I'm not familiar with Mesos at all, I have a general understanding that this is another containerized service that can share the host kernel.

I try to add some more to Lukas Lösche's point of view. You can absolutely combine what was mentioned in the previous answer to your advantage. OpenStack can be used to provide
scalability and make it easier to manage your development tools, websites, services, and servers. Even direct management of bare metal can be done with OpenStack (Ironic-OpenStack)


The overall deployment and maintenance of OpenStack is difficult. Although the content of the document is very detailed, it still lacks detailed guidance, such as telling users how to complete the entire steps from the beginning to the end . After all OpenStack is a big project and this complexity is normal.

OpenStack tries to be an orchestration layer that can manage multiple hypervisors, virtual machines, and storage services, but it still lacks enough capabilities. The OpenStack-Docker Nova driver was mentioned earlier
. This project installs Docker on computing nodes and submits containers to Nova/Glance as virtual machines, but in fact,
containers are not virtual machines, so that users can not only use container technology itself It also takes advantage of the control and management capabilities provided by OpenStack. There is also a CoreOS-OpenStack
project, which is also very popular, and both projects have similar features.

Of course, users still need to use some configuration system to help you manage the system, unless you want to make things more complicated. We used to use Chef and then Ansible. Sadly,
I just learned that Ansible CTO Michael Dehaan left Ansible today. I don't know how the company will develop in the future, of course this is off topic.

If you just want your system to work and don't care about virtual machines and servers, OpenStack doesn't provide you with a fully automated environment out of the box, but you can
use some off-the-shelf tools to do this. These tools are also completely open, you can custom develop them and work the way you want. You can combine
Heat-OpenStack, Ceilometer-OpenStack, and various DevOps tools to provide you with automation services.

Finally, make an advertisement for a new product: Rackspace also admits that the deployment of OpenStack is really difficult. We have been committed to helping customers simplify the difficulty of deployment. We
provide , which can be used by users for free. (There is a community project stackforge/os-ansible-deployment on stackgorge ) We also provide
other private cloud solutions.

You can try it out, read the deployment documentation, file bugs, submit new feature requests, and contribute to the community. Let's work together to simplify the OpenStack deployment process. Users
only need to pay attention to the development process of the service, regardless of the underlying infrastructure, we will always help you, including updating the documentation on github. Here are some relevant information:

Docs: Private Cloud Support and Management by Rackspace

Install: rackspace.comPrivate Cloud Computing, Storage & Hosting by Rackspace & Openstack

Learn more: Rackspace Community

原文链接: What is the future of the private cloud world, Mesos or OpenStack

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326607164&siteId=291194637