Communication between PCF and External Application - cloud-foundry

I am trying to have a simple client and server application that will communicate over SMPP(TCP/IP) protocol.
I was successful when both the client and server were run on my local, but when I tried to push the client to Pivotal Cloud Foundry, it could not connect anymore to the server running on my local
Does Pivotal have restrictions in terms of communication between an app on PCF to external applications?
Thanks in advance :)

I know it is bit late to answer this.
Your question does not say whether you are using PCF DEV on your local computer or deployed it on cloud.
If you deployed it on PCF DEV, then it cannot access any of the local resources directly. You may have to define CUPS (create-user-provided-service) and then access it.
If you have deployed it on cloud, you may not be able to access a service running on your local machine, unless you have a publicly accessible IP address. If so, again, define it as CUPS and use it.

Related

Best Approach to Create and Deploy Configurable Virtual Machine

I am new to Vmware APIs, is there some way to use Rest/Soap APIs to deploy a VM on a given IP of either an ESXi Server or a Vcentre Server?
I know there exists CreateVM_Task in VSphere Web Services SDK but how to use it for an ESXi Server on a remote location?
Theoretically, you run the sample the exact same way. However you authenticate to the ESXi host directly instead of the vCenter server.
Now that I think about it, you'll probably also have to remove the datacenter parameter since hosts don't contain datacenter objects.

Migrate from Dedicated Server to Google Cloud Platform. Is that possible?

My dedicated server will expire soon. I just consider whether to renew it or migrate to Google cloud platform.
There are several points needs to consider:
Currently I am using Google Cloud Storage API to host static large files for my website. That will be fine.
My website also contain dynamic contents, such as PHP. Will Google supports to host such contents?
My website also use WordPress and MySQL database. Will Google support to host such contents?
My server is also host mailboxes and mail forwarders. Will Google support to host these?
My server is also host several add-on domains via cPanel. Will Google support to host these?
To the best, is it possible to use cPanel on Google cloud platform as I am familiar with cPanel.
Thank
Yes, you can migrate a dedicated server to Google Compute Engine. It is possible to run cPanel on a GCE instance. From your question, it sounds like you are used to a managed service where they have configured the server for you. GCE is not managed, so you will have to do much more systems administration to set it up and operate the server.
It is not easy to run email on a GCE instance because outbound port 25 is blocked by default.

Is there any way to connect GCP to local IP ?

So my partner builds an API on top .NET and uses a local server to put the project. so to connect the API endpoint I need to create a VPN before I can access the API,
I've done connect from my PC to my partner local server, if in windows 7
create a Workplace then filled Internet Address, destination Name, Username and Password.
So how can I do this from GCP till I can access my partner local server from GCP ?
Don't ask me why not just upload your partner api project to gcp.
thanks..
Have you tried to: just do it?
Just
Create a tunnel from a GCP Compute Instance (Virtual Machine with HTTP/HTTPS) to your partners local server on prefered port?
GCP offers VPN Products - https://cloud.google.com/vpn/docs/concepts/overview - maybe they will help you.
Based on your question, there are a few solutions available. I’ll provide two solutions which may help you.
If you would like to set up an internal path from your GCP instance to your partner’s local server, maybe you should look into this following quickstart on VPNs.
However if you’re looking to use an external path to connect your GCP instance to your partner’s local server, try exposing your partner’s server IP externally and configure a load balancer to it.

Seeking advice on proper approach to development on Netflix Eureka discoverable Spring Boot services with minimal overheads

We are running a Spring Boot-based environment with about 15 microservices and a Zuul edge gateway registered with Eureka. Currently, I have set up all microservices to call other microservices through the Zuul gateway (e.g. if serviceA needs to call serviceB, the URL configuration property would be serviceB.baseUrl=http://zuul.mydomain.com:7001 where zuul.mydomain.com is our development server on AWS with all other microservices running behind it). Zuul in turn proxies to the microservices via Eureka registry lookups.
One benefit of doing it this way is that for a developer working locally on his machine, he would just need to run his service and all other dependencies on other services are reachable through the Zuul gateway on AWS (and in our ecosystem, there's a lot of such cross-service dependencies).
Now, I would really love to leverage on the full potential of Eureka / Ribbon and make calls directly to a peer microservice via its service name and a #LoadBalanced RestTemplate but I find that this would impose quite a lot on the developer having to recreate an entire ecosystem on his machine. At a minimum, he would have to run Eureka, his own service and any other services that his service is dependent on. This makes the barriers to entry for development unnecessarily high.
I did consider making the developer's local instance register to our Eureka service on AWS, but the problem is that all services on AWS are registered using the EC2 instance's private IP which is basically unreachable from the developer's machine. If I force the service to register using its public IP, it would mean that I have to use up more of our ElasticIP allocation for each service or change the IP every time the EC2 instance gets rebooted.
I could run a local Eureka + microservices environment in the local network but that means I need to create one such environment for every office we operate out of and that just means more overheads. In addition to that problem, it would probably mean that developer A may be calling developer B's half-done-not-quite-there-yet version of a dependency service which just confuses the heck out of everyone if a problem occurs (the services that get deployed to our AWS environment at least goes through a code review first before being deployed).
If there's anybody who has figured out a way to simplify a developer's setup while being able to leverage on the peer-to-peer service invocation possibilities of Feign / #LoadBalanced RestTemplate clients, I would love to get some pointers in the right direction.
Have confirmed that I can accomplish what I want (which is to be able to do local development on Ribbon enabled RestTemplate clients without having to run Eureka) by:
Force Ribbon to not use Eureka using the following property: ribbon.eureka.enabled=false
Manually provide Ribbon with the servers to point to using the following sample property: servicename.ribbon.listOfServers=test.service.com:8080

Can any Bluemix application run on AWS? or Local server?

I know this kind of question is basic concept of bluemix but, I just worder if I develop an application on public bluemix using certain runtime, such as Node.js or Liberty, can this application run on my own Local server or AWS?
Is it depends on bluemix-provided services that I bind to application?
or If I install cloudfoundry on my local server or AWS cloud host, can the application run without any problem or issue?
thank you
You can try out Lattice. It will allow you to run your own local or AWS hosted minimal cloudfoundry runtime. This will allow you to run your applications. If the services you are talking to are publicly accessible ie. Have a publicly routable host and port, then you can expose them as environment variables in your CF app manifest and reach out to them from your own CF or you could look at user provided services. You will need to upload buildpacks to your lattice/cf installation that are not a part of the standard installation.
DISCLAIMER: Lattice is useful during development and NOT recommended for production use. You should setup the entire cloudfoundry for that.