diagram

A future-proof way to deploy Full Stack and Rollouts as microservices in your stack 

  • Faster implementation of feature flagging and A/B testing across all of your teams
  • Easier maintenance and monitoring with a single installation point
  • Ensure governance and security with a consistent implementation across teams

There is a big gap between building the “Hello World” implementation of a new software solution versus an implementation that meets production-level requirements. It’s very common in the software industry for companies to tout how easy their solutions are to get started with, without addressing the challenges of scaling inside a complex application. For companies building their apps using service-oriented architectures, we’re releasing Optimizely Agent in early access, a new way to implement Optimizely Full Stack and Rollouts as a microservice. This is designed to help you achieve production-scale faster with your feature delivery and experimentation platform. 

Faster Implementation of Feature Delivery and Experimentation in SOA

Prior to the introduction of Optimizely Agent (OA) , teams that used Full Stack in service-oriented architectures often developed wrappers around an Optimizely SDK to deploy the SDK as a service. For example, the engineers from Compass posted their experience building a service on top of Full Stack on Medium. Solutions like this work well, but require significant investment. OA eliminates much of this work by providing you with a fully functional service out of the box, which you can deploy to the  infrastructure provider of your choosing. 

We’re making Optimizely Agent available on GitHub, as a Docker container that can be downloaded and run on a cluster inside your application, as well as a binary that you can compile and deploy however you like. We’ve made the code open-source so that it’s for your team to review, and easy to customize based on your environment’s needs.

diagram

Example Optimizely Agent microservices integration in application with web and mobile clients

Easier to Maintain, Monitor, and Upgrade

One centralized implementation is easier to manage than dozens (if not hundreds) of service-specific SDK instances. When it’s time to upgrade to a new version of Full Stack, to add support for a new service or team, or to perform routine maintenance, you have one implementation to worry about rather than many. Optimizely Agent provides an Admin API that details the service’s health and application performance metrics to simplify monitoring and observation.

Better Governance Across Teams and Easier Onboarding for New Teams

Companies typically employ many engineering teams who own different parts of their stack. Allowing each team to implement a solution like Full Stack independently creates inconsistencies and governance headaches. If Team A implements one way and Team B implements another, coordinating dependencies between those teams becomes difficult. A centralized implementation like Optimizely Agent solves this problem. It ensures that all your teams use flags and experiments in the same way. 

Onboarding new teams becomes easier too. New development teams looking to integrate with feature flags and run experiments don’t have to install an SDK. Instead, they just learn the REST API to connect with your OA instance. They can adopt the best practices established by the rest of your org, and hit the ground running.

Easier Security and Centralized Networking

Deploying Optimizely as a service can also provide security efficiencies. Your security will review one implementation, not separate implementations for every team. For organizations with strict security policies, this saves engineers’ time and reduces friction when new teams adopt feature management and experimentation. 

Centralizing with Optimizely Agent also reduces the external internet surface area of your testing and flag management program. Embedding SDKs wherever you want to test or manage feature flags requires allowing each SDK to connect to make outside network requests. Implementing a service, by contrast, centralizes networking so that all outbound requests originate from one predictable location.

Focused on Developer Productivity

Optimizely Agent is just one way we are unleashing developer productivity through our platform. Over the past year, we’ve improved the usability of our Full Stack SDKs and UI, adding automatic datafile management along with language support for Go, Swift, and React to help you maximize productivity.  While we previously supported iOS and React development via our Objective-C and JavaScript SDKs, our testing with developers on our new framework specific SDKs showed that most were able to successfully integrate in less than 30 minutes. Additionally, we rolled out Change History, a searchable audit log of all of the changes to your features and experiments. 

A common barrier for teams looking to improve their developer experience is cost, so we released Optimizely Rollouts, a free feature flagging solution built on our Full Stack platform. It’s completely free to use with no usage limits, unlike other products in the market like LaunchDarkly.

How to Get Started with Optimizely Agent:

  • Check out the GitHub repo here.
  • Sign-up to attend our webinar on Feb. 13, “Failure is an Option: Scaling Resilient Feature Delivery,” to learn how Optimizely Agent can help you scale safer feature delivery, faster.
  • If you aren’t using Optimizely, you can get started for free with Rollouts.

Stay tuned for more in-depth content on best practices for implementing Optimizely Agent and how it works.