OpenStack can be an enigma. We have open source purists who profess the virtues of OpenStack, even as a multitude of enterprise aficionados wonder whether OpenStack is right for them. In their roles at Red Hat Cloud Innovation Practice, cloud practice leader Vijay Chebolu and cloud architect Vinny Valdez deliver OpenStack solutions to customers.
We interviewed them ahead of their OpenStack Summit Tokyo talk, A Day in the Life of an OpenStack & Cloud Architect. While Vijay elaborates on being a cloud and OpenStack architect and enterprise adaptation, Vinny gets into the intricacies of OpenStack contributions and its continuous integration and continuous delivery (CI/CD) practices. They were sporty enough to answer a personal fun question, too.
Who is a cloud architect? What differentiates a cloud architect from other architects?
Vijay Chebolu (VC): A cloud architect is someone who engages with both business and technical leaders in designing and building a cloud with the intent of solving their specific business needs. A cloud architect requires a holistic view of the business landscape and the technical capabilities required to make them successful.
Vinny Valdez (VV): I'd also like to add that a cloud architect differs from other architects in my mind in that they need deep expertise in vast areas across the data center: system administration, automation, virtualization, storage, and networking. Cloud architects need to be able to understand complex integrations in order to design solutions properly. In our case, we may need to get our hands dirty and perform actual implementations ourselves. A cloud architect should understand the business, yet still be highly technical, not just drawing boxes on whiteboards.
What are the qualities of OpenStack architect? How does one become an OpenStack architect?
VC: The OpenStack project is a global collaboration of developers and cloud computing technologists producing the open standard cloud computing platform for both public and private clouds. An OpenStack architect is one who is looking to configure, design, and deploy an OpenStack-based cloud in an enterprise. The architects who are designing and developing the platform are the OpenStack product architects, whose goal is to make OpenStack the de facto standard for cloud computing. Those deploying to enable the consumption of the platform within private and public cloud space are the OpenStack deployment architects, whose primary objective is to build a reliable, scalable, secure OpenStack-based cloud.
Where do you think we are on OpenStack adoption? Is OpenStack enterprise ready? Can you share with us a few instances of enterprises actively using OpenStack and how?
VC: OpenStack has come a long way in the last five years and has more recently captured the attention of most enterprises. The features that have been added over the last couple of releases to improve the stability and reliability of the platform helped OpenStack gain momentum and traction within enterprises. Due to the efforts of large vendors, OpenStack is now ready for enterprise adoption. The use of OpenStack is not hidden. Take the examples of Comcast, Walmart, CERN: They are all great examples of how enterprises have consumed OpenStack. Even financial service institutions such as Bank of America have embarked on adopting OpenStack into their mainstream cloud as an alternative platform.
Vinny, you have been a contributor to OpenStack, particularly the OpenStack Architecture Design Guide. There are many of us who would like to be contribute to OpenStack. Can you guide us on how we can get involved with OpenStack development? What are the prerequisites? What is the organization structure of OpenStack like?
VV: I think the first thing to note is that you don't have to be an expert developer to contribute. There is a great entry in the OpenStack wiki that covers various ways to contribute. It breaks it down depending if you are a developer, writer, designer, security expert, tester, etc. If you are not sure, documentation is a great place to start. There are no specific prerequisites. The process walks through creating the proper accounts needed and signing the contributor license agreement.
In the case of the design guide, I was very lucky. There was an email soliciting participants in the book writing process and I volunteered. My company was kind enough to allow me to spend a week and cover my expenses to meet with 12 very talented community members from various companies that also volunteered. We brainstormed and collaborated working roughly 15 hours a day for five days straight to produce the guide. This was the bulk of my contributions, though afterwards I used the contribution workflow to add content. So definitely join the mailing lists to look for future opportunities like this. Everyone has busy schedules, but remember that every little bit helps. If you find a typo, encounter a bug, or think of a new feature, file an issue or blueprint even if you can't code/fix/write it yourself.
What are your tips for an enterprise to start using OpenStack? What are some of the pitfalls of OpenStack deployment and how can enterprises avoid them?
VC: There is always an inertia to change in enterprises. One of the pitfalls in enterprises is that trying to treat OpenStack as traditional Mode 1 virtualization platform. It is always good to have a discovery of requirements and use cases and identify the use cases for OpenStack. More often than not, I have seen that enterprises want to adopt OpenStack because it's the shiny new thing in the industry. Every platform has its place and you cannot do away with legacy. In this day and age of bi-modal IT, it is important to understand the requirements for Mode 2 IT. OpenStack is a great platform for innovative Mode 2 environments, where the ask for enterprises is to rapidly deliver products and solutions adopting the principles of DevOps, which require infrastructure to be treated as code.
Can you tell us about the development processes at OpenStack—reviews, tests, CD, and CI?
VV: Aside from the initial accounts and CLA setup, the most important step is setting up and using Git. There are many great resources to get started but the best way to learn is to use it and practice. Git can be a bit of a steep learning curve if you have never used it or are used to other revision control systems, but in the end it is very efficient and logical once you understand the workflow. We use git internally for pretty much everything from customer configurations, to internal projects, to internal training documentation and of course many open source projects. Once you are familiar with Git, you will need to use an add-on module called git-review which will interact with the OpenStack Gerrit review system. The workflow is to pick something to work on, clone the repository locally, work in a git branch to make your changes locally, commit the change locally, run unit tests, then submit it for review to the Gerrit review system. At this time the CI/CD system will detect the change and notify reviewers. A peer review conversation takes place until at least two core reviewers approve the change and it is merged. This is only a brief high-level overview, for more details see: http://docs.OpenStack.org/
With the growing number of cloud platforms, do we now have the need for standardization to avoid vendor or platform lock-in?
VV: Absolutely. The last thing an enterprise needs to worry about is dependence on a specific vendor. Especially in cases where developers need to deploy onto multiple platforms or migrate from one cloud to another, having vendor-specific hooks is a drain. Red Hat focuses on working upstream not only for our customers benefit, but for the community in general as well. We encourage other companies to do the same.
We have heard from customers that open source is not enterprise friendly, be it documentation support or incorporating customer change requests. What do you, in general, think of this perception? How can we address this? Specifically, how is this addressed in OpenStack?
VC: The perception that open source is not enterprise friendly is wrong. There have been instances where documentation may not have been great during the early stages of an open source project. With organizations like Red Hat, customers now have an easy conduit for their change requests where they can see Red Hat as a champion in driving their changes upstream.
Vinny, you seem to have very tech-friendly kids. What is the kind of world you would like for your daughters to grow up in, in terms of technology and open source?
VV: Indeed I do. I'm very proud to have geek kids. I'm so very excited to see them grow up with so much more technology than I did, and it amazes me how much they use for school and play. My 7-year-old, Faryn, has been asking me how she can write her own Minecraft mods, so I've started introducing her to Scratch. Both of my daughters, though mostly my 9-year-old, Ava, has used Khan Academy extensively to practice math skills.
When they were younger, I had a dedicated Fedora laptop they used to play Child's Play games. These resources benefit immensely from open source and I encourage other parents to make use of them. The next step for us is a 3D printer and teaching them Blender so they can model and print their own toys. I hope this trend continues and my daughters are able to realize some of their greatest imaginations thanks to open source.