Skip to content
Article

A Look Inside Atlantic BT’s DevOps Process

In order to deliver robust solutions to clients; code must be robust, reliable, scalable, maintainable, and secure. This level of quality only be achieved through building a solid software development process throughout the Software Development Life Cycle (SDLC).

The Benefits of DevOps Methodology

DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity.

Atlantic BT adopted DevOps methodology because we saw the following benefits, both tangible and intangible, to our ability to deliver quality solutions to our clients:

Tangible Benefits

  • Shorter development cycle
  • Increased release velocity
  • Improved defect detection
  • Reduced deployment failures and rollbacks
  • Reduced time to recover upon failure

Intangible Benefits

  • Increased communication and collaboration
  • Improved ability to research and innovate
  • Promotion of a performance-oriented culture

How will working with a DevOps partner benefit me?

You can benefit from partnering with a company that follows DevOps practices in the following ways:

  • Faster delivery of features
  • More stable operating environments
  • More time available to add value (rather than fix/maintain existing features)

DevOps Process Chain

Because DevOps is a cultural shift and collaboration between development, operations, and testing; DevOps focuses on process and approach.

Atlantic BT takes the following steps in our DevOps process for software development and delivery:

  • Code – Conduct code development and review, version control tools, and code merging
  • Build – Implement continuous integration tools and build status
  • Test – Test results to measure performance
  • Package – Create artifact repository and application pre-deployment staging
  • Release (Deploy) – Set up change management, release approvals and release automation
  • Configure – Implement infrastructure configuration and management, as well as Infrastructure as Code tools
  • Telemetry – Implement application performance monitoring and end user experience measurements

Elements of Atlantic BT’s DevOps Process

Automation with Jenkins

Because automation is an important part of DevOps, your tool set is essential. Atlantic BT’s primary Continuous Integration (CI) tool is Jenkins automation server. Jenkins is an extensible, cross-platform, continuous integration and delivery automation server for open source projects.

Jenkins supports version control systems like Git, making it easier for developers to integrate changes to the project and for users to obtain a fresh build. It also allows us to define build pipelines and integrate with other testing and deployment technologies.

Automated Testing

We have a dedicated QA department and include QA time as part of the development plan as a best practice. As a minimum baseline, we evaluate the platform using unit and functional testing.

Our Continuous Integration tools perform the following key test elements:

  • Unit Test validation
  • Integration Test validation
  • Code analysis
  • Functional Tests

Once sections of an application have been QA’d through unit and functional tests, automated tests can be developed for ongoing quality assurance.

Infrastructure-as-Code Approach

ABT optimizes cloud architecture for maximum reliability and scalability while maintaining security. We take an infrastructure-as-code approach, scripting all instance builds so they can be automated—and thus reliably replicated—in the production process.

The ability to reliably configure and stand up server instances is critical, as most complex projects require many servers of different configurations at different stages of the project to accommodate development, testing, migration, and production needs. This approach also facilitates Disaster Recovery planning and implementation.

Monitoring, Metrics, and Alerting

Understanding the importance of metrics, we maintain a fully-staffed NOC that monitors key performance parameters and alerts 24/7/365. We take responsibility for monitoring application and infrastructure health, including:

  • Application availability and response time
  • CPU, Memory and Disk
  • Throughput
  • Http response codes
  • DB Connections

Metrics for applications hosted on Amazon are collected in AWS Cloudwatch; others are determined as appropriate by hosting method.

DevOps and AWS

Atlantic BT’s AWS partnership enables us to fully tap into their set of flexible services, which are designed to empower companies to deliver products using DevOps practices. These services simplify provisioning and managing infrastructure, deploying application code, automating software release processes, and monitoring application and infrastructure performance.

AWS Command Line Interface

As part of using the AWS console, advanced website developers can manage their websites via command line management tools like the AWS Command Line Interface (CLI). CLI is a unified tool to manage AWS services. With just one tool to download and configure, you can control multiple AWS services from the command line and automate them through scripts.

The AWS CLI has over 140 simple file commands for making efficient calls to AWS services.

CI/CD Pipeline on AWS

CI/CD Pipeline on AWS allows you to automate your software delivery process, such as initiating automatic builds and deploying to Amazon EC2 instances. AWS CodePipeline will build, test, and deploy your code every time there is a code change. Use this tool to orchestrate each step in your release process.

Other Amazon Tools

Other Amazon tools we use include:

  • Amazon API Gateway: a fully managed service that makes it easy for developers to create, publish, maintain, monitor, and secure APIs at any scale.
  • AWS CloudTrail: a web service that records AWS API calls for your account and delivers log files to you.
  • AWS CodePipeline: a service that builds, tests, and deploys your code every time there is a code change, based on the release process models you define.
  • AWS Identity Access Management: manages access, where you can specify which user can perform which action on a pipeline
  • Amazon CloudFront Reports and Analytics: offers a variety of solutions including detailed cache statistics reports, monitoring your CloudFront usage, getting a list of popular objects, and setting near real-time alarms on operational metrics.

Start Implementing DevOps Today

Ultimately, implementing DevOps evolves products faster than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.

If you’re interested in getting help implementing DevOps or looking for a software development partner that follows best practices, contact us to learn more.

The Atlantic BT Manifesto

The Ultimate Guide To Planning A Complex Web Project

Insights

Atlantic BT's Insights

We’re sharing the latest concepts in tech, design, and software development. Learn more about our findings.

Questions & Answers

What is the best web development framework?
Many people commonly ask “what is a framework in web development?” Web development frameworks can easily be confused with web development tools, languages, or parts of the web development stack (like .NET, PHP, JavaScript, or Ruby).
Learn More about What is the best web development framework?
What is the best programming language for web development?
If there was one “best” programming language, then everything else would be obsolete. The reality is that there are so many different programming languages because there is no “best” language for any situation.
Learn More about What is the best programming language for web development?
How much does web development cost?
Web development can vary from a few hundred to millions of dollars depending on what is needed. You may simply need some changes to something that already exists, or you'd like to build a large or complex application.
Learn More about How much does web development cost?
What is front end vs. back end development?
As web development evolved, it separated into logical specialization: front end web development and back end development. While back end development involves the server-side development, front end is the final rendering.
Learn More about What is front end vs. back end development?
What is full stack web development?
Full stack web development as a term evolved due to the separation of roles between front end and back end developers. A “full stack” developer is a developer that can work in both front end and back end technologies.
Learn More about What is full stack web development?
How do I evaluate a managed application service provider?
The first step in evaluation is to figure out what you need. Do you just need someone to manage the cloud or hosting environment, or do you need them to manage and support the application code and the hosting environment?
Learn More about How do I evaluate a managed application service provider?
How do I know when it’s time to modernize or rewrite my application?
No matter how well-written your application is, you will need to refactor and clean up the technical debt over time, especially when the proper maintenance and updates have been lacking.
Learn More about How do I know when it’s time to modernize or rewrite my application?