RoTunnelingRoTunneling: Long-term ownership of a commercial VPN product
Founder / Solution ArchitectProduct history from 2010
Built and operated a commercial VPN service spanning customer software, subscription and billing workflows, authentication, VPN nodes, cross-platform clients and support.
Context & constraints
A VPN product is more than a tunnel. Customers need to register, pay, connect, renew and get help. The service needs authentication, operating infrastructure, compatible clients and a release process. With RoTunneling, I owned that product loop: architecture, software, infrastructure, payments, security, support and commercial operations.
- Customer and administration workflows had to connect to subscriptions, invoices and service access.
- The service crossed web applications, authentication infrastructure, VPN servers and desktop clients for different operating systems.
- Compatibility, configuration and certificate changes required ongoing maintenance and clear customer communication.
- Product development included collaboration and upstream software components, alongside my own application and infrastructure work.
My contribution
- Built customer and administration applications with a custom PHP framework, Smarty, MySQL, JavaScript/HTML/CSS, NGINX/PHP-FPM, Memcached and FreeBSD.
- Implemented registration, shopping cart, account dashboard, discount coupons, recurring-payment workflows, invoices, referrals and blog/content capabilities.
- Built administration for customer management, invoicing, business indicators, PDF invoices and SAGA accounting exports.
- Worked on RADIUS/MySQL authentication and clustered VPN infrastructure using custom SoftEther builds on CentOS/FreeBSD, with OpenVPN and other connectivity methods also appearing in the service history.
- Built and maintained Windows, macOS and Linux client applications based on SoftEther client components and Electron, and managed releases, compatibility changes and support.
- Silviu Stroe helped develop and publish the Android release.
- Maintained public product communication around releases, configuration changes and customer workflows over several years.
Technology context PHP · Smarty · MySQL · JavaScript · FreeBSD · CentOS · NGINX · PHP-FPM · Memcached · RADIUS · SoftEther · OpenVPN · Electron · Stripe · MobilPay
Historical product architecture
A high-level view of the customer application, administration, authentication and VPN service responsibilities. Client and server implementations evolved over time.
Components & responsibilities
- Customer application
- Registration, dashboard, subscriptions, invoices and support-facing workflows.
- Administration
- Customers, invoices, accounting exports, content and business indicators.
- MySQL application data
- Customer and application state.
- Payment integrations
- Historical recurring-payment workflows involving MobilPay/Stripe.
- RADIUS authentication
- RADIUS/MySQL on FreeBSD.
- VPN infrastructure
- SoftEther-based server infrastructure with other connectivity methods in the product history.
- Client applications
- Windows, macOS and Linux desktop clients; Android release through collaboration.
Connections & flow
- Customer application to MySQL application dataAccount & subscription state
- Administration to MySQL application dataAdministration
- Customer application to Payment integrationsPayment workflows
- RADIUS authentication to MySQL application dataAuthentication data
- VPN infrastructure to RADIUS authenticationAccess authentication
- Client applications to VPN infrastructureVPN connectivity
Historical responsibilities and technologies evolved between releases; current client and protocol compatibility is not established. Release integrations included upstream components and collaborative work.
Decisions & trade-offs
Build the customer and operating workflows together
Connectivity depends on account access, billing, configuration and support as well as VPN software.
Trade-off: Owning that breadth creates ongoing application, infrastructure and customer-service responsibilities.
Use established VPN components within a complete product
SoftEther-based infrastructure and clients formed part of a broader service with its own web, billing and operational capabilities.
Trade-off: Upstream compatibility and component changes become part of release and maintenance work.
Maintain several client environments
Customers use different desktop and device platforms.
Trade-off: Every supported platform adds release, compatibility and troubleshooting work.
Outcome & operation
Built and operated a commercial product with software, authentication, subscriptions and customer operations connected end to end. Public release history includes a 2016 server/client upgrade, a collaborative Android release in 2018, a desktop v5 beta in 2020 and configuration/client maintenance through 2022.
Notes & references
- Owned product
- End-to-end product work through RedShift IT.
- Dated release history
- Public product announcements document releases, configuration maintenance and collaboration.