AWS for Industries
Northvolt’s next-gen connected factory—a digital blueprint factory built from scratch
Introducing a digital blueprint cloud factory, scalable across the world. In this blog post, we discuss how Northvolt has approached the challenge of scaling next-gen connected factories in the cloud. We introduce a concept, called Cloud Factory Module, which consists of reusable pieces of cloud-infra for any Northvolt factory. This article explains who Northvolt is, how we have designed this concept, and how we can look at this concept through different lenses.
What is Northvolt?
Northvolt was founded in 2016 with the mission to build the greenest battery in the world. With a minimal carbon footprint and the highest ambitions for recycling, we aim to facilitate the European transition to renewable energy. Northvolt is currently commissioning its first gigafactory, Northvolt Ett, in northern Sweden with an expected output of 60 gigawatt hours (GWh). In December 2021 a milestone was reached when our first battery cell was assembled in Northvolt Ett. This was the first cell to have been fully designed, developed, and assembled at a gigafactory by a homegrown European battery company, marking a new chapter in European industrial history.
Northvolt Ett sets a global example in the world of manufacturing with its cloud-first strategy, also referred to as the next-gen connected factory, or Industry 4.0. To build this connected factory, Northvolt is extensively using Amazon Web Services (AWS) for modern cloud capabilities. Using the higher levels of abstractions provided by modern cloud services allows us to increase developer productivity, operational effectiveness, security, and reliability. Examples include detailed product traceability, near-real-time monitoring of manufacturing line effectiveness, computer vision powered defect detection, and machine learning (ML) and artificial intelligence (AI) modeling to predict quality and performance of the produced battery cells.
Cloud Factory Module design
Our business logic and processes are key to our Cloud Factory Module design. For example, process quality engineers can flag nonconformities on battery cells during 24/7 manufacturing. Also, we want software updates during factory operations to be undetectable by engineers and technicians. Therefore, key design requirements are redundancy, reliability, security, and scalability. Lastly, we want to deliver a design that can be used as a digital blueprint for future Northvolt factories.
To fulfill these requirements, we had to design our system from the ground up, loosely based on the architecture of the physical factory. We organized an intensive well-architected review for existing workloads running in AWS together with AWS Solutions Architects.
As an outcome of the requirement specification and design process, we came up with the Cloud Factory Module concept. A modular cloud factory architecture is basically a representation of each building of the connected factory as an AWS account. This design makes it very convenient to bootstrap a new factory environment or extend an existing factory with new buildings. This model improves our security posture by reducing the blast radius of deployments, AWS limits, and so forth. Therefore, it will also facilitate business continuity if a faulty change is pushed. But it will be possible to release software into different parts of the factory using blue/green and canary deployments.
Theoretically, we could continue one level deeper than the physical building, looking into specific areas per building to use as the boundary for the cloud factory module. There are certain trade-offs in going a level deeper. The most important drawback is that the AWS account design becomes more complex to manage. More fine-grained design could potentially result in hundreds of AWS accounts per factory. Therefore, one account per building was considered the optimal balance between risk mitigation and operational overhead.
In addition, each factory will have its own data account, where raw data is transformed and prepared for reporting, analytics, research, and ML applications. Lastly, the factory software components that are not specific to a single building are deployed into a core account.
There is also critical infrastructure that is not tied to a single factory. Such infrastructure will be managed globally. The networking layer that will host the TGWs, firewalls, Direct Connect, and other infrastructure lives in its own network account. The global and shared accounts include infrastructure for observability, shared Amazon Elastic Container Registry (Amazon ECR)—a fully managed container registry—and global front-end apps that are needed to run our factories.
Data, data, data
We can look at the above design through different lenses. For this blog post, we wanted to focus on how we ingest data from the factory into the cloud. Northvolt Ett uses Amazon Kinesis Data Streams (Kinesis Data Streams)—a serverless streaming data service that makes it easy to capture, process, and store data streams at virtually any scale—and we will have an approach based on sharded Kinesis Data Streams. We are anticipating hundreds of thousands of records per second, which will serve both a short-term hot data path for near-real-time applications and long-term storage in an Amazon Simple Storage Service (Amazon S3)—an object storage service—data lake for subsequent larger data jobs with data built tool (dbt) and Apache Airflow. But how is this data pushed into the cloud?
Across any given factory, we will have thousands of gateways, small Linux devices (think Raspberry Pi’s), as part of multiple massive Kubernetes clusters managed in AWS, using Rancher. Each machine on the factory floor is mapped to a high-availability pair of gateways. All these machines push their data into Kinesis Data Streams that are mapped per area within the buildings of Northvolt Ett. From there, we rely on AWS Lambda (Lambda), a serverless, event-driven compute service, and Amazon Kinesis Data Firehose (Kinesis Data Firehose)—an extract, transform, load service—to manage the dataflows into the hot data paths and cold data paths.
The above design lets us be extremely scalable and simultaneously flexible in how we can manage different Northvolt factory architectures using AWS.
This design also helps us to push different releases of our software into different parts of the factory, such as blue/green deployments, just like you would do with a regular web application, with virtually no downtime.
AWS helps Northvolt to be scalable and flexible to design, build, and operate our factories. This is a really exciting journey toward our mission to build the world’s greenest battery.