It’s a story of how we evolved the cloud-based IoT backend platform behind Gigaset elements to meet the tough business requirements. We needed to make it highly reliable while processing high volumes of events and to enable development teams to deliver new features to customers at rapid pace.
What we started with was a monolith application that we struggled to operate, to make it reliable and to deliver updates. And it caused different kinds of bottlenecks for our development teams.
We moved from this to a microservices architecture. The interesting parts of it are: decisions on how to cut monolith into small pieces, technology choices, automation used. And how we made this change while serving the customers and delivering new features all the time. Also the benefits of change are interesting: much higher deployment rate, shorter lead time to deliver new code and much shorter MTTR.
Now, two years after that change we already see a need for another one. We need even higher velocity and more dynamism in the platform. And we realize that it’s hard to get it using our current tools. And that’s why we already work on moving to a cloud native infrastructure.
This talk is a kind of case study on how the benefits of different DevOps practices help us to iterate rapidly on building our product.
Presented at Atmosphere Conference on 2018-06-18:
https://atmosphere-conference.com/lecture.html#id=44851
10. A monolith app
● All backend
functionality in 1 app
● Deployed in the cloud
● Infrastructure as a
Service
11. A monolith app
● All backend
functionality in 1 app
● Deployed in the cloud
● Infrastructure as a
Service
Rev.
Proxy
DB
App
12. A monolith app
● High Availability
● Resistant to
individual
component failure
Load Balancer
Rev.
Proxy
DB
App
Rev.
Proxy
Rev.
Proxy
DB
AppApp
DB
Load Balancer
34. Automation
● Fully automated deployments of apps
○ With no human intervention required
● Short time to deploy
○ 30 minutes from request to done
@ttarczynski
51. Benefits of Second Generation IoT Backend
1. Faster iteration time
● 1 day (instead of 1 month)
@ttarczynski
52. Benefits of Second Generation IoT Backend
1. Faster iteration time
● 1 day (instead of 1 month)
2. Frequent releases
● Up to 10 production releases a day
@ttarczynski
53. Benefits of Second Generation IoT Backend
3. Fully automated deployments
@ttarczynski
54. Benefits of Second Generation IoT Backend
3. Fully automated deployments
4. Failures: improved MTTR
● (Mean Time To Recover)
● 30 minutes (instead of 4 hours)
@ttarczynski
81. Summary
● Monolith makes you slow
● Microservices:
great benefits and big challenges
● Cloud Native:
to fully benefit from Microservices
@ttarczynski