AWS for Industries
Navigating the Cloud: Joby Aviation’s PLM migration to AWS
Joby, a California-based company, builds quiet, all-electric aircraft to connect people like never before. With up to 100 miles of range and the ability to take off and land vertically, the Joby aircraft will change the way we move while reducing the acoustic and climate footprint of flight.
Joby’s long-term vision is to build a global passenger service that helps the world connect with the people and places that matter most, while helping to protect our precious planet.
Problem statement
Consistent with their commitment to leverage best-in-class tools for innovation in engineering and manufacturing, Joby Aviation took advantage of a major Product Lifecycle Management (PLM) version upgrade of their Dassault Systems 3DEXPERIENCE(3DX) environment to evaluate the benefits of a re-platform in AWS.
Some of the key challenges with their current on-premises solution were cost optimization, performance, availability, scalability (acquiring & releasing infrastructure), data resiliency, and testing new product upgrades. They wanted to make sure the new solution would address these challenges comprehensively and were inclined to take advantage of AWS as a means to modernize the implementation across the different layers of the architecture.
Solution overview
Architecture:
The architecture was built using AWS services to ensure that the application can scale storage, database, and compute to support the growth of 3DX users within the AWS-based environment.
Compute:
The 3DX architecture within Joby’s environment required a suite of 12 applications to be deployed to support the plan, design, simulate and manufacture phases of their product lifecycle. In contrast to the on-premises deployment, Joby chose to optimize for cost and performance by replacing Windows Server with Redhat Linux as the operating system -supporting all of the back-end application services in AWS. Since some of the apps were stateful and built as monoliths, they were packaged as an AMI on top of Redhat Linux and deployed to separate Launch templates that are managed by auto scaling groups. The stateful sessions were managed by sticky sessions on the Elastic-load balancer(ELB).
From a scaling perspective, the PLM application was set up to scale-out based on usage; however, the scale-in policy was implemented such that there is no impact to active working sessions. The architecture was built as a single Availability Zone (AZ) configuration to keep costs low, but with the ability to quickly switch to another AZ in case of service interruption in the parent AZ. These updates to the architecture support Joby goals for performance, availability, and scalability which would not be possible if deployed on-premises.
Storage:
The 3DX application required CAD storage that was hosted on FSx for NetApp ONTAP filesystem. FSx for NetApp ONTAP was chosen for its high performance (choice of underlying storage and throughput), easy scaling (ability to grow along with the data), rich storage features (replication using SnapMirror and Clones), multi-protocol for both Windows and Linux CAD servers and high availability. To further optimize for cost, Joby deployed FSx for NetApp ONTAP on a single AZ supporting high performance and redundancy to the local applications within the AZ, with an option to switch to another AZ by replicating the data with SnapMirror.
The secondary FSx filesystem was set up with slightly lower storage throughput and tiering, which provided lower cost and reliability that met with the RPO guidelines set by Joby. A clone from the secondary was also set up to support testing done in a controlled stage environment for major enhancements/product upgrades, helping avoid the significant cost and effort involved in replicating several TB of storage from production to stage for testing while also enabling the agility Joby sought to evaluate new tools and features from Dassault in the future.
With the switch to Redhat Linux, Joby chose to take advantage of Amazon Elastic Filesystem(EFS). The EFS storage is configured as a shared library that can be accessed across different applications required for backend 3DX services.
Database:
To accommodate the flexibility required to meet Dassault certification requirements, the database was built on an EC2 Windows-based SQL Server failover cluster (Amazon provided license) with the storage on FSx for NetApp ONTAP. X1e type EC2 instances were selected because of the higher memory per VCPU configuration, which helped keep the cost low with good performance (SQL Server licensing is core-based). FSx for NetApp ONTAP multi-AZ was chosen as it serves as the common storage for the failover cluster and provides high performance and availability. Quorum, logs, and data were maintained on FSx for NetApp ONTAP, and the temp storage was kept as part of the EBS storage. There was also a small interface database, which was also built on the cluster to help with some ETL downstream integrations.
Security:
Given the sensitive nature of design IP, Joby was able to meet the tier 1 security requirement that the PLM application could not be exposed to the internet. This required deploying AWS Direct Connect between the on-premises and AWS account (set up using Virtual Gateway), which provided the required connectivity. Network Access Control Lists (NACL) are allowlisted to provide ingress and outbound access to internal resources from the subnets. Security groups were used to harden access to the individual apps with fine-grained access controls built in. Amazon Inspector was used for vulnerability management of the app, and Amazon GuardDuty provided protection against threats. AWS Secrets Manager was used for storing secrets, and Amazon Key Management Service (KMS) was used for encrypting EBS and FSx storage. This re-platform allowed for Joby to extend its own network and security policies to scale resources into AWS.
Devops:
The PLM infrastructure automation is built entirely as Infrastructure as Code using Terraform. All the components, including the EC2 database SQL Server failover cluster construction, are automated. Joby conducted testing which demonstrated that a new 3DX environment could be deployed in less than 2 hours, compared to close to a week for on-premises deployment. This further improves agility goals and helps Joby reduce costs as build and retire QA and Dev environments on demand and without major challenges.
Conclusion
This blog demonstrates how Joby Aviation successfully met key goals to modernize their PLM application by re-platforming the production On-premises architecture to AWS and explained the architectural design considerations that were made as a part of this modernization.
After the successful launch, Joby 3DX users have seen their large designs loading 30-40% faster. Additionally, Joby has achieved a 15% improvement to the application availability by mitigating historical issues related to storage, performance and scalability. Using the AWS modernized 3DX platform, Joby has been able to meet goals for data resiliency and reduced the time for adding additional storage and compute, enabling Joby to address cyclic periods of business demand.
If you are considering modernizing your PLM , contact AWS to start our journey.