We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

How to get Plone on your OpenStack Cloud

00:00

Formal Metadata

Title
How to get Plone on your OpenStack Cloud
Subtitle
Learn how to quickly deploy Plone on top of OpenStack and give your users self-service portal
Title of Series
Number of Parts
66
Author
License
CC Attribution 3.0 Germany:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2016

Content Metadata

Subject Area
Genre
Abstract
A demo of automated deployments of Plone on OpenStack. Learn how to get repeatable production deployments of Plone CMS available to the users in your OpenStack Cloud and let them provision Plone for themselves.
Computing platformWave packetVolumenvisualisierungPlanningUML
Standard deviationComputer configurationComputer networkServer (computing)Data storage deviceService (economics)Internet service providerData managementData modelCloud computingPoint cloudComputing platformOpen sourceIdentity managementBlock (periodic table)Computer-generated imageryObject (grammar)DatabaseShared memoryReduction of orderElasticity (physics)Library catalogHorizonSoftware developerMiniDiscSemiconductor memoryHill differential equationPlane (geometry)Complete metric spaceConfiguration spaceDisintegrationTemplate (C++)Abelian categoryAutomationEuclidean vectorVolumeTask (computing)ImplementationLibrary catalogCartesian coordinate systemMultiplication signType theorySoftwareRight angleData storage devicePlanningProjective planeSoftware developerArray data structureIdentity managementPoint cloudScalabilityBlock (periodic table)NumberInstallation artOpen setMereologyVirtual machineMobile appConfiguration managementUniform boundedness principleLaptopTablet computerInflection pointPoint (geometry)1 (number)Numbering schemeInternet service providerSlide ruleWindowBit rateScaling (geometry)Wechselseitige InformationGastropod shellExtension (kinesiology)Scripting languageComputer iconLevel (video gaming)Descriptive statisticsVideo gameData managementCycle (graph theory)Physical systemComplete metric spaceDifferent (Kate Ryan album)Formal languageSingle-precision floating-point formatMultilaterationBitDiagram
ModemDemo (music)Demo (music)Web 2.0Web pageLoginSocial classHorizonPoint cloudComputer animation
ModemDataflowVirtual machineComputer animation
Cartesian coordinate systemLibrary catalog
Web pageDatabaseCartesian coordinate systemOpticsServer (computing)Integrated development environmentDemo (music)SequelWeb 2.0Program flowchart
Configuration spaceContent management systemModemComponent-based software engineeringLibrary catalogVirtual machineIntegrated development environmentNetwork topologyDatabaseDebuggerServer (computing)Order (biology)Cartesian coordinate systemWeb pageNumberMultiplication signCloningMobile appCASE <Informatik>MultiplicationConfiguration spaceMedical imagingFront and back endsMultilaterationSelectivity (electronic)Computer animation
Component-based software engineeringExecution unitDemo (music)Lattice (group)Integrated development environmentUniform resource locatorRight angleConstructor (object-oriented programming)PlanningCartesian coordinate systemOperator (mathematics)Regular graphConfiguration spacePhase transitionComputer fileServer (computing)SoftwareData storage deviceBoss CorporationLoginInstance (computer science)Library catalogData managementWebsiteSource code
ModemDataflowPoint cloudComputer-generated imageryFingerprintCorrelation and dependenceCartesian coordinate systemVelocityFLOPSSelectivity (electronic)Right angleLibrary catalogMedical imagingServer (computing)Projective planeVirtual machineTemplate (C++)Computer animation
Virtual machinePoint cloudCategory of beingCartesian coordinate systemRepository (publishing)Medical imagingDescriptive statisticsComputer animation
Annulus (mathematics)ModemMaxima and minimaParameter (computer programming)Single-precision floating-point formatCartesian coordinate systemMultiplicationPoint (geometry)Source code
TouchscreenLibrary catalogScaling (geometry)DisintegrationModemLink (knot theory)FreewareWikiSoftware developerCartesian coordinate systemLaptopRight angleNeuroinformatikRemote procedure callIntegrated development environmentForcing (mathematics)Roundness (object)Virtual machineNumberWikiSoftwarePoint cloudSoftware developerDifferent (Kate Ryan album)FeedbackData managementLink (knot theory)EmailTerm (mathematics)Dependent and independent variablesProjective planeSource codeLocal ringCoefficient of determinationLimit (category theory)CodeConfiguration spaceVirtualizationXMLUML
ModemLevel (video gaming)Configuration spaceFlow separationIntegrated development environmentSoftwareMultiplicationBranch (computer science)Cartesian coordinate systemCloningInstallation artComputer animation
ModemType theoryContent (media)
Source codeCodeInstance (computer science)ScalabilityScaling (geometry)Directory serviceMultiplication signServer (computing)Cartesian coordinate systemRight angleFront and back endsComputer animation
ModemIntegrated development environmentNumberDesign by contractComputer animation
Transcript: English(auto-generated)
So today I'm going to talk about another way how to deploy Plone, to deploy to another platform. We saw today Docker, we saw today Rancher, which running is Docker, and probably many others. And we saw a couple of more. And today I'm going to talk about OpenStack and how to deploy Plone on OpenStack.
I did training yesterday. I see a couple of folks on this training. Hi guys. And I will basically show how it works. Just demo how deployment is going on, what is the user experience of deploying Plone on top of OpenStack. But before that I want to know, do you know what cloud is?
What cloud does it mean? How many people are using cloud in their daily work? Fair enough. But I will still skim through a couple of slides about clouds. So basically a cloud allows you to have your computer services on demand.
Quickly provision them, quickly deprovision them. And OpenStack is one of the providers which you can use for your public and private cloud. And we have a couple of public clouds on top of OpenStack. One of the biggest was HP at some point of time. And actually many, many companies from Fortune 500 are using OpenStack as a private cloud.
OpenStack consists of a couple of projects which actually provide some capabilities. Like compute, identity networking, block storage. NOAA provides you virtual machines. Neutron provides you software-defined networks connecting these virtual machines together.
But also OpenStack has a couple of more projects adding more capabilities. Extending ability to just spawn virtual machines and cloud resources to slightly more. And today I'm going to talk about Murana. One of the projects which provides some orchestration capabilities.
But it's mostly focused on application catalog experience. So Murana is application catalog for OpenStack. What do you imagine when I say application catalog? Something like that, right? We have many of them for your phone, for your tablet, for your laptop. And iTunes is one of the first and biggest application catalogs so far, right?
So OpenStack has pretty same experience. You can have your applications on top of the OpenStack cloud having pretty much the same experience as your phone. Just click download and it will start running. And it obviously has two parts. One is like common community catalog located here.
Which provides you a way to publish your applications to the global catalog. And download these applications from this catalog to your private cloud, for example. But it also has a private part. And public part community app catalog contains a number of already existing and written applications.
Pretty same as Docker Hub. And we also have Plone which we added recently. One which is published right now is just single node installer. But we are going to have scalable Plone installation in OpenStack catalog. Which will provide the ability to scale your Plone installation on demand.
Why do you need a catalog, right? And there's three sides to that. First of all it's a way how to quickly onboard some existing application to the cloud. How to give tool to your developers.
How to run applications on the cloud. If you're looking at the cloud as a bare metal like virtual machines on demand. It's not enough. Your developers will spend some time setting up the application on top of the VMs. They like need to take care of the application running on top of the VM and so on and so forth.
And having application catalog gives them the ability to quickly upload application. And give other users to deploy this application out of the catalog. So talking about Murana. Murana has a couple of capabilities which I want to highlight. It supports several operating systems and specifically both Windows and Linux as a base system for your application.
It gives the ability to manage complete life cycle of the application. Including scaling, installing, removing and monitoring and so on and so forth. It's also integrated with configuration management tools.
Like Ansible, Chef and Puppet. And I'll talk a little bit later about difference between orchestration and configuration management. And has pluggable up definition languages. So right now we support only two languages to define your application. But it's extendable. If you have your simple shell scripts which you always use to provision virtual machines.
You can plug it into Murana and have just having your shell script turn to the application. And sees them in a nice catalog with icons, description and self-service portal for your users basically. So orchestration is slightly different from configuration management. When I'm talking about orchestration, it's about automation on the cloud level.
Ability to orchestrate, spinning up resources, installing something on top of that. Like starting installation. And configuration management mostly talking about how to configure this already existing resources. So Chef, Puppet, they can't do configuration management on ledge scale.
But they mostly focused on how to configure something on the VM itself. Rather than spin up 10 VMs, connect them to the network, attach storage to them and so on and so forth. So let's try them out. And today we'll go to the live demo.
So here I have my deployment of OpenStack. It's small cluster, it's only four nodes. And this is how it looks like login page to the horizon. OpenStack dashboard, web UI to managing your cloud.
So when you're logging into the OpenStack dashboard, you have a couple of panels. Including a panel which allows you to manage virtual machines.
Yep. It's back. So we can go here, see applications. This is how, this is where our application catalog located. And if you click browse, you'll see what you would probably expect. Just a page with applications.
Let's take a look at my demo environment where I have a couple of more applications than Plone. I have here Apache web server, MySQL database, subjects for monitoring, WordPress and Plone to choose from, to deploy. And once you see your application, you can search for your application.
Click quick deploy to just start deployment immediately. See nice wizard which will guide you through deployment of this application. Let's assign Plone an IP in order to be able to connect to this application later.
Click next and see a page where we can select flavor of the virtual machine which will be used for this Plone cluster. Let's start with the small. A small is like two gigabytes of RAM.
Let's select Ubuntu as a base image and click next to actually almost start deployment. So right after the second, we already have our environment configured. Environment is a logical entity which combines a couple of applications together if they connect and have dependencies.
In this case, I have only one. So if you will take a look at the topology, you will see something like this. Even though we have one application, it has two nodes because we have been deploying multi-node configuration. This application which I was talking about earlier which is not yet deployed but which is not yet available in the community catalog.
But I have it here. It's only review for community catalog. So it's multi-node deployment of Plone. There is HA for front-end servers but database is only in one node. It always can be extended obviously because it totally depends on the application.
So here we see our topology of the environment. If you go back and click deploy this environment, deployment will actually start. So deployment of Plone takes obviously some time.
It starts with creating a number of VMs then installing Plone on top of these VMs. So to not let you wait guys, I have already deployed installation of Plone. Same thing right here but just already deployed. So we can go and see how environment looks like when it's already deployed.
So we see here that last operation was finished configuration of Plone. No roars, which is nice. We can go to latest deployment log and see step-by-step what happened to deploy the Plone. So we started with provisioning VMs. We spin up two VMs, connected them to the network, added storage and everything.
Then we are moving to the installation phase. And installation phase is starting with installing simultaneously on the both nodes software. On the first node we're installing front-end server and on the Plone DB we're installing ZDB. Installation is completed and we see that Plone listeners are listening at and we see URL where Plone is listening.
So we go here and we'll see just regular create new Plone site. How to import applications from the application catalog to your local instance is also quite easy. We can go to the packages, manage packages where you see panel with which applications are available in our catalog.
Then we go to community catalog which has not only Murana applications but also heat templates. Heat is a project which is a copy of CloudFormation from AWS. Also has just virtual machine images which you can technically also use as application, right?
If it has something pre-installed. Going to the community application catalog, selecting Murana packages, we can skim Plone, stand-alone server, copy the package name, go back to the Murana, click import package, select repository, paste name, click next.
And starting from the second, Murana will try to download all the dependencies of the application, all the needed virtual machine images, everything needed to spin up this application on top of OpenStack Cloud. We can edit description, name, select a category in which this application will be available.
Doesn't much matter which one. And that's it. Package parameter successful updated, application is here, and we have two Plones here. One is single node installation, another one is multi-node installation.
So if you're interested how to actually use Murana, whatever, what are the capabilities you have, how to write scalable applications and so on and so forth, we have a number of screencasts. Short, from one to five minutes, top screencast published on the Wiki page, link is below.
You can always send an email to the development team which is quite responsible. RC channel is also available where developers are hanging out, including me. And links where you can read more documentation and so on and so forth. Thank you, folks. Questions, feedback, which you can provide with the link below.
Sure.
So huge difference between, for example, not like really huge difference, but difference, for example, between Docker and container management software like Kubernetes and so on and so forth,
where you have local environment, remote environment and so on and so forth. This OpenStack is just virtual machine, right? And your laptop is also virtual machine. Not virtual machine, this is like computer, right? Virtual machine is computer, your laptop is computer, so whatever you develop locally can be developed remotely.
And in terms of how, specifically with Murana, how to deploy locally and how to deploy remotely, it's not much possible because it assumes spinning up some resources. So you can technically deploy OpenStack locally on your laptop. There is a couple of projects like DevStack for development environments, where you can install it on your laptop, whole cloud, and then spin up VMs inside of your laptop.
And in this way you will have complete two same environments locally on your laptop with limited computer resources and your actual OpenStack cloud, which is bigger and allows you to spin up a number of VMs. Is there a way to manage code deploys?
Do you have to create a new OpenStack application when you change the configuration of your phone site? It depends how you're designing your application. Murana encourages you to have self-contained application, when this application doesn't depend on anything else except itself. But you always can go to the environments where you have your software remotely,
and then the application itself just pulls this software and then installs on the VM. And it can pull from, for example, Git. And then you can have a CI CD pipeline which delivers, for example, software through several branches, and the application uses a specific branch to deploy. So that's a separate level of configuration in that application?
Yeah, it's like different levels where you can go. And if you wanted to, say, run multiple clone ZO clients, that would be something you'd also have a separate configuration for, or something like that? Not really, you can have, for example, in this node we deployed two instances, but let me try to go back to my environment and I will show how easily you can scale this.
So if you will go here and take a look at the already deployed environment.
Yeah, sorry, VPN is failed. This always happens. You can actually get to, say, if you want to load your own Python content type through Python,
and then you actually go in and stick the code somewhere like in a source directory and run build-up and get it picked up? Not sure how to do that. So here you can have scale in and scale out. When you click scale in, it will start adding new instance.
Okay, so those are new VMs. Yeah, it will spin up new VM, install there, and as a front-end server and everything. Right, but you can't currently configure how many clone instances run on a single VM? You can, you probably don't remember. On the first step, when we created the application, let's take a look at it one more time.
Yeah, you can actually specify how many initial nodes you should have. I just choose one because of the number of resources. Probably some reason.
No, I do it in the AWS contract. Well, thank you very much. Thank you, folks.