Categories
Uncategorized

We Put the Dev in Devops: What does this Mean?

Photo by Simone Secci on Unsplash

You might have heard of DevOps in recent years, and there’s good reason for that. DevOps is a way to bridge the gap between development (Dev) and IT operations (Ops). It helps companies deliver software faster and more reliably. And it’s not just for big players in tech – DevOps can benefit companies of any size, especially those in West Michigan. So, why should companies in the area be jumping on the DevOps bandwagon? Let’s talk about the benefits and opportunities DevOps can offer.

What is DevOps?

Photo by Alex Radelich on Unsplash

The gap

We just described DevOps as a way to “bridge the gap between development and IT operations”, but what does that mean? What is “the gap” it’s trying to close?

Essentially, there used to be a huge disconnect between the development and IT operations teams. Development was all about getting new software and features out the door, while IT operations was focused on making sure the technology was running smoothly. These two teams had very different goals, and they often worked in silos, which led to problems like slow software releases, low-quality code, and frustrated customers.

DevOps bridges that gap by bringing development and IT operations teams together and promoting collaboration, automation, and continuous improvement, so they can work together to deliver high-quality software quickly and efficiently.

Principles of DevOps

There are three key principles of DevOps: collaboration, automation, and continuous improvement.

1. Collaboration

Working together, hand in hand

DevOps is all about teamwork between development and operations teams. By breaking down silos and fostering a culture of collaboration, DevOps enables cross-functional teams to deliver software faster and more effectively.

2. Automation

Making processes smoother and quicker

Automation is another key component of DevOps. By automating manual processes and workflows, DevOps helps teams to speed up delivery and reduce the risk of errors. This allows teams to focus on more strategic initiatives and continuously improve their processes.

3. Continuous Improvement

Always getting better

The continuous improvement aspect of DevOps is about learning and growth. Teams are encouraged to regularly assess and improve their processes, identify areas for improvement, and implement new tools and technologies that can help them work more effectively. This helps organizations to keep delivering high-quality software, improve user experience, and stay ahead of the competition.

Benefits of Devops

Photo by Natalie Pedigo on Unsplash

Tangible benefits of DevOps implementation

DevOps enables faster time-to-market, improved quality software, and better collaboration among teams.

Faster time-to-market

For starters, DevOps allows companies to get their products to market faster. Instead of waiting weeks or months to receive feedback on a change or feature, DevOps can help companies get feedback in days or even hours. This means that companies can move faster and stay ahead of their competition.

Improved software quality

In addition to faster time-to-market, DevOps also helps companies create higher quality software. By streamlining processes, automating tests, and continually monitoring performance, DevOps makes it easier for teams to identify and address any issues that might arise. With DevOps, companies can reduce the risk of bugs and ensure that their software is reliable and stable.

Better collaboration

Finally, DevOps improves collaboration among teams. By introducing automation and standardization, DevOps helps teams work more efficiently, so that they can focus on the bigger picture. Plus, DevOps encourages teams to communicate more, which can help prevent misunderstandings and improve the overall quality of the software. In short, DevOps is a must-have for West Michigan companies looking to get ahead in their industry.

Business Value with DevOps

When a company implements DevOps, there’s a whole host of business benefits that come along with it.

Increased Efficiency

DevOps streamlines the development and operations processes, so your company can get stuff done faster and more effectively. That means your teams can focus on higher-impact tasks, instead of getting bogged down in manual processes and red tape.

Lower Costs

By automating and streamlining processes, DevOps helps you save time and money. When you’re able to get things done faster and more efficiently, you can put your resources to better use, rather than pouring time and money into fixing problems and fixing mistakes.

Improved Customer Satisfaction

With DevOps, you’re able to get your software to market faster, which means you can meet customer needs more quickly. Plus, with improved quality software and better collaboration, you’re delivering a better product, which leads to happier customers. Happy customers mean a more successful business.

Implementing Devops in your organization

Implementing DevOps can be a complex and time-consuming process, especially if you are new to this approach. The first step in adopting DevOps is to find the right team and resources. This involves identifying the skills and expertise needed to support your DevOps initiatives and finding the right people to fill those roles.

But, of course, that is easier said than done. It takes quite a bit of time and money to find, hire, and onboard new staff. Nobody has time for that. But that’s what Electric Pipelines is here for. We’ve got a team of experts who can do the DevOps, so your team can focus on everything else. We offer a range of DevOps services:

By outsourcing these tasks to Electric Pipelines, you can benefit from our expertise and experience in implementing DevOps, without having to worry about finding the right team and resources to support your efforts.

Conclusion

To wrap up, let’s go over what we covered in this article. We talked about what DevOps is, and the benefits it can bring:

  • Faster time-to-market
  • Improved software quality
  • Better collaboration
  • Increased efficiency
  • Lower costs
  • Improved customer satisfaction

With all of that, it’s a struggle to get the right people for the job. But we’re here to help.

If you’re in West Michigan and looking to improve your software development processes, don’t hesitate to reach out to us. We can take care of the DevOps so you don’t have to. So, what are you waiting for? Let’s make DevOps work for you!

* indicates required

Recent Posts

  • Visual Prompting: LLMs vs. Image Generation
    We’ve been trying a lot of different things in Project Cyborg, our quest to create the DevOps bot. The technology around AI is complicated and evolving quickly. Once you move away from Chat Bots and start making more complicated things, like working with embeddings and agents, you have to hold a lot of information in…
  • How to take the brain out of the box: AI Agents
    Working with LLMs is complicated. For simple setups, like general purpose chatbots (ChatGPT), or classification, you have few moving pieces. But when it’s time to get serious work done, you have to coax your model into doing a lot more. We’re working on Project Cyborg, a DevOps bot that can identify security flaws, identify cost-savings…
  • What does AI Embedding have to do with Devops?
    AI embeddings are powerful. We’re working on Project Cyborg, a project to create a DevOps bot. There’s a lot of steps to get there. Our bot should be able to analyze real-world systems and find our where we could implement best practices. It should be able to look at security systems and cloud deployments to…
  • Take AI Seriously: It is Foundational
    AI (Artificial Intelligence) is a rapidly advancing technology that has the potential to revolutionize a wide range of industries, from healthcare to finance to manufacturing. While some people may view AI as a toy or a gimmick, it is actually a foundational technology that is already transforming the world in significant ways. AI is foundational…
  • Using Classification to Create an AI Bot to Scrape the News
    Classification We’re hard at work on Project Cyborg, our DevOps bot designed to enhance our team to provide 10x the DevOps services per person. Building a bot like this takes a lot of pieces working in concert. To that end, we need a step in our chain to classify requests: does a query need to…
Categories
Uncategorized

Electric Pipelines Demo

Introduction

Unity has a reputation for being a beginner friendly engine. It does a lot of things out of the box for you. Building and deploying your app is pretty simple if you’re a solo dev just trying to get your game onto a device. However, Unity doesn’t make it easy to set up more professional build and deployment workflows, like multi-platform builds, command line building, or CI/CD pipelines. Here you will find a demo of the tooling that Electric Pipelines can set up to make your builds easier. We offer hand crafted dev ops for game companies.

This demo can be found in video form.

Setup

For this demo, we have a Unity game. We will be deploying it Android, and building the backend server on Linux and Windows. We will be building and deploying these both manually in the editor and through a build pipeline we’ve set up on Jenkins.

Manual Builds

For multiplatform games, Unity require you to switch configuration before you build another platform. This eats up a lot of time for larger projects.

An example of waiting around for configuration switching

To get around that, you can write your own scripts to build your project for different configurations. We have set up scripts to build each individual platform, and a few for combinations.

An example of a build script

Now, you can use menu options in the editor to build each individual platform.

The build option that we added can be used from the editor.

Building from the command line

Unity lets you do almost anything you can do in the editor from the command line. There is a catch: you have to write scripts for all of it. With the scripts we set up earlier, we can build our game from the command line. In the example below, we will call Unity from the command line and tell it to run our build method, BuildPlayerExample.AndroidBuild, on the project found in the folder BomberPrototypeUnity. You can find the full documentation on Unity command line builds here.

An example of building from the command line. Underlined is the call to the specific method (Android Build) we wrote earlier.

CI/CD pipeline in Jenkins tour

Now that we have command line building working, we have all of the tools we need for setting up a CI/CI pipeline.
We’ve set up a CI/CD pipeline in Jenkins that can build each platform. Jenkins will set up build agents that will use something similar to the command line option above to build on each platform.

Jenkins dashboard

We can trigger builds for each platform using git tags. You can tag each commit in git with different build actions. In the example below, you can see that we’ve tagged our commits to build Android, Linux, Windows, Headless servers, and iOS. You have a lot of flexibilty on what platforms you build and how long your build is going to take.

Jenkins dashboard showing different tagged builds
Example of how you tag a commit pt 1
Example of how you tag a commit pt 2

Once you kick off a build, you can track the build progress in Jenkins. In this demo, we set up a build that would publish to AppCenter at the end, so that beta-testers would have access.

Jenkins build in progress
After the build is complete, it gets pushed to beta testers using AppCenter