What is the development workflow with IBM Bluemix and CloudFoundry? - ibm-cloud

I'm starting out with IBM Bluemix and CloudFoundry. Using the tutorial examples of the Node.js/Cloudant app I have a dev workflow that seems really slow. What is the best practice for development with cf?
Here's what I do now
Edit my files locally
cf push myapp
Wait for a long time for the app to deploy
Test and find an error
Repeat

If you are building a Node.js application, you can use Bluemix Live Sync to quickly update the application instance on Bluemix and develop as you would on the desktop without redeploying.
You can choose to download the bl cli to sync with a local directory using Desktop Sync, or set up your project on DevOps Services and edit the code directly in your browser using Live Edit. Look in the documentation for Bluemix Live Sync.
https://developer.ibm.com/devops-services/2015/02/13/everything-kitchen-sync-bluemix-live-sync/
If you are doing more intensive development, it would be faster for you to set up node locally and push to Bluemix periodically. You can still consume most Bluemix services locally.

If you have to rely on an architecture resident in Bluemix and you do not have the possibility to test on local you cannot avoid the "push" command and the workflow you described. Regarding point 3, you might have incurred in a platform issue announced at https://developer.ibm.com/bluemix/support/#status.

Related

Deploy Sveltekit on own Windows/Linux Server?

I am almost done with my first Test Sveltekit Application and want deploy the App in the next Days in my private Network. When I google for this I get flooded with "Deploy to Vercel, Netlify.... and so on" but I dont see much for deploying it the Application to an Server.
Can somebody explain what to do? The Application uses Endpoints.
You would likely want to run it through a Node server, for this you can use the adapter-node package, see the documentation for it for more information.
https://github.com/sveltejs/kit/tree/master/packages/adapter-node

How to deploy code to IBM Cloud using DevOps approach?

Can somebody bring some light in IBM Cloud deployments tools / platforms whatever?
I am new to it, so I am looking at their docs, watching videos and still i am confused.
What I want to achieve is typical scenario fetch code from repo, build it, test it, deploy it to cloud. I found strategies / platforms how to achieve that and i still can't see differences advantages / disadvantages between them.
So we have:
toolchain
cloud foundry
code engine
Continuous Delivery (service)
and maybe something more? :)
I am looking at Cloud Foundry explained video and the guy is saying if you want to do not care about the bottom part like networking, security, containers you can choose deploy using K8S service. Wtf? So from total automatic thing you can now handle something in the cloud foundry by yourself. So for me its total mix of everything together and i don't know now which tool / platform / strategy to use.
Any comment is appreciated.
It all depends on your requirements.
IBM DevOps/Continuous Delivery/Toolchanis is set of services that can build and deploy your application to given runtime. You can find various tutorials here - https://www.ibm.com/cloud/architecture/courses/toolchain-tutorials. These tutorials shows you various things that you can embed in your build pipelines (like code scanning with CRA, image scanning, signing etc)
These runtimes can be different depending on your requirements:
CloudFoundry, where you deploy app using a buildpak, but this is rather fading technology, so I wouldn't recommend that
as docker image in K8s/OpenShift cluster - use this if your organization is planning or already utilizing Docker/Kubernetes/OpenShift. You will need to create K8s/OpenShift cluster first.
as serverless app, using the IBM Code Engine
If you are just starting and just want to deploy simple, single app to the Cloud I'd consider using IBM Code Engine and not investigate Toolchains for now. Check basic demo here - How to deploy source code with IBM Cloud Code Engine

Can't find Blockchain Cloud Foundry app

I followed the instructions on IoT Asset Tracking on a Hyperledger Blockchain . BUILD and DEPLOY finished successfully, but I can't find the composer-rest-server- app under Cloud Foundry Applications.
I can use the CF Blockchain services, enter the Monitor and open the Swagger UI. The question is, where can I find the application-specific APIs mentioned in the tutorial:
If everything deployed correctly, you can find the app in the IBM Cloud dashboard at https://console.bluemix.net. If you have many apps and services deployed, make sure to filter correctly or to be aware of paging.
If you suspect that something got wrong during build and deploy, go to the toolchain and check the logs. The toolchains can also be reached from the dashboard.

Best Strategy for deploying test and dev app versions to Google Compute Platform

Google Compute Platform
I've got an Angular (2) app and a Node.js middleware (Loopback) running as Services in an App Engine in a project.
For the database, we have a Compute Engine running PostgreSQL in that same project.
What we want
The testing has gone well, and we now want to have a test version (for ongoing upgrade testing/demo/etc) and a release deployment that is more stable for our initial internal clients.
We are going to use a different database in psql for the release version, but could use the same server for our test and deployed apps.
Should we....?
create another GCP project and another gcloud setup on my local box to deploy to that new project for our release deployment,
or is it better to deploy multiple versions of the services to the single project with different prefixes - and how do I do that?
Cost is a big concern for our little nonprofit. :)
My recommendation is the following:
Create two projects, one for each database instance. You can mess around all you want in the test project, and don't have to worry about messing up your prod deployment. You would need to store your database credentials securely somewhere. A possible solution is to use Google Cloud Project Metadata, so your code can stay the same between projects.
When you are ready to deploy to production, I would recommend deploying a new version of your App Engine app in the production project, but not promoting it to the default.
gcloud app deploy --no-promote
This means customers will still go to the old version, but the new version will be deployed so you can make sure everything is working. After that, you can slowly (or quickly) move traffic over to the new version.
At about 8:45 into this video, traffic splitting is demoed:
https://vimeo.com/180426390
Also, I would recommend aggressively shutting down unused App Engine Flexible deployments to save costs. You can read more here.

How can I reduce deployment time for web applications on Liberty for Bluemix?

Liberty on developer laptops take under 5 seconds to publish most changes, and negligible time to publish static content changes.
When I publish the changes onto Bluemix Liberty, using "cf push", the deployment takes time in order of minutes. Binary Upload time is still very small. This is true for Node.js apps too.
Increased deployment time discourages developers from testing their changes in cloud environment.
What can I do to reduce the deployment time?
I would encourage you to consider the following:
1) Use the IBM Eclipse Tools for Bluemix
2) Use Incremental Push and Development Mode
You can find more info on both of these topics by reviewing the article below:
https://console.ng.bluemix.net/docs/manageapps/eclipsetools/eclipsetools.html