Developers Say: An Outstanding Cloud Automation Experience
Microtica has the goal to provide the best cloud automation experience for developers from its very beginnings. We are so happy when we hear a success story, especially from developers who weren’t familiar with cloud automation previously.
This is why we decided to bring to you a series of interviews with our customers that experience the benefits of our solution. They jumped into a whole new world in a matter of days instead of months.
We are calling it: Developers Say.
The first developer we talked to is Marko, a full-stack developer from Vertt.
You can read more about how Vertt accelerated its DevOps processes with Microtica here.
What’s the product you're developing?
Vertt is a Swiss ride-hailing startup that provides a reliable, responsible and secure transportation experience. As a service, Vertt wants to fill in the voids that exist in the Swiss transportation system. We innovate all the time, in order to provide society with a one-stop mobility solution.
Which technologies did you use when developing the solution?
You could say we actually have five applications. Four are mobile-native iOS and Android applications, two for the passenger experience, and two are for the drivers. We also have one web application which is the admin panel for our business team, developed in Angular.
As for the backend and infrastructure part, the solution is built on the latest microservice technology with AWS as a cloud provider. The backend is developed in Node.js.
Can you tell us about your background as a developer?
I am a full-stack developer with two years of experience. Vertt is my first major project and my first time working on a project of this magnitude. This project is where I gained most of my knowledge and learned about the big picture. I’m developing the backend logic in NodeJS for the entire system. I’m also working on the dashboard for our business team in Angular. I’ve worked on just a few projects prior to this. They were mostly small websites that didn’t require a backend component or scalability features.
Why did you choose a microservice infrastructure for this particular project?
We often see startups kicking off with a monolithic application just to get something out there. However, when they expand, they face various problems related to scalability and continuous integration.
We wanted to do it the right way. The benefits of the microservice architecture are well-known. Different codebases, separate deployable units performing separate functionalities, and the most important for us—scaling individually.
How did you deliver software before discovering Microtica?
We started using Jenkins as part of our DevOps process. As our team consists of full-stack and mobile developers, we were really struggling with all the setup and integration of numerous plug-ins. We were using Jenkins as a build orchestration tool. We soon became very limited by the release management that Jenkins has to offer. Issues like access control management, configuration usability, and scaling began to overwhelm us and defocus us from our daily tasks.
As the team began to grow, tracking and accountability of various team members became a great issue. As we did most deployments and builds via a single user, tracking was only at the code level through our source control tool Git.
What was the biggest challenge you had as a developer working with cloud automation?
The main challenge for any beginner or intermediate developer is connecting all pieces together and making them work as one. Understanding how the entire system is designed and managed behind the curtain in the cloud is a continuous process that consists of constant learning and hands-on effort. Coming across stuff like cloud automation, scaling, and continuous delivery is always challenging, especially if you don’t have much experience to get started.
How did Microtica help you overcome these challenges?
Microtica made deploying our entire system extremely easy and effortless. With just a few clicks and a few extra files, we set up and deployed our entire system consisting of 13 microservices.
After setting up our initial development environment it only took us one hour to get the test and production environments up and running. For this, we used the Clone Environment feature. This was really important to us because we wanted to fully migrate to Microtica before going to production.
The integration went smoothly and pretty fast. We only needed to create a couple of files in each microservice to create and guide the deployment pipeline. Now we can change parameters and redeploy our services within minutes and with almost no downtime.
It was extremely helpful that we could use their ready-to-use components. This eliminated the need to write complex CloudFormation templates for simple AWS resources. It allowed us to reuse the components by using just the UI.
How did Microtica help you grow as a developer?
Before working with Microtica, I didn't have much experience and knowledge in the cloud automation space. Microtica gave me an initial push. It made me confident enough to set up and maintain a fully functional system with three environments. I could create custom infrastructure and deploy microservices in the cloud in a matter of days. It allowed me to focus more on the actual development and less on infrastructure maintenance.
What kind of challenges are ahead of you and your team?
Our system is expanding on a daily basis along with its complexity. With a new feature every month, it's crucial for us to have a firm grasp of the entire system at any time. Since we made a production release, stability has become our number one priority. It's also probably the biggest challenge that we will face in the future.