The IT season is raging in Paris! Last week, AWS was on stage for a huge show: 7 000 attendees! As a software-defined cloud interconnect provider, InterCloud aims to bring elastic connectivity to DevOps teams. On this matter, we eagerly listened to Euler Hermes’ testimonial; the credit insurance leader relies on a strong Ops culture to enhance the technical value of corporate products.
Thierry Ciboire, Head of IT Cloud DevOps Domain at Euler Hermes, shared the floor of the AWS Summit Paris session dedicated to DevOps for Ops: Using microservices and serverless to accelerate innovation.
He introduced his talk by setting the scene of Euler Hermes’ cloud strategy: “We moved to the Cloud to benefit from managed services and all the great capabilities offered, not only for offloading purposes.”
One of their first IT initiatives was thus to redevelop in the Cloud the algorithm that assesses risks and calculates grades to answer in real time the 22 000 insurance requests received daily. The idea was to bring more value to Euler Hermes insurance products by enhancing their technical value.
“The product value relies not only on its business value but also on its technical value, said Mr.. Ciboire. It’s the Ops’ role to enhance this technical value.”
To do so, the DevOps team radically transformed the information system thanks to APIs and microservices.
Mr. Ciboire described the three ingredients needed to design and implement these API and microservices-based architectures:
- Loose coupling: each microservice is independent so that issues don’t spread across the whole microservices chain. It requires asynchronous treatment and isolation of each microservice at the infrastructure level.
- Orchestration: a backend in the frontend of the application allows to orchestrate API calls through an API gateway. It means that independent microservices can easily consume data from one another.
- Light frameworks make it easier to instantiate quickly and foster scalability.
Towards the data warehouse
Mr. Ciboire further explains that whether the application is cloud-native or legacy, all apps need to push their data to the Cloud to make it available through AWS Lambda functions.
When it comes to legacy apps Euler Hermes’ DevOps team needs to process data using AWS Database Migration Services and then push business objects to the Cloud. Whereas cloud-native apps are able to push full business objects directly to the Cloud.
“This will pave the way to implement our data lake (pool of unstructured data with no precise goal) and soon our data warehouse (pool of data structured and filtered for a specific purpose) based on AWS Redshift,” envisions the Head of DevOps.
Another challenge met by this team that heavily invested in the Lambda technology is to keep the functions warm in order to quickly access a resource in a VPC. A Lambda function or an underlying container takes up to 10 seconds to attach to an Elastic Network Interface which is incompatible with the expected response time for API-based apps (400 milliseconds). Mr. Ciboire’s team has already implemented a warming system for a precise number of Lambda functions; the next step is auto-scaling ie warming up the functions incrementally based on the workload.
The second part of Euler Hermes’ testimonial was dedicated to answering this tricky question: how do you achieve the flexibility and quality required by modern apps? The answer stands in four letters: CI/CD (Continuous Integration Continuous Deployment).
You build it, you run it
Euler Hermes’s DevOps lays heavy emphasis on complementing the usual functional tests by technical tests in their CI pipeline. They can be security tests to scan container images, vulnerability tests, performance or workload tests… which result in a clear-cut decision: “If it doesn't meet our requirements, we don’t deploy.”
One thing the team has not been able to automate yet is code review of Infrastructure as Code (Iac), in other words, check whether the architecture patterns are correctly implemented. “ This is not an easy task... comments Mr. Ciboire. Today a transversal DevOps team is in charge of reviewing the code of the infrastructures produced according to our motto: you build it, you run it. Tomorrow we’ll have the right tools in place to review the pipeline and thus automate IaC code review.”
No speed without performance
How does this DevOps team turn continuous deployment into a non-event?
For cloud-native apps requiring fast delivery: “You have no choice basically: you can’t achieve the speed of delivery without performance and quality.” For example, he compares deployment to a feature when it comes to auto-healing during an incident: the app is redeployed automatically - like in a Blue Green deployment.
The two rules for application monitoring are:
- Visibility: All deployments are automated leveraging IaC. No human intervention (zero SSH connection policy) is allowed in production or during user acceptance tests. “Our DevOps teams had no choice but to implement monitoring tools such as API health checks to enable application visibility.”
- Mutability: “At Euler Hermes, we don’t touch anything that works and/or is in production.” For instance, when a security patch is needed, we create a new instance using IaC and once patched, the new image is switched to the production environment.
Regarding monitoring, checking the availability of all the microservices composing the app requires granularity.
“ Application visibility has become a crucial and necessary element for Ops to manage their apps.”
He distinguishes two different monitoring: Application Performance Management (APM) and infrastructure monitoring. Euler Hermes DevOps use AWS X-Ray for APM to monitor the latency for API calls for synchronous and asynchronous streams.
When it comes to infrastructure monitoring, the team’s challenge boils down to integrating all the metrics coming from different sources (AWS managed services and open-source tools) in a single spot, namely Prometheus.
This monitoring focus sounded like music to our ears; InterCloud strongly believes that application-level visibility is the NetOps’ best friend to manage cloud connectivity in the cloud era.