Covalence

Let's Share

Introducing Molecule M.Functions​

Overview

Much has been said about micro-services over the last year and I wanted to find out for myself what the fuss was all about. At Molecule, we needed a way to augment our main application with supporting functions and services, and I figured it was time to give micro-services a shot. I looked at several open source technologies that promised to provide an easy-to-use micro-services platform. We ultimately landed on Knative given the strong community support around the technology and how the technology met our needs.

I used the following as guiding principles for evaluating the various micro-services technologies:

  1. Strong community support
  2. Integrates with our GitLab and Kubernetes Continuous Integration(CI)/Continuous Delivery(CD) tooling
  3. Supports our primary use cases
  4. Extends to our customers

Strong Community Support

As with any open source technology, strong community support is a must-have. Even if it's great tech, but does not have a good developer community supporting the technology, best to look for something else. In Knative's case, there is active community support on GitHub and a thriving Slack community. And of course, Google is behind the technology.​

Integrates With Our Existing CI/CD Tooling

It was important for me to not add yet another tool to our engineering workflow and to ensure we can leverage our existing CI/CD tooling. We were already heavy users of GitLab for our source code management and Docker image registry as well as AWS EKS (Kubernetes) to run the Molecule app. Our chosen micro-services platform needed to work within our current infrastructure.

To run our Knative instance, I ended up creating a separate AWS EKS cluster from our main production cluster to allow us to more easily upgrade our Knative cluster as needed and to avoid any unintended consequences to our production cluster. The following components are installed in the EKS Knative cluster:

  1. Knative Serving and Eventing
  2. Istio
  3. Kafka (as a messaging provider)

The Knative cluster consists of two primary namespaces, molecule-functions-dev for services under development and testing and molecule-functions that are serving production workloads. In GitLab, each function is a separate project with an accompanying .gitlab-ci.yml file to manage the build of the service and the auto-deployment to the appropriate namespace in the K8s cluster. When a change to a function is merged to the master code branch, the Knative service is built and auto-deployed to the molecule-functions-dev namespace. When a tag is applied to a function, the Knative service is auto-deployed to the molecule-functions namespace. Included in the build and deployment is the K8s service.yaml file which describes the service and any supporting deployments such as a cronjob.yaml, if one is required for scheduled services.

With this approach, our developers as well as our customer success team can live in their favorite IDE, and easily develop, maintain, and deploy scalable Knative services simply by committing and tagging code in GitLab.​

Supports Our Primary Use-Cases

At Molecule, our chosen micro-services platform needed to support the following use-cases:

  1. Can it run on a schedule?
  2. Can it be executed on-demand?
  3. Does it support messaging?
  4. Can it scale?

On a Schedule

We have multiple instances where we need to run a function on a schedule to allow our customer success team or our development team to execute routine functions that allow us to maintain the health of the Molecule app. Knative's CronJobSource provides a straight forward mechanism to schedule these routine functions. Examples of routine scheduled functions include data integrity checks, cleaning up obsolete log data, and nightly resetting our alerting system.

On-Demand

To help extend the core Molecule application, our services needed to be reachable from the Molecule app that would allow us to execute custom services that we develop on behalf of our customers or services that we want to run outside of our production cluster. For example, our asset valuation module can call external services either hosted by our customers or hosted by us that returns custom valuation data to Molecule. These services can now run in our Knative cluster allowing us to scale these services as needed.

Message Based

Guaranteed and reliable messaging is critical to any enterprise system, particularly commodity trading and risk management systems like Molecule. We reliably utilize messaging today within our core Molecule app to scale our back-end processes; however, we also have a need to utilize messaging outside of our core app to support business critical functions on behalf our customers. For example, our batch reporting functionality relies on messaging to distribute the creation and publication of batch reports (e.g. trade confirms) to our customers. In our Knative cluster, we utilize Kafka as a guaranteed message transport to ensure a message reaches its destination and performs the intended function.

Scalable

Scalability is another critical component of a good micro-services architecture that supports the scaling of services to meet demand as well as scaling to zero for non-critical services that can tolerate a cold start. Knative supports this requirements nicely by allowing us to set scaling parameters at a per service level supporting scaling to 0, setting a default number of always-on service replicas to respond to normal demand, and setting max scaling levels to control the workload in peek demand.​

Extends to Our Customers

A primary reason for adding a micro-services based approach to our ecosystem is to better support our customers and to provide them with the functionality that is required to do their business without having to resort to core application changes. As stated above, our Knative cluster allows us to quickly and easily develop, deploy, and scale business critical services to augment our core application and also enables us to better serve our customers. This platform also positions us to provide future services to our customers such as our customers running their own developed and managed services in our managed Knative cluster to further extend their use of Molecule.

Conclusion

With all the benefits and capabilities of a micro-services platform outlined above, we have embraced micro-services as an extension to our platform and we are now referring to this collected set of capabilities as Molecule's m.functions.

SoftwareFeatures

2019 In Review

Molecule is always evolving, and it’s really fun for us to look backwards every so often, just to see how far we’ve come. It’s easy for us to forget all the cool new features we’ve added over the course of 525,600 minutes. Hopefully, our work made your daily work just a little bit easier!

Here are some of the things we made this year:

New Trades Screen

After lots of customer feedback and tons of research & development, we launched a new Trades screen. On it, you can now pick the columns you want to see, sort and filter, create saved views for different types of trades, and much more.

It looks fantastic, too — and performs like crazy. Underlying it is a brand new front-end framework and an awesome grid that we plan to continue upgrading. If you don’t have access to it already, just ask your Admin.

New API

Our new v2 API began rolling out last year, and we completed the rollout late this year. Using it, users can do a million and one things, including:

  • Connect Molecule to Excel PowerQuery or Microsoft PowerBI for powerful, even mobile analytics.
  • Stitch another system to Molecule to send or retrieve trades, market data, valuations, or even VaR details.
  • Set up your master data in Molecule, and manage it.
  • Get pretty much any data out of Molecule you want.

Moreover, our new screens (like the Trades screen) use it, too — so we’ll be adding new features to it and improving it all the time. If you haven’t used it yet, documentation for our new API is at https://developer.molecule.io. (The documentation password can be obtained from our CS team.)

VaR out of Beta/Backtest

Our long-maturing VaR finally came out of Beta this year. It’s stable, it’s been running on multiple different portfolios for months, and it’s FAST. We also rolled out a visual backtest — to prove that it’s generally right.

Much Better Hourly (and sub-hourly) Power Model

Molecule began with a focus on power and then expanded to other commodities. This year, we upgraded our power capabilities to better model hourly (and even 15-minute) power — without shoving hours into product names, but by attaching intervals to contract dates system-wide and across all major integrations.

We rolled out the first of the power upgrades at the end of December, and plan to have all accounts migrated to our new model by the end of Q1 2020.

Self-Administration

A common customer request is to bypass our Customer Success team and allow users to self-manage things like master data and user access. We rolled out the first of the screens to manage this — our new Counterparties screen — this year. We plan to add much more in terms of self-administration capability in 2020.

Consumable & Inventory Trades, Logistics Preview

Early in 2019, we began sharing our physical logistics preview. We’ve been taking on board lots of great feedback—to iterate on it so that we get it right. New enhancements now include “consumable” trades, for things like transportation, RECs, RINs, and “inventory” assets, which allow for multiple buckets of inventory valued in a custom way.

Wrap Up

We made a whole lot more — over 550 improvements, big and small, to Molecule this year. All while improving reliability to 99.98% (less than 1 hour of unscheduled downtime), and improving general performance as well.

We’re equally excited about the things we have planned for next year: from single sign-on, to user-feedback-driven upgrades for many of our screens, and even more features related to self-administration and quality assurance.

Thank you for using Molecule (or just following our progress). We hope we’ll blow your socks off next year.

Love,
The Molecule Team

Features

Celebrating National Read A Book Day

We love tech at Molecule. We love to create it, show it, and read about it. But, because we are actual human beings, we read about lots of other stuff, too. One of the most recommended podcasts around our office is LeVar Burton Reads, in which LeVar reads you a short story – just like he used to do on Reading Rainbow.

Along those lines, September 6th is National Read A Book Day. Sometimes finding a good book to read can take quite a bit of searching, so we surveyed our team and came up with some suggestions in case you want to celebrate.

Here are our top picks:

Megan Farley

I feel like I should recommend something of substance, but I'm going with Caverns & Creatures because it made me cry from laughing so hard. Or Off To Be The Wizard....again, because it made me cry from laughing so hard — or Will Save The Galaxy For Food.

Sameer Soleja

Haroun and the Sea of Stories, by Salman Rushdie — it’s a magical book (imagine Alice in Wonderland, but with flying carpets). It’s a quick and inspirational read, and Rushdie’s language — English, but with a little Bombay lilt — reminds me of my mom.

Richard Reedstrom

The Outsider by Stephen King is one of the most enjoyable books I’ve read recently. It embodies everything I love about Stephen King, and the book gives a fulfilling end to the Mercedes Killer trilogy. I also just started 1984 by George Orwell. It's been years since I read it, and it's interesting to re-read from a different perspective.

Bala Raghavan

The Hitchhiker's Guide to the Galaxy. It is a funny, geeky guide that answers the ultimate question of life, the universe, and everything.

Syed Sohaib

Confessions of an Economic Hitman is not my favorite book, but I definitely recommend it. It's a very interesting take on global historical events and corruption.

Luke Kramer

Rhinoceros Success: the Secret to Charging Full Speed toward Every Opportunity. One of my favorite quotes from the book is, “we become the product of three things: the people we associate with, the books we read, and the media we listen to.”

Personally, my go-to is anything from The Dark Tower series. However, the latest book I read was The Nix by Nathan Hill. It kept my attention much like Freedom (Jonathan Franzen) did and with a similar tone. When I finished The Nix, I wished there was more to read.

We hope you find a book you like on National Read A Book Day - from this list, or anywhere you like to find a good read. I like several books from this list, "but you don't have to take my word for it."

Holidays

What We Value

Today, we're launching a campaign that's been in the works for some time. I'm super proud of it because it speaks precisely to what we, at Molecule, do. We're calling it "What we Value Runs the World."

Here's what we mean by that:

  • Molecule (our software) values, like, everything. It's handles commodities you've never even heard of, like terephthalic acid – and instruments that are hard to grok, like an option on a cal strip of off-peak power monthlies. We've valued power plants and wind farms, and we are evaluating NGL and battery storage models.
  • What our customers trade represents (and sometimes literally is) the infrastructure of the world. It's how we get electricity to our homes. It's how our automobiles run. It's the least-understood, most important set of assets in our civilization.
  • Our customers mean a lot to us – obviously, we use their input to shape our product. But we also value them and their opinions and needs. They, in turn, run the infrastructure that runs the world. More importantly, we value our customers' time. We want them to go home early, so they don't always have to run the world. (I know this sounds trite, but it's what we believe – and from my perspective, not every company in our industry feels the same way.)
  • We're really proud of our employees, contractors, and the values we share. Our people and our software embody those values – and they help the people, who run the infrastructure, that...you get the idea.

So WWVRTW, as we've taken to calling it, is a quadruple entendre! Our new campaign features real people we know – and highlights all the weird and wonderful things Molecule (our software, our team, and our company) values. We hope you love it as much as we do.

Values

Welcome, Richard, Luke, & Syed

Molecule is growing! So far this year, we have added to our dev, customer success, and sales teams. We've done a quick Q&A with our additions to the sales team so you can get to know Richard Reedstrom, Luke 'Hawaiian-shirt' Kremer, and Syed Sohaib better. Stay tuned to meet the other new faces that have joined Molecule.

Richard Reedstrom

1.  Let’s start at the beginning. Where did you grow up? What led you to a career in sales?

I grew up here in Houston. I'm passionate about improving people's lives, and I've found that this bonds incredibly well with sales. Every day I help people end frustrating battles with old systems and methods by providing real solutions. I get to give people back hours of their lives. For me, it comes down to figuring out how we can make our customers' lives better.

2.  Why did you decide to join Molecule?

When I first heard about Molecule, it looked like an interesting company with a ton of potential. I had always wanted to work with a genuinely innovative/disruptive technology, and the more I found out about Molecule, the more I fell in love. The underlying technology, the company values, and the team culture resonated with me one hundred percent. I'm thrilled to be a part of such an awesome group of people doing incredible things.

3.  What is something that you’ve already learned about the industry or company that has surprised you?

Not every solution that claims to be cloud-based actually is a true cloud-based (multi-tenant) solution.

4.  For fun, what are your top three favorite apps?

1 Second Everyday, Tidal, and Audible.

5.  Since you’re in a sales position, let’s ask the obvious: what’s the most compelling reason why someone should want to buy Molecule?

Everything just works. We believe you shouldn’t have to fight with your software. Instead, Molecule works in harmony with you and your process.

Luke Kremer

1. Let’s start at the beginning. Where did you grow up? What led you to a career in sales?

I grew up in Papillion, a suburb of Omaha, Nebraska. I enjoy the relationship building and challenges that a sales person faces.

2. What is something that you’ve already learned about the industry or company that has surprised you?

I've been fascinated by renewable energy credit trading.

3. One of the things Molecule prides itself on is the time savings our software gives customers. More than one person has said that we’ve saved them two hours each day. If you were given two extra hours each day, how would you choose to spend them?

I’d have a tee time set two hours earlier each day; I could probably get a full 18 in before 7 pm.

4. For fun, what are your top three favorite apps?

Snapchat, Yelp, and Instagram.

5. Since you’re in a sales position, let’s ask the obvious: what’s the most compelling reason why someone should want to buy Molecule?

Molecule is future-proof software that looks and performs like it was made in 2019. We provide world-class service, free upgrades, and no extra implementation fees.

Syed Sohaib

1.  Let’s start at the beginning. Where did you grow up? What led you to a career in sales?

I grew up in Karachi, Pakistan. We moved to Stamford, Connecticut when I was in the middle of high school, which kickstarted my American dream. I graduated from the University of Connecticut (UConn) with an International Business Management degree and a focus in Finance. I took a marketing course titled ‘Professional Selling,’ and the final was to pitch a mock product and replace the incumbent provider. After the presentation my professor asked why I was not a marketing/sales major. According to him, I had a natural ability to be successful in a professional sales role. Long story short, I had an opportunity to join the sales team at ThomsonReuters, selling data solutions. I truly enjoyed the experience and challenge of bringing the right solutions to our clients/prospects. Ever since then I have been in sales and business development, and I enjoy every bit of it. Well, perhaps not CRMs!

2.  Why did you decide to join Molecule?

After trying my luck in different industries after ThomsonReuters, I wanted to get back into the financial services technology space. Molecule's solution "wow-ed" and made me excited about bringing it to market. For companies that have a need and utilize old technology for calculating P&L, position, and risk, Molecule is a game changer both from the ease of use and time-saving perspective.

3.  What is something that you’ve already learned about the industry or company that has surprised you?

The deep dive into the power market made me realize how challenging it is to learn, trade, and deal in this space.

4.  One of the things Molecule prides itself on is the time savings our software gives customers. More than one person has said that we’ve saved them two hours each day. If you were given two extra hours each day, how would you choose to spend them?

Spend more time with my family, learn a new language, restore and upgrade a Range Rover Defender 110, and go off the grid for a bit.

5.  For fun, what are your top three favorite apps?

I like puzzles, so Progress & Super Sharp. Proshot for some light photography and Flipboard to stay updated on tech, sports, travel, and autos, etc.

We are not finished either. Personally, I'm always recruiting for the sales team. Word on the wire is that we just hired a new developer in Spain! If you like what you have seen of Molecule so far, hit us up. We are always in the market for the best talent.

PeopleSales