Case Study

JaneTech and Docker Partner to Provide Scalable Solutions for Enterprise Clients

Industry: Software development
Company size: Small firm
Location: Headquartered in New York

Highlights

  • Integration and flexibility: Docker ensures seamless integration of JaneTech’s applications across different services and infrastructures, allowing easy transition between platforms like AWS Lambda, Amazon ECS, and Kubernetes for their 35+ supported core services.
  • Deployment and scalability: Reduced setup times, minimized errors, and increased load without traditional scaling issues, managing up to 1,800 concurrent container instances and hundreds of thousands of concurrent requests during peak usage.
  • Docker is a core service for us — it’s critical for building enterprise-grade systems that last.” — Mona Fawzy, CTO and founder of JaneTech.

Introduction

Established in 2016 and headquartered in New York, JaneTech is an engineering firm that serves a variety of industries. Their primary focus is developing bespoke technology solutions in media, education, gaming, and virtual reality. JaneTech also prioritizes diversity and inclusion, especially supporting underrepresented groups in science, technology, engineering, and mathematics (STEM).

JaneTech faces specific challenges in creating software that meets the unique requirements of each industry. Alongside the necessity for quality and performance, the nature of serving many customers and business customers makes ensuring software compatibility across platforms a priority.

Despite the diversity of projects, JaneTech also faces the challenge of maintaining consistency in software development and ensuring reliable performance across all projects. Standardizing processes is necessary, but it should not stifle innovation that drives the success of JaneTech’s customers.

These challenges underscore the complexity of JaneTech’s work and the need for robust and adaptable technologies to simplify development processes, enhance scalability, and deliver high-quality, reliable software that meets the varied needs of its clients. In this context, integrating technologies like Docker becomes crucial for JaneTech’s operational success.

Mona Fawzy, the CTO and founder of JaneTech, shared her insights into why JaneTech uses Docker, a critical piece of the company’s commercially supported tech stack, to enhance its development processes. Fawzy’s detailed account reveals the strategic decision-making and benefits behind integrating Docker into JaneTech’s project workflow.

Company profile

About JaneTech

JaneTech is a software development firm specializing in creating bespoke technology solutions for industries such as media, education, gaming, and virtual reality, emphasizing diversity and inclusion within STEM fields.

Challenges

Complexity in scalability and deployment

JaneTech’s approach to project development is predicated on sustainability and reliability. According to Fawzy, Docker is not just a tool but a fundamental component of JaneTech’s development strategy. It ensures that the products and services offered have a lasting impact and remain relevant and functional for their clients over extended periods.

JaneTech’s need to support multiple enterprise customers exacerbates their scalability challenges. At any given time, they manage hundreds of thousands of concurrent requests across their platforms. Critical to handling such volume, its deployment strategy involves maintaining a few hundred different Docker images across dev, QA, staging, and production environments.

Constantly evolving technology presents software development firms with mixed challenges that can hinder their ability to deliver projects effectively. For companies like JaneTech, operating across multiple sectors amplifies such challenges, including:

  • Environment discrepancy: Significant challenges arise from the differences between development, testing, and production environments. This is amplified at a shop like JaneTech dealing with many customers in different environments and can lead to the notorious “it works on my machine” syndrome, where software behaves differently across environments due to operating systems, versions, and configuration variations. Such discrepancies can derail project timelines and increase debugging and troubleshooting efforts, straining resources and delaying deliverables.
  • Scalability issues: As firms grow, they must scale their applications efficiently to handle increased load. Traditional scaling methods can be resource-intensive and prone to errors, complicating deployment and jeopardizing system stability and performance.
  • Integration complexity: Today’s software development typically involves integrating many technologies, frameworks, and services. Although essential for creating complete solutions, this integration often leads to compatibility issues. Without a unified approach, integration challenges may result in fragile systems that are hard to maintain and update.
  • Resource management: Efficient management of developer time and infrastructure resources is essential for profitability and effectiveness. Overhead costs related to setting up and maintaining development environments can escalate quickly, especially in projects requiring multiple varied technology stacks.

Solution

Consistency across varied enterprise environments

Maintaining productivity across clients and technically diverse projects requires a consistent approach for JaneTech’s software development team. Docker provides a common software deployment platform that works within any environment. Creating new development, test, and deployment loops is critical.

JaneTech chose Docker because of its flexibility, reliability, and widespread acceptance in the development community. Facilitated through GitHub Actions and AWS orchestration, Docker container technology is pivotal in JaneTech’s implementation of CI/CD pipelines, supporting around 35 core services. Fawzy emphasizes Docker’s essential integration capabilities for building robust enterprise architectures, which are vital for the thousands of containers operated dynamically across services like AWS Lambda, Amazon EC2, and AWS Fargate.

Fawzy also highlights the changes in the industry. In 2006, she worked on a streaming radio project involving servers sitting under desks to stream internet radio. Today, she is working on a similar project, launching 700 stations hosted via cloud services. Although the project started on AWS Fargate, they had to quickly jump to a different service. While the use case is the same, the infrastructure is different. Being cloud-native and specifically using containerization has allowed her team to be more agile.

Fawzy notes that “Docker allows us to be agnostic or ubiquitous. We may start with Lambda, but we can easily transfer to ECS. If we decide that this is a Kubernetes project, EKS, Azure, or local cloud service, we can easily migrate. Docker is a “universal language” to us. We dockerize everything so it’s reusable no matter what service we use.

Cloud services, containerization, and DevOps methodologies have allowed companies to modernize. Fawzy highlights, “At JaneTech, we build things that last. We’re not a startup chasing market fit with a short shelf life. We expect everything we build to serve our customers for years. To build things that last, it has to be Docker.”

Key benefits

The integration of Docker within JaneTech’s development process has led to a multitude of benefits, By integrating Docker into its development process, JaneTech has experienced numerous advantages, including:

Icon 06 keybenefits

Consistency and isolation

Docker containers provide a consistent environment for JaneTech's applications and reduce the "it works on my machine" issues by ensuring that software runs similarly in different environments. This allows for easy migration from machine to machine or service.

Icon 05 keybenefits

Reusable building blocks

The JaneTech team adopted Rust for development a year and a half ago. Dockerizing Rust took some upfront investment, but once this was done, it provided a consistent foundation and saved time for future projects. Now, JaneTech’s developers can go across projects without learning something custom or bespoke from the engineers who originally built it; it’s very familiar to any developer on the team.

Reproducibility

Flexibility in project management

With Docker, JaneTech can more efficiently handle a mixed range of projects with varying technical requirements; setting up new environments to match new customer projects is much easier and requires less overhead. For example, JaneTech packages more than 50 Docker images, updating most multiple times a week. These images are optimized for instant startup, which is crucial for efficiently handling the high volume of concurrent requests.

Icon 03 keybenefits

Integration and compatibility

Docker ensures that JaneTech's applications seamlessly integrate with various services and infrastructures like GitHub Actions, AWS, Lambda, and Kubernetes. This ability to move helps prevent lock-in to a service or architecture that may not perform as expected.

Icon 04 keybenefits

Innovation and future-proofing

Docker supports JaneTech’s ongoing innovation by allowing quick adoption of new technologies and facilitating the modernization of applications without extensive redevelopment.

 

“Docker allows us to have the same patterns no matter what the framework or language is or even what the app is. Docker and containers provide several key advantages in bringing projects to fruition and on time,” Fawzy states.

Results

Continuous innovation and customer satisfaction

With approximately 1,800 container instances maximized at peak and managed effectively through AWS orchestration, JaneTech ensures high availability and robust performance across all their client projects.

Fawzy again emphasizes Docker’s role in JaneTech’s ability to manage large-scale deployments without compromising on speed or reliability. “Docker is critical for enterprise-grade systems, and it integrates with anything. If we’re building enterprise architecture, there’s no other choice than Docker.”

JaneTech benefits from:

  • Enhanced development efficiency: The containerization approach reduces setup times, minimizes deployment errors, and streamlines the transition between development stages across various projects.
  • Increased project versatility: With Docker, JaneTech can now manage a more heterogeneous project portfolio, ensuring reliable and consistent deployments across different types of projects, including complex e-commerce systems and interactive media platforms.
  • Long-term strategic benefits: The standardization of Docker as a core component of the development strategy has prepared JaneTech to handle future technological shifts and market demands efficiently. This foresight is crucial for maintaining the relevance and effectiveness of their solutions in a rapidly evolving digital landscape.

Fawzy’s vision for JaneTech, coupled with Docker’s capabilities, illustrates a partnership that addresses the technical demands of their projects and aligns with the company’s mission to inspire and enact positive change through technology. “So I, as an engineer, am happy to pay for software that performs and delivers a core service requirement. That’s why we are a paying customer. To be honest, even if it were free, I would still want to pay for it because I would expect that when I’m paying,” Fawzy says.

JaneTech’s integration of Docker highlights a strategic approach to development that prioritizes flexibility, efficiency, and reliability. Managing hundreds of Docker images across multiple environments has positioned JaneTech to effectively scale and meet the diverse needs of their enterprise clients, solidifying their reputation as a leader in resilient, scalable software solutions.

As JaneTech continues to grow and evolve, Docker remains a cornerstone of their development philosophy, enabling them to navigate the complexities of modern software development while staying true to their mission of creating technology for positive change.

Looking ahead, JaneTech is poised to continue leveraging Docker to maintain its edge in delivering high-quality, resilient, and customer-centric solutions. Fawzy’s commitment to Docker underscores its indispensable role in JaneTech’s success and its potential to facilitate future innovations.

“As an engineer, I'm happy to pay for software that performs and delivers and is a core service requirement. We only pay for a handful of things but Docker is one of them for us. To be honest, even if it was free, I would want to pay for it because of the value it delivers.”

Mona Fawzy
CTO and founder of JaneTech

"At JaneTech, we build things that last. We're not just chasing market fit with a short shelf life. To build things that last, it has to be Docker."

Mona Fawzy
CTO and founder of JaneTech

"Docker is critical for enterprise-grade systems because it integrates with anything. If we’re building enterprise architecture, there really is no other choice than Docker."

Mona Fawzy
CTO and founder of JaneTech

"Docker's containerization approach allows us at JaneTech to build and deploy across various environments, making our development process more efficient and less susceptible to errors."

Mona Fawzy
CTO and founder of JaneTech

“Docker is critical for enterprise-grade systems because it's a well-adopted standard that has massively penetrated the market.It integrates with anything. If we're building enterprise architecture, I don't think there's really any other choice.”

Mona Fawzy
CTO and founder of JaneTech

“I can name on one hand those services that we consider core services for our customers, Docker is one of them.”

Mona Fawzy
CTO and founder of JaneTech

“Docker allows us to be agnostic and ubiquitous.”

Mona Fawzy
CTO and founder of JaneTech

Find a subscription that’s right for you

Contact an expert today to find the perfect balance of collaboration, security, and support with a Docker subscription.