Thanks to the confluence of artificial intelligence, machine learning, the Internet of Things (IoT), and an ever-increasing array of applications, industrial devices are getting smarter — and generating terabytes of data daily. To help businesses use that information, one software company developed a unique IoT performance and operations platform. The cloud-based solution powers hundreds of applications that can help lower operational costs, improve quality control, enhance safety, and much more.

The Challenge – Speed Up Industrial Application Development and Deployment

With an ever-expanding ecosystem of IoT devices and third-party solutions, as well as its own growing pipeline of new and enhanced capabilities, the software company needed a way to speed up application development and deployment to ensure it could meet its customers’ evolving needs and take advantage of new market opportunities.

The solution had to be efficient and cost-effective as well as scalable and secure. It also had to enable the company to leverage its own data for future product releases and enhancements.

The software company approached ClearScale, requesting assistance in developing the optimal solution. The project would require architecting, automating, and deploying multiple environments on AWS for development, testing, staging, and production.

The ClearScale Solution – Microservices Architecture

The first step for ClearScale was to assess the software company’s business and technical requirements, along with its current processes. The ClearScale team determined that the best approach was to develop a sort of microservices architecture that primarily employed isolated modules for greater flexibility and scalability.

Various AWS products and services would be incorporated, along with a virtual private cloud (VPC) and VPC peering. The solution would also incorporate a shared responsibility model, with AWS operating, managing, and controlling the components from the virtualization layer down to the physical security of the facilities in which the service operates.

The infrastructure would be designed using Docker container software in the form of AWS-managed Elastic Container Service, with infrastructure provisioning and change management automated using HashiCorp Terraform. As an AWS Premier Consulting Partner, ClearScale would implement these and other required products and services using AWS best practices.

Infrastructure Diagram

Infrastructure Diagram

Docker, an operating system-level virtualization software for containers (a.k.a. Containerization) makes it easy to build and run distributed microservices architectures, deploy code with standardized continuous integration and delivery pipelines, build highly scalable data processing systems, and create fully-managed platforms for developers. Terraform, an open-source tool created by HashiCorp, treats infrastructure as code that can be shared by team members and edited, reviewed, and versioned.

The software company’s main workloads would be placed in managed Docker containers and run on Amazon Elastic Container Service (Amazon ECS). With Amazon ECS, the software company wouldn’t have to install and run its own container orchestration software.

The containers would be securely stored and their lifecycle managed in Amazon Elastic Container Registry (ECR), also eliminating the need for the software company to operate its own container repositories or worry about scaling the underlying infrastructure. The secure credential store would be implemented on AWS Systems Manager Parameter Store, which supplies secure, hierarchical storage for configuration data management and secrets management.

To handle the relational and NoSQL databases involved in app development and testing in the new environments, ClearScale selected Amazon Aurora, AWS DynamoDB, and Couch DB on EC2. Amazon Aurora is a fully managed relational database engine that’s compatible with PostgreSQL. It’s part of Amazon Relational Database Service (Amazon RDS), a managed database service that simplifies setting up, operating, and scaling a relational database in the cloud. AWS DynamoDB is a fully-managed, multi-region, multi-master document database with built-in security, backup and restore, and in-memory caching for internet-scale applications. CouchDB is a flexible, scalable, open-source document database.

Among the other products and services rounding out the ClearScale solution was Amazon CloudFront, a global content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to viewers with low latency and high transfer speeds. Also included was AWS Route53, a highly available and scalable cloud-based web service for the DNS.

Application load balancers were employed to allow containers to use dynamic host port mapping. This would enable multiple tasks from the same service per container instance. Multiple services could use the same listener port on a single application load balancer.

The solution also incorporates numerous security components, including a Web Application Firewall and Amazon’s Identity Access Management (IAM) service, which controls access, enforces protection, and provides granular control over permission. Amazon CloudWatch services as the monitoring and management service. AWS CloudTrail enables governance, compliance, operational auditing, and risk auditing of the software company’s two AWS accounts — one for its development, staging, and quality assurance (QA) environments, and one for its production environment.

In addition to architecting the solution, ClearScale provided documentation for software installation, environment setup and deployment, continuous integration/continuous delivery, and use of the various AWS products and services.

The Benefits

Freed up from much of its previous infrastructure management and with many of its development and deployment processes automated, the software company can now develop and deploy new applications and enhancements faster than ever — and more cost-effectively. It has complete documentation to help it continue creating environments on AWS for development, testing, staging, and production with a solution that is flexible and scalable.

There are many companies with experience in deploying various cloud environments for app development, testing, and production. But few have the breadth and depth of experience that ClearScale has — particularly in terms of AWS.

When you work with ClearScale, you’re partnering with a team that has the highest level of proven expertise and skill using Amazon Web Services. ClearScale’s engineers, architects, and developers have achieved Amazon’s highest level of certification: the Certified Solutions Architect Professional and Certified DevOps Engineer Professional.

Equally important, ClearScale’s team can draw upon their extensive expertise in DevOps and other areas, their many “lessons learned,” and their own skills and knowledge to develop solutions to meet your needs today and tomorrow.