Apps monitoring on Openshift - openshift

Once I have deployed my application on Openshift, what is the recommended way / best practice of collecting the: 1) CPU, 2) network, 3) memory, 4) disk storage usage of the app? Basically to monitoring an app.
The best would be if they could be displayed in a time series format. Is it possible to link it with 3rd party service (e.g. New Relic) to do that?
Thanks.

I would say that new relic would be the best way to go for most folks. OpenShift does have a marketplace that brings in lots of different 3rd-party solutions like and makes them super easy to integrate. New Relic is available and best of all you can do it for free. You can go to marketplace.openshift.com to add new relic and there's even a KB that will walk you through it step by step here: https://help.openshift.com/hc/en-us/articles/203467070-How-do-I-add-New-Relic-to-my-application-in-the-OpenShift-Marketplace-.
For the sake of stackoverflow, here are the contents of that article:
1. Go to marketplace.openshift.com and login in
2. Locate New Relic
3. Click on "Try the Free Edition"
4. Complete checkout steps.
This will create your www.newrelic.com account. You can confirm this by going to
purchased products at the top of the page. Then to your new relic add-on and click on "New Relic". This should bring you over to newrelic.com and automatically log you in with your OpenShift marketplace account.
To add New Relic to an individual OpenShift application.
Click on Purchased Products
In the New Relic Section, you should have something like "newrelic_6a260 Standard" and a "add to apps" button.
Click on the "add to apps" button
Select the application you want to add New Relic to.

There are two other options you can use.
AppDynamics - I have used their tools and I really like it for monitoring. It is available as well through the Online Store
DataDog - I have not used them but I have seen the demos at their booth and it looks really good as well.
Would love to hear what you choose and your experience.

You should consider Sysdig Container Monitoring
Of all the tools mentioned, it's the only one that was purpose-built for containers. It uses the metadata from openshift to allow you to group containers dynamically into services (namespaces, deployments, etc).
It gives you host, container, and application metrics, including response time of containers and services using network data.
It provides custom alerting and dashboarding as well.
Finally, if you're the service provider, they have a functionality that enables "service-based access controls" - basically allowing you to limit data access to certain services, again, based on the Openshift's metadata.
Sysdig can be used as a cloud service or as on-premise software depending on your use case. Here is a link to their open shift commons briefing: https://www.youtube.com/watch?v=-w-OD78Hno0

Related

Considering Tyk API Gateway - open source version

Project background: Building an API driven Learning Management System. The back-end system will be receiving data from multiple systems and interfaces: web, mobile, VR.
Looking at API Gateways to front our APIs. Preferably an Open Source API gateway but need to be sure that the support and service is available. Tried out Tyk.io and it feels like it might be the way to go. Been reading other StackOverflow threads around this and looks like TYK's gateway fairs quite well against the likes of Kong and WSO2.
Main areas of consideration for us are:
Rate-limiting
Open ID Connect authentication
Analytics
Scalability
Hybrid model of hosting - combination of on-prem and cloud depending on compliance requirements of educational institutes (Probably rules of AWS' gateway)
It would be really helpful if anyone who is using or has used TYK.io for their production projects can share their experience, especially for enterprise clients/projects.
Full disclosure: I work for Tyk, so of course think that Tyk is the best fit for your project ;)
Seriously, though - Tyk can do all those things you’re after. Here are some links to the documentation for each item that is big on your list:
Rate-limiting
Open ID Connect authentication
Analytics
Scalability
Hybrid model of hosting
You can also post on the Tyk community for help, if you haven’t already, or search to see what else others have said.
The Tyk Open Source API Gateway will do everything you need, even outputting analytics to difference sources, like ElasticSearch, Mongo or just CSV.
In addition, you can also use our API Management Platform to control your open source gateway. The Tyk API Management platform includes a Dashboard with analytics and out-of-the-box developer portal. Tyk is free to use, under a developer license, to manage a single gateway node, ideal if you are doing a POC.
Hope this helps and please keep in touch to let us know more about your use case.

CouchBase WEB(AngularJS), Android(Native), IOS(Native)

I'm planning to build an application that runs on WEB(AngularJS), Android(Native), IOS(Native).
I have experience with MongoDB, but I found CouchBase which sounds really good for me.
I read documentation and I found out I need to use sync_gatway to sync my mobile databases with main database server and reverse, until now everything is fine.
I also need to use "channels" to share records with multiple users.
The problem comes when I need to implement this for web application.
In their documentation on "Working with web applications" they explain how "bucket shadowing" is working, but they also say:
Bucket shadowing is meant to enable sync for existing Couchbase Server
apps. If you are creating a new app with both mobile and web clients,
we recommend starting with the Sync Gateway REST APIs, and connecting
backend services using the Changes Worker Pattern.
After reading Sync Gateway REST API I found out I'm limited to facebook and persona authentication. So I can't use my own authentication mechanism?
Also, there is nothing specified in REST API about channels?
Is there any example project or more documentation about this? I couldn't find anything :(
If someone has experience with this, please explain how this works.
Thanks
There is also Custom (Indirect) Authentication available on Sync Gateway, which you can use for any type of auth you need.
But you have to hide Sync Gateway's Admin API under your backend layer.
As for the channels: it is responsibility of Sync Function to route different documents to necessary channels based on Document data.
Here is a good video that describes how to build production architecture around Couchbase Lite.
I'm probably late for the party - but as of today I'd recommend taking a look in the PouchDB project for the WEB AngularJS side - they match pretty well and will sync with Couchbase.
Regarding authentication, I just released an article on that topic, find it here. Hope this helps somebody

Box api-content developer account to production ready account

I currently have a developer account setup in box and looking for steps to move it to production. I cannot find details on
If there is number of users allowed
How to turn production mode on
I am have setup initial account with auth redirect url. Configured my app key and token in my web application.
In terms of "productizing" I've heard a few different ways this term
1) To just make an app generally useable among consumers of the third party app, all that is needed is a functional integration with Box APIs. Assuming that you have implemented oAuth correctly and integrated our APIs functionally, there is no barrier to everyday users to using that integration between Box + third party app.
2) To make an app available to Box users ("productionalize" is a term I hear often), the best way to do this is through our gallery. Developers can follow these instructions for creating a listing in our App Gallery: cloud.box.com/appgallerylisting

publish google play with password resctriction

I would like to publish an app in google play, but I want to restrict the downloading under password or something like that. Is it possible? Is there any alternative?
Many thanks in advance,
Short Answer:
No.
Slightly Long Answer:
Applications available on Google Play cannot be downloaded only after a user authenticates. Any such feature will have to be implemented withing your application. At best, if this feature is needed for monetary reasons, publish a paid application.
Since the OP isn't descriptive beyond what you are looking for as a feature, it will be difficult to suggest an option / alternative that might suit your requirement. However, if you have a server setup that can communicate with the app, you can implement a feature which requires users, upon installation and running your app, to Sign Up for a new account and/or Login if already registered.
Again, I will circle back to the original point. Any such feature will have to implemented within the application itself. Google Play does not have such a feature.

How do I deploy my box.net application

I have create an box.net application according to the documentation.
Now, I would like to share the application with my colleges. Does anyone knows, how I can make it? IMPORTANT, I dont want to deploy it in public.
Thanks in advance
It really depends on what kind of Application you've created. There are fundamentally 2 types of apps in the Box "App Marketplace"
1) Apps that run on a server at a URL you own. Box sends calls to you, either for file-actions (think right-click, open-with kinda stuff), or for webhooks.
2) Apps that are built for a specific device (like an iPhone or Android). They show up in our marketplace, but the download links take users to the itunes or an android store to download the app. These apps call into Box via APIs (see https://developers.box.com/docs)
If you've built a #1, then you need to figure out where you want to host the software you wrote. Box makes it easy to host it on Heroku, or CloudFoundry, or Parse, so you can get going quickly, without having to provision your own hardware, etc.
So, it really depends on what kind of application you've built.