Greetings, Heat team!
As you may be aware, I've been working with other folks in the community
on documenting a vision for OpenStack clouds (formerly known as the
'Technical Vision') - essentially to interpret the mission statement in
long-form, in a way that we can use to actually help guide decisions.
You can read the latest draft here: https://review.openstack.org/592205
We're trying to get feedback from as many people as possible - in many
ways the value is in the process of coming together to figure out what
we're trying to achieve as a community with OpenStack and how we can
work together to build it. The document is there to help us remember
what we decided so we don't have to do it all again over and over.
The vision is structured with two sections that apply broadly to every
project in OpenStack - describing the principles that we believe are
essential to every cloud, and the ones that make OpenStack different
from some other clouds. The third section is a list of design goals that
we want OpenStack as a whole to be able to meet - ideally each project
would be contributing toward one or more of these design goals.
I think the most relevant design goal here for Heat is the one on
Customisable Integration. This definitely has implications for how Heat
designs things - for example, Heat follows these guidelines with its
autoscaling implementation, by providing a webhook URL that can be used
for scaling up and down and allowing users to wire it to either Aodh,
Monasca, or some other thing (possibly of their own design). But beyond
that, Heat is the service that actually provides the wiring, not only
for itself but for all of OpenStack. When users want to connect
resources from different services together, much of the time they'll be
doing so using the declarative model of a Heat template.
The sections on Interoperability and Bidirectional Compatibility should
also be important considerations when making design decisions, since
Heat templates should help provide interoperability across clouds. The
Cross-Project Dependencies section is also likely of interest, since
several projects rely on Heat, and in fact in the distant past the TC
used to require this, but that is no longer the case either in practice
or in the document as proposed. Finally, the section on Application
Control mentions the importance of allowing applications to authenticate
securely to the cloud, which is something Heat has put a lot of work
into and run into a lot of problems with. My hope is that this document
will help to spread that focus further in other parts of OpenStack so
that this kind of thing gets easier over time.
If you would like me or another TC member to join one of your team IRC
meetings to discuss further what the vision means for your team, please
reply to this thread to set it up. You are also welcome to bring up any
questions in the TC IRC channel, #openstack-tc - there's more of us
around during Office Hours
(https://governance.openstack.org/tc/#office-hours), but you can talk to
us at any time.
Feedback can also happen either in this thread or on the review
If the team is generally happy with the vision as it is and doesn't have
any specific feedback, that's cool but I'd like to request that at least
the PTL leave a vote on the review. It's important to know whether we
are actually developing a consensus in the community or just talking to
OpenStack Development Mailing List (not for usage questions)