Creating a Flexible and Affordable DevOps Kickstarter Webinar Highlights

Creating a Flexible and Affordable DevOps Kickstarter Webinar Highlights

Creating a Flexible and Affordable DevOps Kickstarter Webinar Highlights 800 507 Reizl Jade Ramos

Speaker: Mr. Dennis De Vera | Exist Tech Architect

The primary purpose of DevOps implementation is to accelerate software delivery and increase business agility. The enterprise-wide impact that it can bring has been more evident, and much desired by businesses who want to remain at the top of their games. Although transitioning to DevOps can be vital to business success, challenges along the way might become overwhelming.

This session was organized to give an introduction to DevOps and assist businesses at the early stage of their DevOps journey.

Why DevOps; What is the fuss all about?

DevOps is a culture-changer. It is a process wherein each individual should be able to contribute to their own little way for it to be successful. Most of the time, it is correlated to your build automation. Build automation is directly correlated to your CI/CD pipeline.

How mature is your automation strategy?

Continuous integration

The process wherein you have a central source code repository. A developer can commit code, build, validate, compile, test, and can build an artifact out of it.

Continuous Delivery

The process wherein you deploy your application to your QA server, do the necessary tests and deploy it to your UAT servers for end-users to validate. The goal here is to automate it/deploy it to your UAT server and subsequently, to your production server with just a click of a button.

Continuous Deployment

The application is deployed into production. With the help of your continuous integration and continuous delivery, the right set of tools, and the right set of configurations, you won’t need an individual to put an application to production. With this automation, the risk of having human-errors is alleviated.

What is Application Modernization

It is the process of breaking down a monolithic application into smaller pieces to make changes faster, allowing you to deploy just a specific module, or augment a new feature without having to deploy the whole ecosystem. Having smaller pieces of codes or features with a smaller set of individuals participating in the process makes the process more agile than in monolithic setup.

Implementation of DevOps in Your Organization

There is no such thing as a generic DevOps because of different things to take into consideration such as:

Deployment Environment

We first have to assess if the existing pipelines and continuous integration are working before going into production.

Connectivity

Continuous integrations usually need to have access to download and upload artifacts. You have to consider firewalls, bandwidth, security, and other stuff under Connectivity.

Type of Application

You have to consider whether you want to build a web application, a mobile application, or a desktop application.

Infrastructure

Without the proper infrastructure, you will not be able to start anything. Under this, you should consider whether going on the cloud, on-premise, or hybrid.

Software Licenses

Should you go directly for enterprise licenses, or can you go for an open-source first? If you are already subscribed to a cloud provider, can you utilize those tools, and if these aren’t enough, can I choose for the other options?

People

You need to have the right people to guide your organization in making sure that you are implementing it the correct way, people who are experienced in building this kind of environment. You also need to have some changes in management.

Infrastructure – Cloud

Pros:

    • Less management
    • Resiliency and scalability
    • Built-in tools for CI/CD
    • Cost (Opex vs. Capex, pay as you go)

Cons:

    • Connectivity

Infrastructure – On-Premise

Pros:

    • Complete control of infrastructure
    • Complete control of data

Cons:

    • Harder to scale
    • Maintainability
    • OS Licenses

Infrastructure – Hybrid

Pros:

    • Best of both worlds

Cons:

    • Latency
    • Specific hardware to bare metal to match cloud infrastructure
    • Cloud compatibility

Software – Licensed

Pros:

    • Support
    • Larger List of features
    • InfoSec Compliance
    • Highly Scalable

Cons:

    • Cost

Licensed Tools:

    • ThoughtWorks
    • Urban Code
    • Perforce
    • Bamboo
    • GitLab
    • Jenkins

Software – Open-Source

Pros:

    • No License Cost
    • Easy to Jumpstart

Cons:

    • Support
    • Restricted Scalability
    • Non-Enterprise Grade Standard

Open-Source Tools:

    • Jenkins
    • Teamcity
    • GitLab
    • Sonar
    • Ansible

Open-source is more recommendable for starters since it won’t have license cost and it is easier to set up.

Software – Cloud Tools

Pros:

    • Less Management
    • Scalability and Resiliency
    • Fast Development
    • Pay as You Use

Cons:

    • Dependent on Deployment Locations (e.g. On-Premise
    • Network

Cloud Tools:

    • Microsoft Azure
    • GitLab Runner
    • Docker

DevOps as a Culture

How does DevOps affect each individual within your organization?

People

Consultants

    • They will guide your organization in implementing the right tools, the right configurations, and the right strategies for you to be able to successfully implement a DevOps culture within your organization.

Project Team

    • DevOps will make the process more transparent to project managers, making each individual more accountable for what they need to deliver and improve the delivery process.
    • DevOps will make sure that the developers are responsible for their codes from the point that they committed it until the code reaches the production.
    • DevOps will allow QAs to make more tests which secure the improvement and quality of the deliverable.
    • Faster deployments mean faster the end-users can also see the output faster, which will allow the business analysts to get a clearer understanding of the end-users’ perspective.
    • Some of the deployment tasks will be from the infrastructure through DevOps. This will let them focus on more specific tasks like improving the infrastructure, security, network connectivity, compatibility of hardware to software.
    • DevOps will be a new participant in the project team which will serve as the bridge between the developers and the infrastructure team. This person will also be responsible for streamlining the process and making sure that the process will be improved over time.

Management

    • Management – The more efficient the process and people are, the faster it will be to release into production. Work will be done faster. By making your people more effective, the management can minimize their operating costs.
    • Sales & Marketing – It will be easier to sell products since they can be launched earlier in the market. It will also let the business cope up with competitors with a faster process of delivering the product to the customer.
    • Finance – Costs will be down, while sales will be up. Thus, making the company more financially stable.
    • Human Resource – HR can hire employees on a more specific scale to supplement the existing teams.
    • Product Owners – They can see the product in the market and easily compare it to competitors, and easily make adjustments to stay one step ahead.

What Is Our Success Criteria?

    • Improve turnaround time
    • Improve the quality of deployment
    • Automate the deployment process
    • Streamline the process