Co-Factor: Platform architecture, AWS orchestration and enterprise identity
Technology ManagerNovember 2015 – November 2016 · March 2017 – June 2018
Combined core PHP platform architecture, AWS Elastic Beanstalk scaling and orchestration, and enterprise integrations with Active Directory/LDAP, AD FS and SOAP. Worked hands-on across application development, performance, security, infrastructure, technical guidance and customer delivery during two separate Co-Factor engagements.
Context & constraints
Across two separate Co-Factor engagements, I combined platform architecture, enterprise integrations and hands-on application engineering with security, operations and customer delivery. The 2015–2016 work included Active Directory/LDAP and SOAP integrations, stack optimization and infrastructure. The 2017–2018 work included a new Phalcon platform core, Symfony training features, AWS Elastic Beanstalk automation and SNS-backed email workers. AD FS integration was also part of my Co-Factor work.
- Work spanned existing PHP applications and new platform capabilities, with enterprise integrations and customer requirements shaping technical decisions.
- Cloud delivery included AWS Elastic Beanstalk configuration and scripts for scaling and orchestration, alongside application-level email processing with multiple workers.
- Performance and security work crossed the application, database, web server, operating system and operating environment.
- Training features also included browser video capture and a configurable conversion worker with HTTP, S3, SFTP or local inputs, export destinations and database-state updates.
My contribution
- Created AWS Elastic Beanstalk configuration and scripts for scaling and orchestration. Built a Symfony integration for SNS-backed email processing with multiple workers.
- Designed and implemented core architecture for a new internal-communication and performance-management platform using Phalcon PHP.
- Integrated Active Directory/LDAP and SOAP web services; also delivered AD FS integrations. Delivered PHP, MySQL, HTML and JavaScript features and fixes, including work in CodeIgniter.
- Developed modules and features in an internal training application using Symfony 3.
- Helped colleagues with architecture questions, difficult MySQL queries and production issues. Worked with customer requirements and delivery constraints to guide practical technical decisions.
- Profiled performance across application, database, web-server and operating-system layers. Tuned FreeBSD, NGINX and MariaDB environments.
- Built and hardened FreeBSD, CentOS and Red Hat environments using pf, PHP/PHP-FPM, NGINX and secure configuration practices.
- Set up MySQL replication, rsync-based backups, Cacti/Nagios monitoring and SMS/email alerts. Worked with AWS, VMware and VirtualBox environments.
- Performed penetration testing and vulnerability research with Burp Suite, Metasploit, OWASP ZAP and Kali tooling.
- Built office VPN access, secure outgoing connectivity and Seafile-based file sharing.
- Supported customer relationships, sales and technical meetings; helped internal and customer engineering teams and conducted technical interviews.
- Implemented in-browser video recording using JavaScript, HTML and PHP.
- Built a configurable Bash/FFmpeg conversion worker. It selected work from multiple MySQL tables, imported video through HTTP, S3, SFTP or local storage, converted it to MP4, exported the result and updated database state.
Technology context PHP · Symfony 3 · Phalcon · CodeIgniter · MySQL/MariaDB · JavaScript · Bash · FFmpeg · AWS Elastic Beanstalk · SNS · S3 · Active Directory · AD FS · LDAP · SOAP · FreeBSD/Linux · NGINX · VMware · Cacti · Nagios
Platform & integrations
A map of the architecture, integration and engineering responsibilities across two Co-Factor engagements. The branches describe separate areas of work; they do not represent one deployed system or a shared runtime path.
Components & responsibilities
- Co-Factor technical scope
- Technology Manager across November 2015–November 2016 and March 2017–June 2018.
- AWS Elastic Beanstalk
- Designed configuration and scripts for scaling automation and orchestration.
- Application architecture & code
- Phalcon PHP core for internal communication and performance management; Symfony 3 training modules and SNS-backed email processing with multiple workers.
- Enterprise identity & integrations
- Active Directory/LDAP and AD FS integrations, alongside SOAP web-service integration work.
- Performance, security & operations
- Application, database and OS tuning; hardened FreeBSD/Linux environments; replication, backups, monitoring, alerts, VPN and file sharing.
- Technical direction & delivery
- Architecture and SQL support, production troubleshooting, customer and sales discussions, and technical interviews.
Connections & flow
- Co-Factor technical scope to AWS Elastic BeanstalkScaling & orchestration
- Co-Factor technical scope to Application architecture & codeDesign & implementation
- Co-Factor technical scope to Enterprise identity & integrationsEnterprise integrations
- Co-Factor technical scope to Performance, security & operationsOperate & improve
- Co-Factor technical scope to Technical direction & deliveryGuide & deliver
The map groups work across separate applications and engagements. It does not imply that AD FS, the Phalcon core, Elastic Beanstalk and the worker implementations shared one deployment.
Video recording and configurable media conversion are supporting application capabilities described in the contributions.
Supporting media workflow
The configurable video pipeline sits alongside wider platform work: AWS Elastic Beanstalk orchestration, platform applications and SNS-backed email workers. These are related responsibilities across the work, rather than one combined service.
Components & responsibilities
- Browser video recording
- JavaScript/HTML/PHP recording capability.
- MySQL work selection
- Worker selects conversion tasks from configured application tables.
- Input sources
- HTTP, S3, SFTP or local storage.
- Bash / FFmpeg worker
- Configurable import and MP4 conversion.
- Output destinations
- S3, SFTP or local storage.
- Database state update
- Record processing results in the application’s data.
Connections & flow
- Browser video recording to MySQL work selectionRecording enters product workflow
- MySQL work selection to Bash / FFmpeg workerSelect work
- Input sources to Bash / FFmpeg workerImport media
- Bash / FFmpeg worker to Output destinationsExport MP4
- Bash / FFmpeg worker to Database state updateUpdate processing state
Browser-to-task flow is conceptual. Historical email processing used SNS.
Decisions & trade-offs
Use cloud orchestration alongside application engineering
Elastic Beanstalk configuration and scripts made scaling and environment behavior part of the implementation work.
Trade-off: Managed cloud capabilities still require configuration, monitoring and an understanding of application behavior.
Keep technical direction hands-on
Architecture, implementation, customer conversations and colleague support informed one another.
Trade-off: The role required balancing new development with integration, security and operational work.
Tune the whole request path
PHP/application, database, web-server and operating-system behavior all influenced performance.
Trade-off: Cross-layer tuning requires evidence and coordination; a local improvement needs to be understood in the wider system.
Move media conversion into a configurable worker
Video import, conversion and export need a processing workflow that can address several source and destination types.
Trade-off: Asynchronous work adds task state, operational diagnosis and the need to coordinate files with database updates.
Outcome & operation
Delivered core platform architecture, AWS Elastic Beanstalk automation and enterprise integrations, combining application development with performance, security and operational engineering. The work also included training features, SNS-backed email workers, browser video recording and configurable conversion workers. Technical direction remained hands-on through architecture guidance, troubleshooting, customer coordination and technical interviews.
Notes & references
- Professional experience
- Two Co-Factor periods: November 2015–November 2016 and March 2017–June 2018.