preloader

Software development consists of three separate, yet mutually dependent tracks: development, operations, and quality assurance (QA).  

If we leave it that way, a significant void may emerge between these three softdev spheres.  

This empty space is where DevOps jumps in. A blend of the terms development and operations, it’s a software engineering method that blends them together to ensure time-effective development and smooth code along the way.  

And there’s no better person than the Brightly IT director Sanel Jovanović to explain how DevOps works, why it enhances the software development process, and what direction it will take in the future.  

Q: Sanel, thank you for finding a slot for us in your busy calendar. How are you? 

The pleasure is all mine; always happy to share how DevOps make our work more convenient.  

I’m doing just fine, even though the calendar is busy indeed, you’re right about that.  

As a natural person (and a triathlete), I’m preparing for one of the most demanding long-distance triathlons – the Black Lake Triathlon in September 2024. 

Q: Sounds terrific! Can you tell us bit more about it? 

As you may know, triathlon consists of three different activities: swimming, cycling, and running. At this event, the first part is swimming 3.8 km in beautiful (but cold) Black Lake, the second part is riding a bike for 180km, and then we have running 42.2 km – i.e., the distance of the full marathon race. The setting is the beautiful mountain of Žabljak. I’ve done these distances before, in Ironman races, but what makes this competition extreme is that most of the time you are going UPHILL.  

And as a businessperson, I’m in the middle of several interesting projects.  

Q: Are you ready for the Black Lake? What are your expectations? 

With every new race, I have one ultimate goal: to finish the race.  

This time the second goal is to successfully finish all three disciplines, and then to manage to complete the first 10km of the running part within the 10,5 hour cut-off time, which would grant me access to the “black track” of the race. 

Q: How do you find time for such a strong commitment to workout, with so much work on your plate? 

It’s a matter of passion and dedication. It’s by no means a superman kind of thing. When I first started running 10 years ago, I ran barely 1 km and went back home, gasping, almost suffocating. The next day was much better, as well as the day after that, and here I am now: having run dozens of marathons within the last decade, plus, I’ve become a triathlete who participates in IRONMAN events.   

Let’s not forget that BrightMarbles Group is the official tech partner of the Belgrade Marathon, which is also a sign of certain values we cherish as a company. I’d also like to add that I participated in the Belgrade Marathon for 9 consecutive years (except 2020, due the Covid restrictions) 

Q: Cool! Now, let’s switch our focus to the subject we’re in for today – DevOps. You’re well-known in the relevant IT community as a DevOps enthusiast and successful manager. How come you got interested in this matter that much? 

When I was starting out as a system administrator and later a tech team lead, DevOps still wasn’t a big thing, but it started to grow. As a system administrator back then, I quickly understood how it would enhance automation in the entire software development lifecycle. The DevOps methodology and my career have grown almost simultaneously, almost like two students from the same module.  

It’s also closely related to the dawn of the Agile development. In the early 2000s, the entire philosophy behind software development changed. The machines got faster, the market sped up, so both development and operations had to do adapt to these changes.  

Software engineers and project managers realized they needed something to fill the void you mentioned above. Step by step, they kept pushing the development, operations, and testing closer and closer, leading to this seamless workflow that the current DevOps method ensures.  

Q: What were – or perhaps still are – the main consequences of not applying the DevOps method in the software development process? 

Obviously, falling behind with delivery and launch speed. Companies that implement such innovative methods on time make a difference.  

I’d also like to point out that we never rush the process of digital product development. We go through all the potential steps and discuss the necessary information with our clients, from ideation and proof of concept (PoC) to the minimum viable product (MVP).  

So, we aim at excellence in our work process and want our products clean and polished, to our clients’ satisfaction. Implementing the DevOps method adds to our efficiency without compromising the quality of our work.  

Cutting a long story short, DevOps is the tie that binds development and operations, resulting in efficient delivery and neat code. If I can use an analogy with triathlon, DevOps is cycling – the connection between the other activities.  

Q: How do you typically approach the DevOps share of work when you’re building a software solution? 

Our DevOps workflow comes in three different streams: 

The first one is classical team augmentation – our engineers join the existing client’s teams. Those are typically more complex projects, where we provide a wider range of softdev services.  

Then we have project-based engagements, and DevOps as a Service (DevOps SaaS). Project-based contracts refer to collaborations in which we work on a strictly defined scope for a limited period of time. 

DevOps as a service (DaaS) is for clients who need some sort of improvement. One or more of our senior DevOps engineers go through the project architecture with the client to assess the request and identify the gaps from the best practices. Then they propose the improvements in the architecture, deployment strategies, as well as security and cost optimizations. 

We handle everything here in line with the client’s requests and technical capabilities. It’s characteristic for startups, where we take over the implementation part and distribute the project tasks internally, based on our in-house expertise. 

Q: What’s in it for the clients? How do they benefit from these established procedures? 

The key benefit for the client in this way of cooperation lies in flexible planning of resources. For instance, in the case of any kind of burst, we can deploy more people to handle the incident, as our approach ensures flexibility and scalability. 
 
There’s no downtime in the provision of our services because we always have one or more employees who know the infrastructure and system at our disposal.

Our goal is to always implement our trademark DevOps framework. Picture it as a toolbox that a handyperson would bring to your home to make a repair. If this person doesn’t have the right tool, the entire process will last longer and occupy more assets.  

 
Q: Could you be more precise? What technologies do you use? 
 
Given the fact we’ve worked with many startups, we had opportunity to try and use a number of various clouds and tools, including the ones with a minimum market share. With mainstream cloud providers – AWS, Azure, and GCP – it’s usually a safe bet, plus, most of our seniors possess the know-how on at least two of the three mentioned. Working with other mainstream tools, such as K8s, Terraform, and other similar options is also a must for proper DevOps services to offer a full range of services. 
 
Besides, as mentioned above, on all our project we tend to implement all available supporting tools that ensure Code Quality, application and infrastructure code, such as SonarCloud, Checkov, TFsec,TFlint etc., as well as security tools, like Dependabot, Snyk, and/or SteamPipe etc., and other relevant solutions. 

We implement our framework during the project estimation stage. Hence, all the team members can be onboarded in no time, which is a more efficient option for all interested parties in every project. 

Q: Do you have any specific clients or projects in mind where our DevOps forces stole the spotlight? 

The latest successfully launched project is definitely Carna Health. We joined the project at a later stage, carried out some vital changes, and upgraded the infrastructure. After these adaptations, we could make the environment within a few hours. Also, we supported migration from serverless architecture to microservices. 

There was one crypto NFT client for whom we provided a narrower set of DevOps services: our engineer joined the project without any detailed onboarding and know-how and handled all the issues they had (mostly through the Kubernetes technology).  

We’ve migrated several clients onto the cloud, as well, within a certain package of digital transformation services. 

Q: How about the future development of the DevOps approach and the BMGH’s place in it? 

Only a few years ago, the DevOps method would have been implemented at later stages, as an additional connective tissue. Now, we insist on including DevOps from day one and the stakeholders usually accept this suggestion.   

This approach has proven to make projects more efficient, to both our and our clients’ contentment, so we’re eager to follow the further advancement of this method in the future. 

Although we have security in mind all the time – and implementing a lot of security tools is within our best practices – in the future, we want to enforce even more security tools and methodologies and move toward DevSecOps, but that would be a whole new article. 

About Sanel

Sanel Jovanovic is a tech enthusiast with a genuine passion for DevOps and security. He’s not the type to shy away from challenges; in fact, solving problems is his fuel. Consider him the go-to person for making tech work seamlessly, while keeping things safe and sound. In a world of IT complexities, he is the guide who makes sure everything runs like a well-oiled machine. 

Apart from his dedication to technology, Sanel is an equally passionate marathon runner and triathlete, with dozens of crossed finishing lines under his toes.