Bauer Media Group
Core Media Platform
In this project for our client the Bauer Media Group an amb software top talent software architect and senior developer have developed a core media platform with 3 main tasks.
Solution
-
amb software positions:
Software Architect & Senior Developer
1. Node.js based internal services and modules development and deployment lifecycle management.
The Operations service stack, supporting the development and deployment lifecycle management of internal Node.js based services and modules.
- Puppet based provisioning for services and helper Virtual Machines.
- Highly optimized Jenkins CI setup, allowing for dynamic jobs creation per configured set of modules and services (JSON config), providing single Job per Artifact approach with custom UI, changing dynamically depending on the lifecycle action (like BUILD, TEST, RELEASE, PUBLISH, PROVISION, DEPLOY).
- Internal NPM registry for own modules and services.
- Jenkins Job build processes running on Docker containers, created from generic or per-artifact dedicated Docker image.
- Vagrant based 'Virtual Lab' allowing for simulation of the production environment of the Jenkins CI, Sinopia NPM and internal services, due to evaluate the development of the lifecycle management stack.
- Leveraging the Git Flow approach for development & release management.Technologies & Tools: Vagrant, Puppet, Docker, Jenkins with plugins, Sinopia NPM, Ruby, Groovy, Linux shell script.
Technologies & Tools:
Vagrant, Puppet, Docker, Jenkins with plugins, Sinopia NPM, Ruby, Groovy, Linux shell script.
2. Image Service
Highly optimized service for Image storage and on-demand processing and delivery:
Technologies & tools
-
- REST API,
- admin part for managing the Images database in various graphic formats, with CRUD operations,
- delivery service providing the SEO optimized links to images, being processed on the fly (Scaling, Cropping, Format conversions etc.),
- highly optimized HTTP caching, with intelligent ETag resolution, based on the original source image,
- Swagger interactive API user interface,
- part of the enterprise Content API.
Technologies & Tools:
Node.js, PM2 process manager, Express, Promises, REST, Swagger, GraphicsMagick, Varnish Cache.
3. Content API
Enterprise REST based, secured Content API, enabling the digital content lifecycle management and utilization:
- REST API,
- Security with OAuth 2.0 & OpenID Connect,
- Swagger interactive API user interface,
- JSON Schema based modeling for NoSQL storage and JSON validation,
- highly optimized HTTP caching.
Technologies & Tools:
Node.js, MongoDB, ElasticSearch, OAuth 2.0, OpenID Connect, PM2 process manager, JSON Schema & Validation, REST, Promises, Varnish Cache.