Feature Documentation

The feature documentation is relevant to business and technical folks alike in order to describe all the features we offer, in plain english.

For much more technical detail, please see the rest of our documentation.

Scalable to over one million active users

The infrastructure we have designed offers extremely scalable operations, easily supporting over one million active daily users. In fact, we have used very similarly-architectured infrastructure for several different applications and services in our career history, so have seen and proven first-hand that it works.

The ability to scale comes most importantly by way of utilizing AWS services that themselves scale extremely well (e.g. CDN, ECS, S3). If you have a technical eye, you will find it useful to look at our operational architecture.

No storage, compute, or other limitations

By design, there are virtually no limitations on the amount of storage and computation you can use within your applications. This is due to how we utilize AWS services for all the infrastructure and ensure that nothing built on top of those services introduces any sort of usage limit, inefficiency, etc.

100% developer ready

When we finish provisioning your infrastructure, it is 100% ready for rapid application development on day one. No setting up AWS services, no tweaking of configuration, no pushing manually to production, and altogether no DevOps work needed.

You can put developers on your project immediately, and expect them to be amazed at how easy it is to build on top of the infrastructure, as well as how modern and clean every single aspect of the technology is. There is no need to iterate towards a decent infrastructure over the course of months or years; you can start with an excellent infrastructure from day one.

Optimized for modern, high-efficiency development practices

We want your developers to focus on what they do best: build features and fix bugs. With the infrastructure we provision for you, they get to do exactly that, all while using the latest and most efficient tooling, such as React, Next.js, and Docker, which are extremely popular with developers, and for good reason.

One of our offered tech stacks TypeScript on both front and backend, which is the dream of many modern developers. Not only is it fun work in, it allows for substantial code re-use across the full stack. Both of these aspects improve developer efficiency.

Additionally, our error monitoring and alerting system automates a large effort that is typically done manually and tediously between DevOps engineers and application dev teams. By automating it with rich features, we cut out a large amount of effort that can instead be put into development, thus making it more efficient.

Lastly, with everything you are provisioned with, every single aspect of development sees an improvement in streamline efficiency because we have focused on aggressively reducing friction in all the common places, such as local development, CI/CD, preview environment sharing, software upgrades, production rollout + monitoring, etc.

Optimized for operational performance and cost

We love optimization problems. From the beginning, everything we have designed was done so with cost and performance at top of mind, combined with the experience of doing this all before in previous environments.

Cost and performance oftentimes go hand in hand, meaning that the less efficient a system is, the more it costs to run. The operational infrastructure we designed is kept extremely lean without sacrificing quality, performance, or value.

For example, heavily utilizing both CDN and Redis caching layers not only improves performance but also significantly reduces server load, allowing for a high number of users per server machine and thus a lower cost to serve each user.

Additionally, by utilizing ECS Fargate, it is easy for you to choose the most appropriate task resource levels (i.e. CPU, memory) for your specific workloads, ensuring that you are efficiently paying only for what you need. As your workloads may change over time, you can very easily change the resource levels by way of changing a few lines of configuration in your Terraform definitions (see also the Infrastructure as Code feature).

Full-stack performance and error monitoring and alerting

We utilize New Relic (or alternative) for feature-rich, full-stack application performance and error monitoring. However, we have built something substantially more powerful on top of that and other services to completely automate error aggregation, alerting, prioritization, and work tracking.

This is a novel solution with very high value for development efficiency and getting bugs off of your site. See Error Logging + Monitoring for much more detail on this.

Rich user analytics and event tracking

Both Google Analytics and Mixpanel are available on a free tier which offers extreme visibility into your users. In addition to rich analytics, Mixpanel allows for user event tracking which allows you to see exactly how each individual user used and experienced your web application.

By request, we can also integrate into other similar competitor tools.

Read more in User Analytics.

Preview environment for every pull request

For every pull request (PR) that a developer creates in order to introduce a feature, bug fix, etc. into your application, a new preview environment is automatically created to run the application in full isolation from other environments.

This is highly valuable for validating the expected changes within the PR, running a demo with the changes, sharing a publicly available link to PMs and other stakeholders, etc. When the PR is merged or closed, the preview environment is automatically destroyed.

CI/CD and full environment isolation

We believe strongly in powerful CI/CD to enable as many production rollouts per day as there are PR merges into the main code branch. Additionally, we believe that environment isolation between local, preview, and production is critical for both privacy and security, which should be top-of-mind for any company in modern times. We deliver strongly in both of these areas.

Your developers can simply focus on writing code and pushing changes to git, always knowing that the changes will automatically be built, tested, and used to provision a unique preview environment just for their code branch. When the changes are ready for production, simply merge the code and it deploys. This is extremely powerful, and while most companies talk about it, few companies truly implement it because it’s actually quite hard. You get this functionality out of the box from day one.

Read more in Development + CI/CD.

Pre-rendering for instant page loads

Pre-rendering (a.k.a server-side rendering - SSR) is popular with developers and business folks alike because it delivers unparalleled landing page load performance. In both of the tech stacks we offer, server-side rendering via React comes out of the box. Considering that your CDN is also provisioned out of the box, your end-user landing page loads will be served from a local CDN node and instantaneously rendered in the browser. This provides an excellent first impression to the user and consequently improves SEO.

Additionally, if you use our Next.js tech stack, you can also use static site generation (SSG).

Security-first

Every aspect of your infrastructure is built with security in mind, often guided by the Principle of Least Privilege, OWASP Top Ten, and our vast experience with application security and cryptography.

For example, your actual server tasks (in ECS) are not publicly accessible, and instead the only points of access are the AWS CDN and load balancers over HTTPS, which are both assigned a WAF (firewall), ensuring a great deal of protection from a wide range of attacks.

Also, each of the credentials (e.g. DB user/pass, 3rd party API tokens) that you manage within the AWS Secrets Manager are made available on a per-credential basis to each of your applications/services such that it is not possible for a service to access any credential it does not truly need. Rolling these credentials is also very easy, by design, such that you can roll them regularly.

Environment isolation also naturally mitigates a huge risk vector that many companies are subject to. Because it is never possible for local, preview, or production to ever access resources across environments, the possible compromise of one environment cannot leak into another one. For example, if a local developer’s machine is compromised, or a cloud preview environment is compromised, no amount of stolen credentials or root privilege will possibly grant access to the production environment, which is the golden target for attackers. Read more in the Environments documentation.

Many more aspects of security are also applied, such as preventing SQL injection, preventing any Set-Cookie headers from being cached in the CDN, etc.

Database replication and fail-over

This functionality is crucial for both service availablity and data loss prevention.

Your database is always replicated to a read-only instance which is identical to the primary instance. That read-only instance will automatically become the primary instance in the case of failure on the primary, as well as during version upgrades that you may perform over time. This functionality is available natively via Aurora RDS, and we enable it for your infrastructure.

Additionally, replicating even further into a data warehouse such as Redshift or Snowflake is possible. We recommend enabling that, but it is optional in case you truly don’t need it yet and do not want to pay for a data warehouse solution.

100% Infrastructure as Code (IaC)

We use Terraform to codify 100% of your infrastructure, meaning that every aspect of your AWS cloud infrastructure is defined within industry-standard configuration files that you own. This is an exceptionally valuable modern technology because it allows you to very simply add to, upgrade, etc. your infrastructure, such as when you want to increase or lower the CPU or memory resources for a specific application / service, modify your CDN rules, modify which services can access each of your credentials, etc.

Additionally, all changes that are made to your infrastructure are made with the same process as application code changes. That means that a pull request is opened in GitHub, reviewed, and then merged + applied. Not only does this provide an immutable record of every change made to your infrastructure, it facilitates team review to mitigate risk.

Read more in Infrastructure as Code.

Fractional DevOps support

We offer fractional DevOps services to maintain, improve, and otherwise support all the operational and application infrastructure that we provision for you. This includes every AWS resource, the Terraform that defines it, the CI/CD systems, the error and performance monitoring code, etc.

Additionally, we can support your other systems which we did not provision for you, and/or we can help you migrate those systems to use the Redpoint design and architecture.

Supports AWS cloud only

For now, AWS is the only cloud infrastructure option we support. That is hardly a limitation, though, considering how amazingly powerful and popular the AWS platform is. Additionally, most of our expertise is focused deeply within the AWS environment, and consequently we have extreme confidence in the quality and robustness of the infrastructure we build for you.