 Android engineer at Gojek and so I've recently made transition from DevOps to the Android engineering team and I'll be sharing how I applied the DevOps principle to Android ecosystem. So the first problem that we had was scaling our app from 1 million downloads to 10 million downloads on Play Store and so it's like this problem is same as scaling servers. So we had our backend all up, servers were doing good and everything was fine. How do we scale the mobile apps? So the first solution that was shared in the previous talk as well that is like automation. So what can we automate in the Android ecosystem? So since we were already using Jenkins and so I started with automating the Android build process using Jenkins. So Jenkins has pretty good plugins for Android like Griddle plugin and Android emulator plugin and all. So I started with building the APKs on Jenkins instead of manually building them on the developers machine and then distributing it to different guys and also integrated the test into the pipeline on Jenkins. So once the APKs are built then along with the building process there is a unit test step that is also there. So if the unit test fails or if something breaks in the new commit made by developers then you won't get a new APK so you need to fix it before moving forward. And also once this unit test are passed then the next step is Android instrumentation test and so in Android ecosystem there are two different kind of tests. One is unit test which are purely Java based or the test that runs on JVM and these instrumentation tests are those tests which requires Android platform to execute. So we run this as a second step of the build pipeline and the next phase that is triggered is the functional testing that has two steps. One is smoke testing and the next one is regression testing. So this functional testing is automated UI testing. So we have automation using APM. So APM is, it's like Selenium but for Android and iOS and so this makes, this ensures that the new check-in that is done by the developer has not broken any existing features in the mobile app or the existing user flows. The next problem was to how do we distribute builds. So not everyone can have access to Jenkins and they can download the APK. So there is a tool from Twitter that is Fabric. Fabric has recently acquired beta by Crashlytics. It's a distribution platform. So this is integrated into Jenkins. So once the new APK is there we can trigger it and the build will be received on the mail by the recipients. They can download it and install it. So in the Android we have different concept of different flavors. So we have staging, alpha, beta, nightly, broad flavors. So let's give example of nightly flavors. So at every night, 12 AM, the build is triggered and the APK is received on the mail by all the business owners or the developers and all the team members. So they can test the latest APK that has all the work done till today and they can test it against the live system. So this is the way business knows about what is the progress going on in the Android app. And the third problem that we solved was about monitoring and logging and all. So since Android apps are installed by millions of customers around the world and there is no way to get hold of their devices and to access them. So we have mixed panel analytics, New Relic, and Crashlytics. So if something goes wrong then the data is automatically sent to these dashboards and we can easily access them around the world. In this process, so this functional and regression test that I mentioned, it takes around two hours to execute. So we are still facing how to solve this problem. So one way out is to have more than one slave. So we have increased the number of slaves, but that is not scaling and we'll be soon migrating it to AWS device farm. So all you need to do is to simply push your testing code and it runs on multiple number of Android and iOS devices on AWS cloud. Yeah, so that's it. So it's not just about servers. We need to be aware of how do we have to focus on applying this all principles in Android and iOS ecosystem as well. In iOS also we have a similar setup using test flight and fast lane. Yeah, thank you, thank you so much.