The Molecule Ecosystem
The Molecule ecosystem is the foundation of the Molecule Commodity Trading and Risk Management (CTRM) System.
Our approach is simple... invest in available cloud-based technologies to provide a rich and robust infrastructure while focusing our internal resources on the core application.
In this blog post, I'll outline which cloud-based technologies we leverage and on which parts of the ecosystem we focus our internal resources.
What We Leverage
Within the Molecule ecosystem, we use multiple third-party services and technologies to provide the reliability, performance, and user experience our customers have come to expect of us.
Infrastructure, Networking, & Backend Services
The majority of our system components run on top of Amazon Web Services (AWS) leveraging AWS' shared responsibility model.
At the core of our infrastructure is Kubernetes, managed by AWS EKS.
We rely on Kubernetes to make sure our actual system state matches our desired state.
This ensures system reliability and enables horizontal scalability to manage the intermittent system loads we need to support.
At Molecule, we run two Kubernetes clusters, one for our primary application and a second to host our microservices ("m.functions").
Along with EKS, we also leverage AWS Relational Database Services (RDS) to host and manage our PostgreSQL instance and AWS Elasticache to host and manage our Redis instances.
Hosting these critical infrastructure and back-end services on a cloud provider like AWS allows us to easily scale up and out as necessary so we can manage any load that our customers throw at us.
We can also easily execute version upgrades to keep up with advances in these technologies.
Supporting Services
In addition to the infrastructure and backend services managed by AWS, we use a variety of supporting services and technologies that fall into the following categories:
- Business Intelligence
- Security & Authentication Services
- Logging & Monitoring
Business Intelligence
Instead of rolling out our own business intelligence and reporting solution, we leverage Mode Analytics, which allows Molecule to white label and embed the reports and data analytics we provide customers.
Mode provides the technology and data security and Molecule can quickly provide the reports our customers need.
Security & Authentication Services
Security of our platform and of our customers' data is Molecule's highest priority.
At Molecule, security begins with code development; however, we leverage multiple third-party services to provide a comprehensive security layer - from infrastructure security to application security.
Starting with the infrastructure layer, we leverage AWS networking and security services to protect the infrastructure within which the Molecule application runs.
We use VPCs (Virtual Private Clouds) to ensure the application and data layers do not provide any unnecessary access.
Weekly infrastructure scans are executed by AWS Inspector and AWS GuardDuty is integrated into our DevOps workflow to notify us immediately of any detected threats.
At all layers of the application, we use a growing set of tools to provide functions like single sign-on (SSO), penetration testing, and dynamic security scanning.
Logging & Monitoring
Managing application logs and monitoring of the application itself is another important area of the Molecule ecosystem where we use third-party services.
For managing application logs and providing access to log data, we use Elasticsearch and Kibana both hosted by elastic.co.
Molecule strives to be aware of any issues impacting our customers before our customers are and before our customers' business operations are impacted.
To help us achieve this objective, we use multiple monitoring and alerting services provided by Grafana, Pingdom, and Honeybadger.
Each of these services is integrated into our DevOps worfklow, which uses Slack as our primary DevOps user interface.
What We Build
To complement the areas where we rely on third-party services, we focus our internal resources on the following:
- User Experience
- Business Rules
- Integrations
- Microservices
- Molecule API
User Experience
A primary directive within Molecule is that we do not compromise on user experience or usability of the application.
To achieve this level of user experience excellence, we have our own visual designer on staff who knows how to make software developers look good.
Business Rules
At Molecule, our engineers follow the clean architecture patterns from Robert (Uncle Bob) Martin.
At the heart of the architecture are enterprise and application business rules, which are the brain power of the Molecule application.
Molecule engineers spend a good portion of their time in this area of the ecosystem.
Integrations
Another important objective at Molecule is to ease our users' lives by automating and streamlining as much of the trade capture and valuation process as we can.
To support this objective, we have developed a number of integrations with commodity exchanges (e.g. ICE and CME), ISOs (Independent Service Operators) through our relationship with Hartigen, market data providers (e.g. Morningstar), and FCMs (Futures Commission Merchant).
These integrations are a hybrid between third-party and internal focus since we use each provider's API.
Microservices
In a prior post, Introducing Molecule M.Functions, I covered how Molecule uses Istio and Knative to provide an infrastructure for developing and deploying microservices.
These support the Molecule application and provide add-on capabilities that we develop on behalf of customers.
Microservices have allowed us to expand our development capabilities beyond our core engineers.
Molecule API
In the past couple of years, we have invested time building out and documenting a V2 REST API to expose all of Molecule's capabilities to our customers through an easily consumable API.
Our API has been used to develop custom integrations to applications hosted and managed by our customers as well as to pull trade and valuation data into Excel.
At Molecule, we eat our own dog food and our V2 API is also used by the Molecule application to support our V2 React screens.
If you are an existing customer, feel free to reach out to Molecule at support@molecule.io to access the API docs and try the API for yourself.
Final Thoughts
Hopefully I've given you a glimpse into the rich ecosystem that makes up Molecule and into which areas of the Molecule CTRM system leverage cloud providers like AWS and third-party services and technology providers while internally we focus on our differentiators.