Custom Applications

For application development we recommend to set up a complete CI/CD pipeline with linting, automated tests, automatic image builds and deployment, all from source code.

Please visit the following sites for working demo setups we have prepared for your convenience:

Alternatively, you may consult the OpenShift Developer Guide on Creating new applications, which covers several languages, frameworks and strategies.

Logging

Every application should log to stdout. APPUiO will automatically collect that output and make it accessible via Kibana at logging.appuio.ch. See Application Logs for more details.

The Kibana user interface allows powerful queries on all captured application console output (you don’t have access to cluster logs for security reasons), but it requires some data analyst thinking and style of working.

Exception Tracking

For APM and exception tracking we suggest to use an external service like Sentry, New Relic or Datadog. (They all provide an API to automate configuring your integration, which we highly recommend doing!) They all allow to configure alerting or integrate with alert services.

Monitoring & Alerting

From a concept point of view, cloud applications should be self-healing and hence have less need to be monitored for everything. You should specify resource requests and limits for your Pods as well as liveness and readiness probes, then APPUiO can automatically kill and restart your applications when they start using too much CPU or memory, or are stuck in a broken state. In addition, we suggest the following options to actively monitor your application and receive alerts:

  • Self-hosted Prometheus (with AlertManager). Please contact us as we need to install Prometheus for you in your namespace. See the Prometheus docs on how to configure alert backends and alerting rules.
  • Use your favorite infrastructure monitoring service that monitors uptime, such as Datadog, New Relic, UptimeRobot and many more.
  • With a Service Level Agreement (SLA) we monitor your application for you 24/7, and our engineers get your application running for you again, even on holidays and outside office hours. Please contact us for details.