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.
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
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.