The Challenge: Fill the Gap Between Software Development and Production
An industry pioneer in international rail travel and one of the world’s leading specialists in Italy travel, Wandrian provides services to customers in 120 countries and partners with some of the biggest names in travel, including Trenitalia—Italy’s national railway. In 2018, Wandrian planned to launch a new web application—ItaliaHotels—to help people find the best places to stay in Italy.
Wandrian also wanted to keep IT costs under control while making sure its software consistently delivers high-level application performance to customers.
“By leveraging IaC technologies, software-as-a-service firms can fine-tune their AWS environments much more easily. This makes it possible to ensure fast response times, high availability and elasticity—while also making sure the AWS environment operates cost-effectively.”
The Solution: Pantek Provides Container and Infrastructure-as-Code Expertise
Pantek proved to be the perfect partner to solve Wandrian’s challenge. Pantek worked closely with the internal Wandrian software development team to ensure a smooth transition as the ItaliaHotels application migrated from development to production in the cloud. Leveraging cloud best practices, Pantek also created an efficient DevOps workflow and leveraged DevOps tools that enable Wandrian to deploy and update ItaliaHotels quickly in the AWS environment.
For Wandrian’s application environment, Pantek specifically utilized two cloud best-practices that enable a smooth DevOps process, create an elastic compute resource architecture, and ensure application performance. The first key best-practice was the use of application containers, for which Pantek utilized the Kubernetes container orchestration platform. Containers encapsulate applications and the minimal run-time resources that applications need to function.
When Wandrian anticipates a spike in user demand and wants to be sure ItaliaHotels will continue to run reliably, the containers allow the software development team to quickly replicate the application to a new environment. Containers also help the team move ItaliaHotels more smoothly through continuous integration and deployment pipelines—from development to testing, staging and production. Another key benefit is that containerized applications run more efficiently, tapping into fewer compute resources and reducing compute costs.
The Wandrian IaC environment includes virtual machines and compute resources such as load balancers and auto-scalers. By utilizing IaC, Wandrian can automate the process of provisioning cloud resources through machine-readable definition files—rather than manually managing the cloud infrastructure configurations.
After building the application containers and the AWS infrastructure, Pantek then automated both components so that Wandrian can build and deploy ItaliaHotels automatically via CI/CD pipelines. Pantek also integrated the process with Azure DevOps, where the Wandrian development team stores code repositories, creates release pipelines, and manages artifacts.
As Pantek addressed all of these needs, Wandrian continued to focus on the functionality and business logic of ItaliaHotels. When the Wandrian development team checks code in, the system triggers an automated release pipeline. The pipeline then builds and publishes the container images on Kubernetes running in the AWS environment.
The Results: A Cost-Effective, Resilient Application That Performs Consistently
With both firms focusing on their core technology expertise, the end result of the Wandrian-Pantek partnerships is a robust application for finding the best places to stay in Italy.
“It’s possible for someone without cloud expertise to deploy an application on AWS, but it’s also easy to get it wrong,” says Alexis Cuadrado, a Cloud Practice Manager for Pantek. “To get it right, you need cloud experts who know AWS well and understand how IaC works so you can architect the application to take full advantage of all the benefits that AWS offers.”
The containers created by Pantek place the ItaliaHotels application components into isolated, self-contained and lightweight deployment units. Once an application is containerized, the Wandrian development team doesn’t have to worry about the programming language and the dependencies. It all lives inside the containers, which is helpful for distributed systems with multiple components such as ItaliaHotels. The development team can use the same process to deploy all the components—it’s a much simpler process than the manual method where each component is deployed individually.
IaC also solves the problem of server infrastructure configuration drift—Wandrian does not have to manually apply ad hoc configuration changes to each server, which would potentially introduce problematic differences between servers and would be difficult to track. Instead, Wandrian can leverage the IaC to explicitly write all of its server specifications into the code, which becomes the single source of truth for the infrastructure configurations. This allows Wandrian to apply the same configuration consistently across all servers and keep them up-to-date.
As Wandrian manages its pool of servers using the same OS and keeps each OS up-to-date with the latest security patches and library versions, there are multiple ways to view the configuration information, which is easy to determine by viewing the infrastructure code. Wandrian can then update the configurations automatically, all at once. Wandrian can also easily replicate ItaliaHotels to other environments and change the parameters depending on the needs of the environment.
“By leveraging IaC technologies, software-as-a-service firms can fine-tune their AWS environments much more easily,” says Bill Fistori, a Co-Founder of Pantek. “This makes it possible to ensure fast response times, high availability and elasticity—while also making sure the AWS environment operates cost-effectively.”
Case Study Overview
- Wandrian developed an application to streamline reservation bookings at Italian hotels.
- The development team wanted to partner with experts who knew the best practices for designing and deploying the Amazon Web Services (AWS) environment in which the application would run.
- Wandrian also wanted to find a partner with expertise in application containers—to streamline application deployments and updates.
What Pantek Delivered
- Infrastructure-as-code (IaC) cloud architecture—leverages AWS services and helps the cloud platform run more efficiently.
- Container orchestration platform—makes application services easier to deploy and update.
- CI/CD pipeline—automates the flow of application components into containers as well as deployments and updates in the AWS environment.
- A cost-effective cloud architecture and application environment—that’s resilient, elastic and delivers consistent application performance.
Tools and Technologies
- Kubernetes (container orchestration platform)
- Amazon Elastic Kubernetes Service (EKS) (managed service)
- Amazon Elastic Container Registry (ECR)
- Terraform (infrastructure-as-code tool)
- Azure DevOps (version control and release management)
- Datadog (monitoring service)
- Helm (Kubernetes Package Manager)