Traditionally, a tug of war has existed between service reliability and engineering velocity. Increasing speed to fuel product innovation has meant making tradeoffs in reliability.
Netflix standardizes common functionality, like service discovery, configuration, metrics, logging, and RPC across services. This frees teams to focus on the unique business value of their service. It also enables us to evolve and maintain platform components independently from individual services.
Even with a standard set of components, service owners still need to combine these disparate elements into a coherent platform. We reduce this friction by providing a preassembled platform where teams only need to provide their business logic, and not worry about assembling the service from scratch.
We can further streamline the service lifecycle by providing automation and tooling for development, testing, deployment and operations. We provide "one click" solutions to automatically generate the associated pipelines, machinery, and infrastructure that's required to run their service reliably in production.
These patterns, while described in a Netflix context, can be broadly applicable to increase both reliability and velocity of your microservices architecture.
3. –Wikipedia
“Platform as a service (PaaS)… allows customers to
develop, run, and manage applications without the
complexity of building and maintaining the
infrastructure and platform…”
What is a Platform as a Service (Paas), Anyway?
6. Netflix Edge API
Script A
Script B
Script C
Script D
Script N
…
Client
Library A
Client
Library B
Client
Library C
Client
Library N
…
Backend
Service A
Backend
Service B
Backend
Service C
Backend
Service N
…
1000+100
62. Provide First Class Mocks
RPC Discovery Registration Runtime OS Configuration
Metrics Logging Tracing Dashboards Alerts
Stream
Processing
Preassembled Platform
65. Platform Testing API
• Just like a runtime API, need a testing API
• Provide mocks interface for components
• Gets platform out of the loop for providing mocks
70. Deploy and Manage Services
• Pre-configured pipelines for deployment and rollback
• Single command deploy to any stack
• Integration for automated canary analysis
• Pre-configured autoscaling