How do we deploy the Backstage App in AWS? What is the deployment architecture work flow? - aws-fargate

I am looking how to deploy the backstage in AWS?
I want to know and understand what we have to do if we want to use service catalog of back stage? do we need to write code any back end services, to use service catalog plug-in
Do we need to create the database or the backstage will create? Who creates the database tables?
What do we do if we ant to add another column to the service catalog?
The docs says the backstage is a mono repo? does that mean do we have both the front end and back end development in single repo?
Is there any need or requirement for Java development if we want to use backstage?
I have a lot of other questions, highly appreciated if anyone is using backstage or want to connect and sharing any insights of using the backstage.

That are a couple of questions, let's see if I can help you.
Do we need to create the database or the backstage will create? Who creates the database tables?
Roadie has a nice intro on running Backstage on AWS Fargate. That includes the steps for provisioning an RDS database. In Backstage, each backend plugin that requires a database is itself responsible for managing the database. You provide only the global credentials and the plugins setup the databases by themself (e.g. creating tables, running migrations for new versions).
What do we do if we ant to add another column to the service catalog?
The database structure of the catalog plugin is quite flexible. If you want to add additional data to it you don't have to modify the database. The Backstage documentation provides some details on extending the data model. To display the data, you have to options: You can either create a plugin that provides new display components to display the value. Or you can change the columns of the catalog table. For that you have to modify your Backstage app a bit. I can't provide the full details as I haven't done it yet, but you can pass custom columns into the <CatalogTable>.
The docs says the backstage is a mono repo? does that mean do we have both the front end and back end development in single repo?
Yes, if you create you new Backstage app with npx #backstage/create-app you get both the frontend and backend, as well as an environment for plugin development in the same folder structure. It should also be all set up the create a running container from that that runs the backend and serves the frontend.
Is there any need or requirement for Java development if we want to use backstage?
No, you don't need Java skills. Backstage is written in TypeScript and React in the frontend and TypeScript, NodeJS, and Express in the backend.

Related

Import profile VS Select existing - deployment in Azure app service

I have .net core web application developed in VS 2019 already running in Azure. I installed the VS 2019 in a new system and opened the solution. When I am trying to publish (may be after a simple code change) the application using Visual Studio. The window that is coming up having 3 options to publish. Regarding these options, what is the difference, and when to use what?
Below is the screenshot, options highlighted in red. Create New is for complete new deployment, as per my understanding. However, I'm not able to clearly get, "select Existing" versus "import profile" and when to use what?
Can you download the publish profile from the azure portal for the service in question and reimport it?
The window that is coming up having 3 options to publish. Regarding these options, what is the difference, and when to use what?
1.Create New option enables us to create a new App Service, create or use an existing App Service plan (Hosting Plan) and Resource group within your specific subscription, like below.
If you do not have any existing App Services that you create through Azure portal or VS etc, you can use this option to create a new one before you publish your project.
2.Select Existing option enables us to search and select existing App Services from specific subscription and Resource group.
If you'd like to publish your project to an existing App Service, you can use this option.
3.Import Profile... option provides a way to import publish settings that we got from Azure portal as below and then deploy our app.
Sometimes, developer does not sign in with same account (create Azure App Service etc resources using this account) in Visual Studio, to deploy app to an existing App Service, we can use this option and import a publish settings file.

Incremental Update for HIPPO CMS

I am using Hippos CMS 7.9.3 community addition.I am using eclipse as an IDE.Currently we create template on DEV environment and move all repository to test environment , But this will vanish the existing content in Testing environment.Do we have any systematic way in HIPPO CMS either from UI or back-end by which I can incrementally import selected data from one environment to another without hampering the existing data
Hippo CMS has some very decent support for incremental updates to remote instances. In practice, you should never have to remove the remote data to update an instance. The two most commonly used scenarios to get data/content/configuration/code to a remote environment are as follows:
1) You can use the Hippo CMS Console application (http://localhost:8080/cms/console).
It offers an XML export/import functionality, which you can leverage to get changes across. It also offers a diff/patch tool, which allows you to create patches based on your project baseline.
2) For a more automated way, I would advise you to look at content bootstrapping and updater modules.
The online Hippo documentation contains some very decent guidelines/ examples on how the mechanims works and how to do this.
Deploying content and configuration updates
Hippo application release management

How to create a VM using VSphere java API?

I want to write some java code to create a VM, install iso (or copy the existing vm set up if install iso is not possible) and assign disk space, create login for the created VM.
I looked at Vsphere API examples in http://vijava.svn.sourceforge.net/viewvc/vijava/trunk/src/com/vmware/vim25/mo/samples/, it has power on/off of installed VM. I could not figure out how to create one with the API. I have two questions:
What are the steps to create VM using API?
What API or objects should be used to create VM programatically?
Appreciate your help.
I know i am about a year late, but when you download the SDK, you will have a sample how to create a VMdisk. Understand the code and then you can just do it your way :)
The link to the SDK.zip file
http://communities.vmware.com/community/vmtn/developer/forums/java_toolkit
and inside the SDk, the VMDisk file:
\SDK\vsphere-ws\java\JAXWS\samples\com\vmware\vm
You'll want to keep the VMware Web Services SDK documentation handy - unfortunately they changed formats recently so I'm not sure how good of deep links I can get for you. The specific method I've used is CreateVM_Task (you'll have to scroll down to find it on the Folder object). Alternatively, if you're using a resource pool, CreateChildVM_Task may be more applicable (again, scroll down to find it).
There is also a section of documentation on creating VMs that has some incomplete example code.
As far as where in the hierarchy to create the VM, that's up to you. Each host or cluster will have a vmfolder property that you can use to create VMs, or any other folder may work. Good luck!

Is there a good way to wrap an existing Python based web application to require a login?

I'm in the process of installing an open-source Python based web application to an internal server here at work. The existing code is open - it doesn't require a login to view it - but one of the requirements is that users have to be approved before they can see anything.
Is there a good way (using Apache configuration files for example, but any method would be great) to wrap the application so that any access requires a login? I would like to avoid modifying the open-source code (a maintenance nightmare every time a new release comes out).
Any thoughts or suggestions?
Apache supports Authentication, Authorization and Access Control.
It is a detailed process, and summarising it here would not do it justice. I refer you to the link provided,

Eclipse Plug-in

Want to build a plug-in for Eclipse that provides custom features, as required by our project and is able to persist the data (provide client server capabilities). Please suggest options.
Have a look a this http://www.eclipse.org/articles/Article-Your%20First%20Plug-in/YourFirstPlugin.html
and this
http://www.eclipsepluginsite.com/
This is a tad old but should still work : http://sourceforge.net/projects/jalcedo2
'JALCEDO is Rich Client Java Application develpment environment with database management tool accessible to create and modify database from client PC via http network based on Eclipse RCP. It support multiple database, including PostgreSQL and MySQL.'
Note that some of the code of this framework is now part of Eclipse DTP