Sergiu Ibanescu is a highly esteemed Technical Lead and Senior Software Developer, whose reputation precedes him in the realm of Cloud technologies. With a wealth of experience and expertise in this field, Sergiu is recognized for his invaluable insights and skills that propel the adoption of cutting-edge Cloud technologies in his projects. His visionary approach not only ensures the seamless integration of Cloud solutions but also drives innovation and efficiency, setting new – next level – standards for excellence in software development.
What led you to specialize in Cloud computing, and how has your expertise evolved over the years?
Many projects today are (or will eventually) be deployed in the Cloud. This came as a natural evolution in my professional career. My focus is on Microsoft Azure, and I tried to follow their learning paths and certifications options. I was engaged in the platform from its early beginnings, using IaaS services like networks and virtual machines. I am glad nowadays to be relying heavily on PaaS, as I feel it is more closely connected to the heart of what Cloud computing has to offer.
What challenges have you faced while implementing Cloud-based solutions, and how did you overcome them?
There is a shift between “it works on my machine” and various Cloud proposals and their limitations. You also need to plan ahead, considering the various tradeoffs and deeply understanding the Cloud model. I believe it is a must to follow the learning paths proposed by your Cloud provider and constantly accumulate specific knowledge to prevent surprises later.
Can you discuss the role of automation and orchestration in managing and deploying resources within a Cloud environment?
Automation is the pinnacle of Cloud-based development. Almost everything, starting from resource creation and management, up until deployments and testing happens automatically using a large tooling base. For an engineering team such as ours, this gives us the confidence that actions are free from human error, but also the space to focus on using creativity to bring value within the team.
How do you balance the trade-offs between performance, reliability, and cost-effectiveness when architecting Cloud solutions?
I gather the client expectations by asking questions like “Do you have a specific request for SLAs?”, “If yes, do you have performance related ones?” and so on. It is a step-by-step approach to understand, for example, how important performance is and in which areas. As we know, performance and cost are not good friends but also reliability and cost are not great friends either. Serverless technologies are of great help here – since they tend to address both cost and scalability nicely. Personally, I believe the entire project lifecycle is a permanent balance between concerns as the businesses are changing rapidly. Likewise, I am trying to be ahead and aware of rebalancing needs, by keeping short communication lines between product and technical departments. There’s never a definitive balance between the three criteria mentioned, it’s a constant race. And we need to stay ahead.
What’s the role of DevOps in optimizing Cloud infrastructure, and how do you integrate these practices effectively?
DevOps favors the needed automation since the resource management can be quite different but also very easy to get it wrong or make mistakes. Tools like Terraform, Pulumi or even declarative Bicep files (in the Azure world) can help in maintaining your “desired” infrastructure state. Integrated in pipelines, they can perform a lot of the heavy lifting for you and act as an unofficial infrastructure documentation.
How do you secure financial data in Cloud environments, given the heightened risks in banking and payments?
We have security in mind – and this starts when we first implement a user story. We allocate dedicated time to assessing potential security issues (for example, based on OWASP lists). Then, we rely on Software Composition Analysis tools (such as Mend SCA, among others), which is automatically running on a daily basis to detect potential security issues – like outdated or compromised libraries. Our deployment is fully automated, and we rely on a “least-privileged” permission-approach in our Cloud environments. Secrets are naturally stored in vaulted services like KeePass/LastPass or Azure KeyVault. We are also particularly careful with personally identifiable (PI) related data, especially when working within a production environment.
Share a scenario where your Cloud migration expertise improved operations or efficiency.
One thing I promoted is Function as a Service (FaaS) and I particulary enjoyed the migration of a large Windows Service to a FaaS Azure setup. Without having prior knowledge in this kind of a technology, it probably would not have been the go-to approach, so my expertise was quite important on the end-decision. In turn, this transition meant significantly reduced operational costs and stress, alongside a vastly improved developer-experience, maintaining this platform.
How do you handle the complexity of software development for banking and payments compared to other industries?
I worked for other industries as well, but my shift to the banking and payments area came with an increase of attention towards security concerns. The domain is full of security-related terminology, and that’s not at all a surprise, given the sensitivity of data and operations we are dealing with on a daily basis. Additionally, I would say DevOps is nowadays almost a must, at least in the high-volume part of the payments industry. There is always that specific integration that needs to be delivered quickly and you cannot afford to skimp on the attention given to reliability, security, privacy and performance – all vastly enhanced through DevOps practices.
Can you describe a project at Maxcode that you’re particularly proud of and why?
One project at Maxcode that stands out for me is my current project, our endeavor to automate the payment collection process. It’s a multifaceted project, integrating numerous payment providers, automating communication, and allowing for extensive customization. What makes it particularly noteworthy is its strong emphasis on DevOps practices. This enterprise solution not only handles payments but also invoicing, messaging, and notifications, providing a comprehensive solution for our clients.
The challenge lies in modernizing a decade-old project while maintaining a rapid development pace to incorporate essential features. Balancing this tight delivery schedule is part of my daily role, as we strive for continuous improvement and innovation.
Can you share insights into how your team handles scalability and reliability in software designed for high-volume financial transactions?
We are using the infrastructure (Microsoft Azure PaaS offer) to deal with temporary peaks. We invest in redundancy, by keeping at least 2 instances of critical services to deal with reliability. We have tight SLAs (99.5) and we are engaged in SRE activities on a daily basis. This way, with our current setup, we can manage hundreds of thousands of payments every month. And we don’t break a sweat doing it.
What recent technological innovation or trend excites you the most?
I’ll join the plethora of people which consider AI as the most exciting technology of the moment. However, my personal twist is seeing how it enriches my experience as a developer, allowing me to automate cumbersome tasks, while giving me time to focus on areas where my knowledge and human-specific insight can bring the most value.
How do you stay ahead of emerging trends and technologies?
I am using various sources: blogs, YouTube vids, newsletters, and various educational subscriptions (Pluralsight, O’Reilly). I tend to use my learning time to the maximum extent possible. I also practice using our very own Maxcode Tech Pillar’s specific activities but also play around with my personal projects.
Next Level Tech
Ready to harness the power of cloud technology for your business? Connect with Sergiu for expert insights, collaborative solutions, and to explore pioneering opportunities in the realm of Cloud Computing. Your journey to technological innovation starts now.