Prodea provides an Internet of Things (IoT) cloud platform-as-a-service designed specifically for manufacturers of mass-market, consumer products for the home. Entrepreneur.com lists Prodea’s Arrayent as one of the “25 Innovative IoT Companies and Products You Need to Know.” Visit www.prodea.com
For more than a decade, Arrayent, Inc. (recently acquired by Prodea Systems, Inc.) has been helping mass-market consumer products companies develop new opportunities and channels. The company’s Internet of Things (IoT) cloud platform-as-a-service enables manufacturers to transform traditional consumer products into connected devices, acquire and transmit usage and device data in formats that power business intelligence systems, and enable device interoperability through cloud-to-cloud integration with major third-party ecosystems.
As late as 2016, Arrayent hosted its own services — developed in Java and Ruby on Rails — in multiple data centers. All software deployment was performed manually, and the lack of an integrated DevOps approach posed several challenges:
Releasing and deploying new features took three to six months, with no ability to release incrementally.
Major planning was required to perform upgrades, which were complex events that required the attention of the entire operations team as well as extensive coordination with customers.
Even with an “all-hands-on-deck” approach, confidence in release timing and quality was low, as was collaboration between development, operations, and line-of-business groups.
To address those issues, Arrayent began looking at what it would take to migrate its environment to the cloud—and in doing so, develop an automated deployment pipeline. “We started with the question, ‘Is it possible to cloud-enable our platform?’” says Jarrod Sinclair, Chief Architect at Prodea. “We knew we wanted to use Amazon Web Services (AWS) and that it would require a phased approach—and set out to see whether we could achieve both full automation and full backward compatibility with our existing architecture.”
Arrayent enlisted the aid of nClouds, an Advanced Consulting Partner of the AWS Partner Network (APN), to help facilitate its DevOps journey. “Our first step was to determine if we could ‘Dockerize’ our environment, as a way to demonstrate what was possible,” recalls Sinclair. “We used Docker Compose to build a local Docker environment with static containers, then gave our CEO instructions on how to deploy it. In less than an hour, he had our core stack running on his laptop — something that would have taken weeks in the past. This validated our approach and helped us gain the confidence and support of our executive team.”
The team then built development and staging environments on AWS, the goal being an automated pipeline that would let Arrayent deploy new code frequently and feel confident about the process. “The first consumer of our new pipeline was our QA department,” says Sinclair. “They used it just as our operations team would eventually do, enabling us to catch issues early in the process. We kept our legacy platform up until we gained confidence—again, taking an incremental approach.”
During the project, which took approximately three months, Arrayent devoted its entire development team to the task. “That’s one area where nClouds helped significantly: When we hit a roadblock, such as a gap in documentation, nClouds had the knowledge we needed,” says Sinclair. “It was like having an invisible operations team by our side as we learned the ropes.”
Today, Prodea is running its Arrayent platform development, staging and production environments on AWS. “Testing time for a deployment has been reduced from days to hours, and we can now deploy new code multiple times a day instead of the process taking months like it did in the past,” says Sinclair.
In building its new deployment pipeline, the company took advantage of several Amazon Web Services:
● Amazon Elastic Compute Cloud (Amazon EC2) — Services that are part of the environment run on Amazon EC2 instances and are organized using AWS instance tags.
● Amazon EC2 Container Service (Amazon ECS) — A Jenkins server kicks off all the build and test tasks to workers in an autoscaling Amazon ECS cluster, which enables the pipeline to scale automatically with demand.
● AWS Lambda and Amazon API Gateway — These are used by a Slack plug-in to query the health status of the development, staging and production environments.
● Elastic Load Balancing — Load balancing is used to automatically distribute incoming application traffic across multiple Amazon EC2 instances.
● Amazon Route 53 — Amazon Route 53 is used to handle Domain Name Service (DNS) tasks and script the process of moving DNS names around as needed to route users to apps.
● Amazon Virtual Private Cloud (Amazon VPC) — This lets Prodea provision a logically isolated section of the AWS cloud and launch AWS resources within that defined virtual network.
● Amazon CloudWatch — This is used to monitor the deployment pipeline and the AWS cloud resources it depends on
Working with nClouds helped Arrayent (and now Prodea) ensure that the deployment pipeline followed best practices. The environment is distributed across multiple AWS availability zones to help ensure disaster recovery, all infrastructure is represented as code, and deployment is fully automated through the use of Red Hat Ansible Tower. “Developers now can quickly spin up new environments and tear them down when no longer needed—making it easy to test new features that deliver new customer value,” says Sinclair.
With help from nClouds, Prodea moved from a cumbersome, manual deployment process to a fully automated deployment pipeline in the cloud. The project has led to several benefits:
- Greater than tenfold improvement in product delivery speed. In the past, it used to take three to six months to deliver new features to market. Today, releases are done weekly. “If needed, we can go from coding to production the same day,” says Sinclair. “This was something we couldn’t have dreamed of when we first started this project. Even though it was part of the vision, when looking at us as an organization, it just didn’t seem possible.”
- Faster provisioning of new customer environments. Prodea now can rapidly provision new proof-of-concept environments for prospective customers, which has accelerated the sales process and improved the customer experience.
- Reduced defect rate. Deployment rollbacks are now a thing of the past, giving Prodea and its customers greater confidence in the deployment process. “We now have the flexibility to really support our customers, meet the demands they place on our platform, and release new features as the business demands,” says Sinclair.
- Bandwidth to modernize. Now that developers aren’t “fighting fires” with the operations team anymore, they have time for other, more productive tasks. “We have quite a few pieces in our platform that need to be modernized or expanded upon, but in the past, we didn’t have the bandwidth for that,” says Sinclair. “Now we do.”
- Improved culture. In the past, deployments were often causes of frustration and stress. Today, there’s a blameless culture of transparency, and confidence in delivery speed and quality shared by customers and internal teams. “People are proud of what we accomplished; it really changed the culture here,” says Sinclair. “Prodea really became a fun, exciting place to work.”
Prodea’s acquisition of Arrayent in July 2017 is perhaps the greatest indicator of new business value. “Our ability to adapt to change—to be agile—was a key reason for our acquisition,” says Sinclair. “We’re still working on extending and accelerating our DevOps journey. Part of that now includes replicating what we’ve already accomplished within the rest of Prodea.”
Entrepreneur.com lists Prodea’s Arrayent as one of “25 Innovative IoT Companies and Products You Need to Know.”
nClouds is an award-winning, credentialed provider of DevOps and cloud services, products, and solutions. They partner with customers, as valued extensions of their teams, to build and manage modern infrastructure solutions that deliver innovation faster. The company is a certified AWS Advanced Consulting Partner, AWS Managed Service Provider, AWS DevOps Competency Partner, Approved Well-Architected Partner, and an APN Standard Technology Partner. The nClouds team has deep skills in continuous integration & continuous delivery pipelines, containers, microservices, serverless, managed services, infrastructure automation, cloud migration, and 24x7 support.
Learn more about AWS DevOps Services.