How to connect to an existing serverless deploy - serverless-framework

Say I am working on one computer, and I do a serverless deploy. And lets say for arguments sake that I toss my computer out the window out of anger, and buy another. Is there any way when I start working on my serverless project to connect to the existing deployed version?

As long as you still have access to the serverless.yml and any source code (cause you checked it into source control or backed it up somewhere) and you still have credentials for the AWS account the serverless app is deployed to, sure

Related

Postgres: What is the development process?

What is the normal process for working with Postgres in a Node, React, Express application?
In that past, I've used MongoDB Atlas to quickly create and host a database for my development environment. My current project is using Postgres for the database, however, I'm trying to figure out the process/workflow.
For example, trying to find a Postgres as a service equivalent to Atlas, Heroku and Digital Ocean seem to match that bill. However, it looks like Heroku needs a deployed project to work. I don't want to deploy yet and really just want a development database.
Is it normal practice for everyone on the project to spin up a local Postgres database and then deploy/host a single production database at the end? Thanks for the help!
I would suggest following workflow that I've recently used on a project.
local instances on docker or something (feature development purposes)
first staging instance that could be used as stable dev env (can be used for specific feature testing, or as a internal testing environment)
second staging instance where stable master branch with hashed prod data can be used for external testing
prod or prod mirror, depends on project requirements
It would be also helpful to have migrations within the code, so that you can keep track of DB development as well. Also look into https://sequelize.org/ as it could be helpful.

Google App Engine Flex - ASP.net core 2.1

Need your help. I just want to locate the published files (physical files published) of my .NET Core 2.1 in the App Engine server. I used Google plugin tool to publish my site and everything is done automatically.
I'm using simple app.yaml file:
runtime: aspnetcore
env: flex
I tried to scan some folders of the App Engine server but I could not locate my site. I also wonder maybe because google uses docker (don't have experience with docker too) and those file are in the docker's container. Not really sure.
In your project's Cloud Storage Buckets list, you will find a Bucket named like artifacts.[project-id].appspot.com. There you will find the container images that were deployed to App Engine.
However, App Engine provides On Demand server provisioning and scaling. This means that App Engine instances will be created when requests start coming in and more instances will be created if traffic increases.
Each instance will load your app's image individually.
In this type of environment, you should not store any relevant information in the App's directory, because all of it will be erased when the instance is killed due to lack of traffic and the data stored in one instance will not be available in other instances. See how instances are managed for more info.
If you want your app to store data in a SQL database, you could have a look at Cloud SQL, or also, you may find that Cloud Firestore, which is a NoSQL database, can suit your needs. Here is a list of GCP databases

Visual Studio Team Services Test Running

Apologies if similar has been asked before, I couldn't seem to find anything, just link me in the right direction if so.
I'm brand new to test automation, I will be writing selenium tests against a third party website hosted on an internal network. Our source control is provided by Visual Studio Team Services, although it is possible I can install TFS on premise.
Eventually I need to schedule test runs, I believe all this can be done with team services, seen some demo's, all good.
I will be using a URL to access the system under test which is on our internal network, if team services tries to run a selenium test and connect to the URL it will fail I imagine as it's running from wherever Microsoft are holding the code and building.
I don't think there would be a chance that we would allow Team services any access to our internal network if that was even possible.
So the question is, what are my options? can the build be moved from VS Team Services onto a local machine to run the tests with the internal URL? Is this a good idea if it can? Am i relying too much on the internet for testing on our internal network and is this a risk?
I have spent a bit of time on "the google" but struggling to find a great deal of information, it's possible I am asking the wrong questions.
Any help is greatly appreciated, links to articles are fine, don't mind doing the leg work, just need some pointers.
Many thanks for your help, apologies if any of that makes no sense.
You have a few options:
Install a VSTS Build agent on-premise and connect it to VSTS. The agent connects to VSTS using an outbound connection and it will be able to execute Builds and Release pipelines and from there orchestrate the execution of tests. You can either put this agent in a specific Agent Pool or Agent Queue, or you can add a Capability to it (e.g. "onprem"). By setting the Build Definition to use the specified Pool/Queue the agent will be selected. Or by adding the Demand "onprem" to your Build Definition it will ensure that it always requires that capability of any agent.
Use TFS 2015u3 or TFS2017 with the same agent, but that would mean you loose all the goodness that VSTS has to bring with regards to licenses, "free upgrades" and all.
With regards to security.
Adding a agent to your network that executes commands queued on a cloud service adds a risk. You can minimize that risk by configuring the build agent with a limited account, use Active Directory to limit the machines this user can run processes on/logon to and you can limit the access to this agent through permissions on the Queue and Pool as well. You can ensure that the users who have access to this pool and all your VSTS administrators have configured 2-factor-authentication on their AAD account and if needed add IP access control to these accounts as well. It's recommended that users that administer such agent pools/queues do not have alternate credentials configured and that the Personal Access Token used to register the agent is scoped to the permissions required to do just that.
With these extra measures in place you'll have a pretty secure setup. And it beats the hassle of having to install, backup, maintain a couple of TFS servers on-premise.

Disable Direct Update for worklight6.1 development platform

Right now i am developing an app on remote DEV server. Every time when i update the code (js,html,css etc) then test on the device locally. There is a popup to force me to update the app. But my app need to connect DEV server for testing some backend feature like login.
DEV server is a remote Websphere running WL6.1 for development purpose. Why i need it because my app connect to some web services like Auth server via internal environment (actually is VPN). And those services i cannot set up easily in local environment. That makes using localhost for development is not really possible.
My problem is feeling the development process not really handy. Every time i change the code and want to run on the devices. I need to upload the .wlapp via console. It takes time! Everyday i change the code thousands time. That's why i need a solution.
And now i am seeking for 2 possible ways:
Auto push the .wlapp to remote server when i run and build. Can ANT do that? i read the Doc and find it's a bit of complicated.
Disable Direct Update. Actually i do a tricky hack inside worklight.js to override this feature. But i think it is not a good solution. So, is there any server config can switch the that off?
And i read this thread IBM Worklight - How to disable Direct Update?
Not working.
From what you are describing, things seem to work exactly as they should.
You have your local Worklight Development Server (that's the Worklight Studio plug-in you've installed in your Eclipse).
You have a remote server - here I am presuming this is actually some application server with Worklight Server deployed on it (that is, not the plug-in, but an actual installation of the server component) as well as your deployed project's .war file.
If that's not your setup, you need to think again about your 'testing setup'.
Auto push the .wlapp file to remote server. So the dev server always
keep the latest resource. Not to force me "update" the older version
on the server.
No. You can't do this. You need to manually build your app with the correct connectivity settings for the remote server via Run As > Build Settings and Remote Target.
In addition to the native project that will now contain these connectivity settings for the actual app, you will also have a .wlapp file in the bin folder. You will need to manually deploy it each time you're changing your app's contents. That's why you do development testing in the local development server... when moving to a remote server, that's for QA/UAT/PROD purposes usually.
Just disable this annoying feature in DEV environment.
You will need to do this in both servers via their respective Worklight Console as described in the question you've linked to, so that once you deploy the .wlapp file, it will not send a Direct Update request.
Instead, you'll need to manually re-install the app each time.
I suspect you didn't do this action on the remote server?
If you did, then you need to explain your setup, as the only thing you've wrote about was its name... "dev".
No. You need to manually deploy the .wlapp to your remote server.

how to setup worklight on public http server

I am building worklight project using eclipse environment when i run the project , i need to connect my tablet to local network then only i works for me for all the server updates and all.
I just want to move worklight server on http server which i can access using http://publicurl/anyprject which runs on apache. Now i want to work on eclipse but whenever i deploy the project it should deploy on public so that i can access it from anywhere.
Just tell me the process and what the thing i need to move on public server.
Since you've come here to ask a question, please also take a moment to write properly structured and coherent sentences in English. This will only benefit everyone and you will get a better answer, and faster too.
Try the following:
Instead of choosing Build All and Deploy, try choosing Build for Remote Server; there you should input the external (public) IP address of your machine. Next, run the generated project in your device. This should allow it to connect to the Worklight Server.
Note that both the Worklight Server (or rather, the machine that hosts it) and the device must be on the same network, in this case - connected to the public Internet.
Based on your comment, you can:
I would seriously try to open your own machine to public access
If not possible, I would try to move to develop on the Linux machine instead
If not possible, then you must install Worklight Server on the Linux machine and whenever you make changes to the project - deploy the updated .war, .wlapp and .adapter files to your installation on the Linux machine
Build the app with Build for Remote Server so that it will connect to the Linux machine instead of the local development machine
Step 3 above means you'll need to maintain 2 development environments, which is not so easy.
If you are during development, you should aspire for options 1 or 2; in other words, create a proper development environment. In Mobile, this requires public Internet access (usually).
Are you a stand alone developer, Business Partner or a Customer of IBM?