Skip to content
AtlanticBT Monogram Atlanticbt.com
Menu
DevOps Process
November 15, 2019

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).

DevOps SDLC
DevOps is the intersection of Software Development, Quality Assurance, and IT Operations.

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

 

DevOps Process
DevOps steps are often visualized with a diagram of this type (terminology for the steps varies, but all generally refer to the same thing).

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.

Jenkins Build
This diagram is an example of Jenkins in action, showing build steps and history.

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.

Amazon EC2 script
This script format is used for standing up an Amazon EC2 compute instance.

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.

AWS Code Pipeline
This simple pipeline pulls code from a source repository and automatically deploys it to an Amazon EC2 instance.

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

Partner With Us

Ready for modern web technology and a sharp, user-friendly design? We want to give you exactly that. Contact us to get started.

Contact
  • This field is for validation purposes and should be left unchanged.

Insights

Atlantic BT's Insights

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