Weitere ähnliche Inhalte Ähnlich wie OpenStack Murano (20) Mehr von openstackstl (10) Kürzlich hochgeladen (20) OpenStack Murano3. Use
Case
#1
-‐ DevOps
Cloud
Environment
for
developers
to
create,
test
and
publish
applications
Environment
includes
development
tools
and
possibly
common
application
components
Use
existing
or
DIY
PaaS platform
-‐ Cloud
Foundry,
OpenShift,
Appcara etc.
4. Even
Simple
Systems
Exhibit
Complex Behaviors
Xn+1 =rXn (1-Xn)
Even a simple logistic
system results in
complex outcomes
Reference: Wiki: Logistic Maps h ttps://en.wikipedia.org/wiki/Logistic_map
Copyright ©2015 Mirantis, Inc. All rights reserved
5. Large
Distributed
Systems
are Complex
Copyright ©2015 Mirantis, Inc. All rights reserved
6. Large
Distributed
Systems
are Complex
Copyright ©2015 Mirantis, Inc. All rights reserved
7. Large
Distributed
Systems
are Complex
Copyright ©2015 Mirantis, Inc. All rights reserved
8. Large
Distributed
Systems
are Complex
Copyright ©2015 Mirantis, Inc. All rights reserved
9. Large
Distributed
Systems
are Complex
Copyright ©2015 Mirantis, Inc. All rights reserved
10. How
to
Handle Complexity?
Copyright ©2015 Mirantis, Inc. All rights reserved
12. OpenStack exposes
infrastructure resources
so
they
can
be controlled
programmatically
→Compute
→Network
→Persistent Storage
→Ephemeral Caching
→Auth/Access
→Monitor/Logs/Audit
→OS-‐Image/Virtualization
→User Credentials
Each
app
“can”
specify
its
own infrastructure...
Copyright ©2015 Mirantis, Inc. All rights reserved
13. Copyright ©2015 Mirantis, Inc. All rights reserved
Every
programmable
resource
has
a
potentially
independent
revision
cycle.
Application’s
internal
configuration
… but each app also becomes a snowflake*
APPLICATION
/WORKLOAD
/SERVICE
Network
switch and
routing
Persistent
Storage
Operating
System
Image
East/West
authentication
access/control
Ephemeral
(cache)
Storage
Monitoring
Logging
User
credentials
*snowflake
-‐-‐ unique
configuration,
difficult
to
manage
consistently
Application
Workload
14. Get,
Share
and
Run
Apps
on
Demand
Create Catalog
● Easily add new apps
● Describe forms,app
dependencies, suggested
configurations, billing rules
etc.
Deploy Apps
● Deploy applications and services
with a push of a button
● Choose apps, specify settings,
and deploy
Automatically
Manage Apps
● Monitor with Ceilometer
● Automatically self-heal,scale
up & down, failover, backup
● Application specific actions
● Track usage
Murano with Open APIs or GUI
16. Puppet
Chef
Salt
Heat
...
Copyright ©2015 Mirantis, Inc. All rights reserved
Declarative
Approaches
to Simplify
Enable
operators to
control
the
end
state
of
the cloud
17. Declarative
Approaches
to Simplify
Copyright ©2015 Mirantis, Inc. All rights reserved
Local
cloud dependencies
● Networks
● Security groups
● Availability zones
● Roles
● Storage
● Backup software...
Result:
versions
of
templates
for
every
deployment environment
18. How
can
the
developer
define?
● Deploy
● Upgrade
● Scale
● Backup/restore
Copyright ©2015 Mirantis, Inc. All rights reserved
For
every
deployment
environment?
The
developer
shouldn’t
care
at
all
about
the
deployed
environment.
Declarative
Approaches
to Simplify
19. Developer
Defines
Generic Lifecycle
Copyright ©2015 Mirantis, Inc. All rights reserved
Define
the
basic
steps
for
each
lifecycle
events
using
a
simple
workflow language
Object
oriented
to
define
events
with inputs
● deploy,
upgrade,
scale,
backup,
restore, etc…
Documentation
https://murano.readthedocs.org/en/stable-‐kilo/articles/app_pkg.html
20. Murano
partitions
OpenStack
cloud
app/service
lifecycle mgt.
1. Catalog users:
Launch
apps/services
independent
of
infra dependencies
2. Catalog Application/Service developers
Specify
apps’
infra
needs,
no
direct
binding
of resources
3. Cloud administrators
Configure
and
control
apps
for
automation
for
deployment,
operations for OpenStack
cloud
apps/workloads
Murano
delivers
apps/services
to
OpenStack faster
21. OperatorDeveloper
Imperative
Approach
to Simplify
Service
User
Publish
toCatalog
InfrastructureRequirements
Copyright ©2015 Mirantis, Inc. All rights reserved
Catalog
Service
User
Muranto
Catalog
Developer
Murano
Catalog
Operator
Infrastructure
Requirements
Deployment
cfg &
app
mgt
22. Keep complexity in the box improves out-‐of-‐box
1.Define
-‐ RawApplication
-‐ Murano
Packaging
and
Logic
-‐ Heat,
etc.
(Orches-‐
tration
Assets
&
Templates)
-‐ VMs/OS-‐Images
2.
Operate 1.
Click
Copyright ©2015 Mirantis, Inc. All rights reserved
2.
Launch
OpenStack
Catalog
Developers
and Operators
White Box
OpenStackCatalog
Users
Black
Box
23. Murano
High-‐Level Workflow
Define
App/Service
Lifecycle
Actions
Push
Murano
Package
toGit
Pull
Murano
Packagefrom
Git
Modifyfor Local
Cloud
and
Merge
Publish to
Catalog
BrowseCatalog
Manage
Environ-‐
ments
App/Service
Actions
ConsumerOperatorDeveloper
Copyright ©2015 Mirantis, Inc. All rights reserved
24. How
do
developers
start
working
with
Murano?
1. Glance
2. Heat
Templates
3. Murano Packages
27. Murano – Ingredients
• YAML
definitions
of
assets
• Javascript site
to
display
• New
content/assets
flow
through
the
OpenStack
Community
Process
• Cosumable via
Horizon
or
an
OpenStack API
29. Developer
Defines
Generic Lifecycle
https://murano.readthedocs.org/en/stable-kilo/murano_pl/murano_pl_index.html
Copyright ©2015 Mirantis, Inc. All rights reserved
• MuranoPL
Core
Library
• Class:
Object
• Class:
Application
• Class:
SecurityGroupManager
• Class:
Environment
• Class:
Instance
• Class:
Network
• Class:
NewNetwork
• Murano PL
System
Class
Definitions
• io.murano.system.Resources
• io.murano.system.Agent
• io.murano.system.AgentListener
• io.murano.system.HeatStack
• io.murano.system.InstanceNotifier
• io.murano.system.NetworkExplorer
• io.murano.system.StatusReporter
33. Cloud
Operator
Adapts
to
Local Clouds
Application | Chef | Puppet (extensible)
https://github.com/openstack/murano-‐
agent/tree/master/muranoagent/executors
Copyright ©2015 Mirantis, Inc. All rights reserved
34. Cloud
Operator
Adapts
to
Local Clouds
Copyright ©2015 Mirantis, Inc. All rights reserved
Easily
re-‐use
Heat,
Chef,
Puppet
and
any
local scripts
https://github.com/openstack/murano-‐
apps/blob/master/Chef/GitChef/package/Classes/GitChef.
y
aml
to
specify
local
rules
and policies
35. Cloud Operator
Copyright ©2015 Mirantis, Inc. All rights reserved
Refine
the
UI
to
only
ask
for
needed input
https://murano.readthedocs.org/en/stable-‐kilo/articles/dynamic_ui.html
“The
main
purpose
of
Dynamic
UI
is
to
generate
application
creation
forms
“on-‐the-‐fly”.
Murano dashboard
doesn’t
know
anything
about
what
applications
can
be
deployed
and
which
web
form
are
needed
to
create
application
instance.
So
all
application
definitions
should
contain
a
yaml file
which
tells
dashboard
how
to
create
an
application
and
what
validations
are
to
be
applied.”