This interview is the third of our series of interviews with
OpenStack technical project managers posted on the Mirantis blog. Our goal is to educate the computer community in matters related to the OpenStack project. Answers to these questions are provided by the respondent himself. The interview is published with bills in connection with the restriction of the length of the article.
So, this is an interview with John Griffith,
technical manager of the project OpenStack Cinder .
Mirantis: Introduce yourself, please? Tell your story, how did you get into OpenStack and why did you decide to take part in this project?
John Griffith: In 2011, before the Boston summit, I was invited to work on the OpenStack project at SolidFire. I started the same way as many in the data storage industry: I created drivers, corrected errors. During the conference in San Francisco, my colleagues and I put forward the idea of ​​the Cinder project as the idea of ​​our own project, and for me this was just the beginning.
')
As for why, OpenStack for me is the construction of an open cloud, and what OpenStack represents. This project for me is a fantastic and necessary factor changing the rules of the game in the industry. I really like that I am part of this project, I create it, preach it and use it.
M .: What are your responsibilities as a technical supervisor at Cinder?
J .: The instructions for the
Technical Project Leaders (PTL) are very well defined what it means to be a technical manager in OpenStack. And if in brief: act as a leader and representative of the project.
PTL position was one of the most difficult jobs in my life. The technical part of the work, of course, is difficult, but there is also the management of the project itself: eliminating errors, working with the community and partners to further develop the project; this is truly a full-time job, and I believe that everyone who takes on the role of PTL should be inspired by the project idea and committed to it.
M .: Could you explain the role of Cinder in the OpenStack system, and what is the importance of this element?
J .: Cinder is a block storage service on the OpenStack system. Block data storage is a high-performance service that allows OpenStack to supply you with any necessary data on an ongoing basis.
Cinder means a lot, since block storage is extremely important for the cloud model. I mean that Cinder allows the OpenStack system to cope with loads stronger than test ones, and become a full-fledged service of constant high-performance access to data (in particular, at enterprises / for personal use of the cloud). This will allow you to run the database and work under any load.
M .: What is fundamentally new and unique in Cinder?
J .: Well, in the field of cloud storage innovation (compared to traditional block storage), Cinder has the ability to adjust its volume and split the data into cells. With Cinder, you can control your data at the volume level; You can deploy one volume for your calculations, unlike a whole storage device, from which you have to extract the necessary data. There are also advantages in resizing storage and storing dissimilar objects. You can have multiple storage devices, each with its own strengths and weaknesses, available at any time when needed. In short, Cinder is the embodiment of software-controlled storage.
M .: What are the current successes of the Cinder community?
J .: Of course, I am somewhat biased in my assessments, but our community has achieved serious success in just one year. We created and launched the project, achieved its development, made it more reliable in work, added some key features. In addition to features such as simplified volume launch, configuration of multiple storage devices and some pretty cool advanced scheduling features, we saw interest from storage vendors and added some drivers in the Grizzly release and debugged compatibility with the API and their interface.
M .: What innovations will we see in the release of OpenStack Havana?
J .: There is a rather large list of things that we want to expand and improve regarding the quality and reliability of our service, as well as within the framework of the new functionality. We are working on introducing the process of deploying a hypervisor on bare hardware, which allows sharing volumes among several users and attaching them to several requests at once.
M .: Does Cinder violate the classic corporate data storage system or is it additional?
J .: I definitely think it is breaking, and this is obvious from the attempts of storage providers to tailor their traditional drivers to our service. Software-controlled storage changes the rules of the game, and now we are in the stage when data warehouses from IT technologies are transformed into a full-fledged Service with infrastructure. For those companies that recognize the benefits and potential of software as a service, this will definitely be an explosive moment.
M .: Where is Cinder best of all? And how to use it most effectively?
J .: The first thing that comes to mind is extensibility and knowledge of your requirements. Cinder perfectly abstracts the various types of data warehouses and provides block data storage as a service, but it is important to remember that different storages have different performance. You can assign specific repositories for specific loads and make it transparent to the user, however, in this case, you need to know in advance what the user requests will be and how they are going to use Cinder.
Notably in block storage, you can handle multiple requests with a single Cinder deployment with access to multiple storage devices. This makes it possible to distribute and adjust data for daily needs. Here, the dynamic capacity will show itself best: if your requirements for storage volume increase, then Cinder (and in general, OpenStack) will adjust to these requests.
M .: Do people have difficulties in dealing with your service and should they take it differently than traditional types of services?
J: Yes, I think so. Block storage in the "cloud" is a fundamentally new concept. One of the main differences in software-managed storage is that you can abstract from various types of storage and old APIs and turn them into a single resource.
One of the main features of cloud block storage in dividing a resource into cells. You have a division into cells at the level of a single volume, and at the same time there are abstracted APIs.
This is different from the old paradigm of views on block storage, which looked like this: “So, I have a large pile of disks with RAID 10, and based on this, I want to use them. I will connect them to the computer and configure the characteristics of XY Z. Then I will launch a system that machines can access from the other end of my network ... ”and so on. With the “cloud system” of storage, everything is tied to the fact that all data is on one resource, and you can access it anytime, anywhere, and as long as you want.
M .: How do you think people will be able to calculate the required power to provide the necessary amount of data storage in the cloud system OpenStack?
J .: Power calculation is always difficult because it is influenced by a large number of different variable factors, but the beauty of block data storage in the “cloud” is that it is scalable and you can continue to expand it, i.e. Of course, you need to think about your original goals and requirements and things like that, but you can take and add another additional device to your resource and continue to expand it or even delete it if you need it.
M .: Are there such things that you would like to inform people about? What are some hidden benefits that people don't know about?
J: As for the hidden benefits, I don't think there is anything hidden. But I believe that people still perceive the block storage service as a permanent storage, to which you can attach a component and use it for testing or developing applications. In fact, you can migrate applications and work tasks and get real-world performance, including for e-commerce, databases, and more.
M .: What is needed to deploy Cinder?
J .: From the standpoint of OpenStack, there are quite a few requirements. You should certainly have a good understanding of all the components that are part of OpenStack.
Cinder hardware requirements depend on what you end up installing to store your data. If you want to use the LVM (logical volume manager) reference version, then you need a couple of terabytes of SATA hard drive memory and a powerful processor.
M .: How long will it take to deploy Cinder?
J: This is a very difficult question. I think that if you really want to understand OpenStack, to be able to configure and maintain it, then you need a person who would specialize in managing OpenStack. When working with Cinder, you may have enough weeks to gain speed, understand everything well enough, maintain it in working condition and provide it with the necessary means, but, as I said, you need a resource that would be responsible for managing OpenStack.
M .: Who would you like to see as Cinder developers?
J .: First of all, those who are passionate about OpenStack, as well as free software in general. Many, of course, have their own interests or business reasons to help the community, but those who really stand out are people who keep a balance between their own interest and the project as a whole.
In terms of skills, there are a couple of points. Of course, you want someone who is a great software developer and knows Python, since in OpenStack, Python is everything. But also those who understand large-scale calculations are important. In short, you need someone who understands the "cloud system", and understands the dynamics and paradigm of the system in comparison with traditional computer technologies.
One of the things that often happens and causes some difficulties is if a person comes to the team and tries to apply traditional paradigms to the “cloud system”, which does not work. Of course, you can do this, but this is not a necessary direction in which we should move.
M .: Which of the three promising developments should new employees focus on?
J: Yes, as the number of improvements decreases, people may want to see what is called a state machine, they want Cinder to better track the state and structure of the volume throughout the entire life cycle of the volume. We want to see how some things are done, such as supporting an I / O channel, expanding and improving it.
There is always room for improvement around those quotas that are implemented right now and for the introduction of new quotas. One of the things that I discussed at a recent meeting was the concept of combining quotas as opposed to individual quotas of cloud owners.
M .: What are the first steps that potential participants should take?
J: Communicating via mailing lists and IRC is a good starting point. At first glance, this is irresistible, but it's not as bad as it seems at the beginning, just look at the # openstack-dev channel - a common place for developers. On issues of development work Cinder also has its own channel # openstack-cinder. I recommend starting with the
OpenStack How to Contribute wiki page and devstack.org. This gives you the opportunity to get used to the OpenStack working environment, you can delve into the information and thus understand how certain components work.
M .: Thank you very much, John!
J .: Please.