Sedai Logo

Optimizing Development Environments: Comparing Kubernetes vs. Serverless Approaches at BILL & Velocity Global

S

Sedai

Content Writer

October 9, 2024

Optimizing Development Environments: Comparing Kubernetes vs. Serverless Approaches at BILL & Velocity Global

Featured

Compare Kubernetes and serverless approaches used by BILL and Velocity Global to optimize scalable, efficient development environments in cloud computing.

In today's cloud computing landscape, efficient, scalable development environments are essential for innovation. BILL and Velocity Global are two companies streamlining their processes with modern cloud technologies. BILL uses Kubernetes and Team Spaces for flexible testing and deployment, while Velocity Global leverages a serverless-first architecture for easy scalability. In this article, based on insights from Beau Nelford of BILL and Kumar Ramanathan of Velocity Global at Sedai’s autocon conference, we’ll explore the benefits and challenges of each approach and how they optimize development workflows. We’ll take a comparative view here. In two subsequent artickes we have gone into more depth on BILL’s approach here, and Velocity Global’s approach here.

Optimizing Development Environments with BILL and Velocity Global

As cloud technology continues to evolve, tools and frameworks are increasingly influencing the efficiency of development teams. Companies like BILL and Velocity Global leverage Kubernetes, serverless architectures, and autonomous systems to optimize workflows, reduce costs, and scale quickly. However, challenges such as testing environments, seamless system integration, and maintaining security and scalability remain.

By adopting cloud-native development and AI-driven tools, businesses are addressing these challenges. Autonomous systems reduce manual tasks like scaling and performance monitoring, freeing developers to focus on innovation. For example, BILL’s Team Spaces streamlines testing, while Velocity Global’s serverless-first architecture enhances scalability.

Key trends driving this shift include the rise of DevOps in autonomous cloud environments, the use of AI in development, and the impact of cloud-native practices, unified testing strategies, and improved data security.

Developer Needs: Speed, Security, and Scalability

Developers in the modern cloud environment face a combination of needs, the most important of which include speed, security, and scalability. To stay competitive, companies need to ensure that their developers have the right tools to meet these demands:

  • Speed is critical in a fast-paced world where businesses expect continuous integration and rapid deployment. With tools like automated CI/CD pipelines, developers can automate code testing and deployments, drastically reducing the time between writing code and seeing it in production.
  • Security is paramount, as developers need to build and deploy code that protects sensitive data and is resilient against attacks. Emphasizing security-centric development, combined with a robust monitoring and observability framework, helps ensure that potential vulnerabilities are identified early in the development process.
  • Scalability has become more manageable with cloud-native technologies like container orchestration efficiency (e.g., Kubernetes) and serverless framework integration. These technologies allow applications to scale dynamically based on demand, making it easier for developers to focus on the logic rather than infrastructure management.

Additional elements that enhance the developer experience include:

  • Unified development experience: Bringing all tools and workflows into a cohesive system.
  • Consistent testing: Ensuring all code is thoroughly tested across environments.
  • Documentation and training support: Offering developers the resources they need to stay updated with evolving technologies.

By leveraging these technologies and practices, developers are equipped to deliver secure, scalable, and fast solutions in today’s cloud-driven world.

Comparison of BILL and Velocity Global Approaches to Developer Environments

In the fast-paced world of technology, companies like BILL and Velocity Global are constantly evolving their development environments to meet growing demands. While both companies share a focus on improving efficiency and scalability, they each take unique approaches to achieve these goals.

BILL is transitioning away from static test environments to more flexible, ephemeral setups like Team Spaces. They are also integrating cloud tools such as Crossplane, which allows developers to define cloud services using Helm Charts, enabling efficient management of both applications and infrastructure components simultaneously. This shift is aimed at improving deployment efficiency and resource management.

On the other hand, Velocity Global is focused on refining its serverless architecture to optimize costs and improve scalability. By leveraging emerging serverless technologies and tools, they are positioning themselves to handle increasing traffic and more complex workflows as they grow. Their serverless-first approach simplifies infrastructure management while preparing them for future global expansion.

Below is a comparison of BILL and Velocity Global Development Environments:

Group

Aspect

BILL

Velocity Global

Core Technology

Core compute technology

Kubernetes

Serverless (AWS Lambda)

Goals

Enable rapid creation of environments for developers

Optimize for simplicity and cost-effectiveness

Future Focus

Replacing static test environments with Team Spaces and Local Spaces, integrating Crossplane for better cloud resource management

Refining serverless architecture for cost optimization and scalability, exploring new serverless technologies

Developer Experience

Developer Experience Focus

Providing production-like environments for testing

Simplifying infrastructure concerns, focus on business logic

Development Environment

Team Spaces (ephemeral Kubernetes environments) and Local Spaces (Docker-based local environments)

Serverless functions with local development challenges

Developer Tools

Developer Portal and DIVI Mission Control (DMC) CLI

Paved Roads framework with pre-approved tools and practices

Language/Framework Support

Java, Elixir, and other containerized services

Node.js, TypeScript, Java (limited to approved stacks)

Cloud Integration

Deep integration with Kubernetes, exploring Crossplane for cloud resource management

Native integration with AWS services

Infrastructure

Scalability Approach

Kubernetes orchestration for flexible scaling

Automatic scaling handled by AWS Lambda

Infrastructure Management

Managed through Kubernetes and Helm charts

Minimal management, handled by cloud provider

Cost Model

Resource allocation based on Kubernetes clusters

Pay-per-use model based on function execution

Development Process

Testing Strategy

Isolated environments that mirror production

Challenges in local testing, often testing in cloud

Deployment Process

Continuous deployment every 11 minutes

CI/CD pipeline with automated checks and deployment

Iteration Speed

Fast iteration with isolated environments

Potential for rapid development, but challenges with local testing

Data and Security

Data Management

Sanitized snapshots of production databases for testing

Not specified, likely using serverless-compatible databases

Security Approach

Isolated environments, likely following Kubernetes security best practices

Managed by AWS, with additional layers as needed

Operational Aspects

Monitoring and Observability

Not specified in detail

DataDog for monitoring, custom dashboards for cost and performance

Team Structure

Large development team (600+ engineers) with specialized DevOps support

Smaller, autonomous teams with a central DevOps team maintaining Paved Roads

Pros and Cons

Advantages: Flexible, isolated environments; close to production setup Challenges: Managing complex Kubernetes environments, ensuring consistency across spaces

Advantages: Low maintenance, automatic scaling, cost-efficiency for variable workloads Challenges: Cold starts, 15-minute execution limits, granularity decisions

Both companies are committed to pushing the boundaries of their development environments. BILL’s vision to integrate Crossplane will allow them to automate the provisioning of cloud services more efficiently, while Velocity Global's efforts in improving their serverless infrastructure will enable them to manage global operations with minimal overhead.  

You can see more about BILL’s approach here, and Velocity Global’s approach here.

Conclusion

BILL and Velocity Global exemplify how modern cloud technologies can optimize development processes. BILL’s use of Kubernetes and Team Spaces allows for rapid testing, isolated environments, and efficient deployments, all managed through a streamlined Developer Portal and CLI. These tools enable faster feedback loops and greater flexibility, enhancing the overall development cycle.

Meanwhile, Velocity Global has embraced a serverless-first architecture, which reduces infrastructure overhead and scales efficiently. While challenges like cold starts and execution limits exist, their implementation of Paved Roads provides pre-built, approved frameworks that simplify development and help developers focus on business logic rather than setup.

As both companies continue to innovate, they demonstrate how cloud-native solutions can lead to scalable, cost-efficient operations. Organizations looking to replicate this success should:

  1. Leverage Automation: Use CI/CD pipelines and ephemeral environments to speed up development.
  2. Invest in Developer Tools: Ensure that teams have the resources to manage environments efficiently.
  3. Optimize for Flexibility: Embrace Kubernetes or serverless models to adapt to scaling needs with minimal effort.

By adopting these strategies, companies can foster agile, scalable development environments, enabling teams to deliver faster, more secure software.