Application Release Automation Tools

Total Page:16

File Type:pdf, Size:1020Kb

Application Release Automation Tools For: Infrastructure Market Overview: Application Release & Operations Professionals Automation Tools by Amy DeMartine, January 29, 2015 KEY TAKEAWAYS Unleash Your Ability To Release Software That Your Company Depends On Software is enabling enterprises to create products and processes to win, serve, and retain customers, and thus you must release software rapidly and continuously. ARA tools model, package, and deploy application releases and their associated configurations as the business technology solution progresses through the life cycle. Software-Powered Businesses Need Your Speed, Confidence, And Reliability ARA tools give you control over how you create and deploy environments and how and when to deploy releases. The management of consistent environments is critical to ensuring that what you develop and test is the same as what you deliver to customers in your production environment. This control, coupled with automation, gives you the ability to release software quickly and reliably. Enable Control And Support Frequency Of Software Releases For Your BT Agenda The ability to release software confidently and automatically into different environments is a key part of the software development life cycle. By automating and integrating this function, ARA tools can increase the flow of the overall life cycle while ensuring the reliability of these releases. Forrester Research, Inc., 60 Acorn Park Drive, Cambridge, MA 02140 USA Tel: +1 617.613.6000 | Fax: +1 617.613.5000 | www.forrester.com FOR INFRASTRUCTURE & OPERATIONS PROFESSIONALS JANUARY 29, 2015 Market Overview: Application Release Automation Tools Unleash Your Agility With Release Automation For Better Business Results by Amy DeMartine with Kurt Bittner, Glenn O’Donnell, Eveline Oehrlich, and Michelle Mai WHY READ THIS REport Releasing software packages between environments such as development (dev), test, and production (prod) is a necessary part of the modern delivery life cycle. Application release automation (ARA) tools help firms release software consistently and in an automated fashion to these different environments as a key part of getting business technology solutions to end customers. Various levels of abstraction exist in ARA tools to define models of the hardware and software required by the business technology solutions, giving you the flexibility to deploy the software packages on-premises and in various cloud instantiations. These levels of abstraction, along with key integrations with other tools in the modern service delivery life cycle, complicate the decision factors for choosing the right ARA solution for your needs. Potential clients of ARA tools need to look for vendors that can automate modeling, packaging, and deployment of application releases and their associated configurations and that have built-in connections with existing modern service delivery tools. Table Of Contents Notes & Resources 2 Break Your Operational Paradox Of The Pre- Forrester interviewed 12 vendor and user Digital Age With ARA Tools companies: Attunity, Automic Software, BMC Software, CA Technologies, Electric Cloud, 4 Begone Those Dreaded Scripts! HP, IBM, Inedo, Octopus, Serena Software, 5 The Key Criteria That Make Up Leading ARA XebiaLabs, and Zend Technologies. Tools 8 The ARA Landscape Offers Varied Support Related Research Documents Of Requirements What Makes Modern Service Delivery Modern? RECOMMENDATIONS December 3, 2014 15 Choose A Vendor That Makes Modern Service Delivery Real Gear Up For Modern Service Delivery December 3, 2014 16 Supplemental Material Seven Habits Of Highly Effective DevOps October 2, 2014 © 2015, Forrester Research, Inc. All rights reserved. Unauthorized reproduction is strictly prohibited. Information is based on best available resources. Opinions reflect judgment at the time and are subject to change. Forrester®, Technographics®, Forrester Wave, RoleView, TechRadar, and Total Economic Impact are trademarks of Forrester Research, Inc. All other trademarks are the property of their respective companies. To purchase reprints of this document, please email [email protected]. For additional information, go to www.forrester.com. FOR INFRASTRUCTURE & OPERATIONS PROFESSIONALS Market Overview: Application Release Automation Tools 2 BREAK YOUR OPERATIONAL PARADOX OF THE PRE-DIGITAL AGE WITH ARA TOOLS In the pre-digital age, we made choices between speed, quality, and cost: to achieve two of these goals, we had to sacrifice one. In the digital age, customers use digital devices and expect digital services that they will get either from you or your competitors.1 By using automation and changing the way we develop and release digital services into smaller and faster releases, we can achieve speed, quality, and cost objectives at the same time.2 The role of tools in the modern service delivery life cycle is to automate processes to increase the quality and speed of delivery of business technology solutions while reducing cost. ARA tools are converging workload automation and release management tools, as they create release packages of business technology solutions that then are moved between different phased environments, such as dev, test, and prod. This sounds deceptively simple. However, the devil is in the details, and you must first understand the full stack, from infrastructure to your application, and decide how much of the stack you will govern to understand which features of ARA tools you require. ARA Tools Create Release Packages On the surface, creating release packages sounds simple. ARA tools model and package software code to be released on a specific set of hardware. However, these packages are deceptive. How much governance you are able to exert over your release package depends on how you create your model. Your model can: ■ Support modular design of the application. The business technology software may be created in a modular fashion and may therefore have a design to make parts of the software reusable and to hide complexity.3 Therefore, you must decide on what software to include, where to get it from, what order to install it in, and any dependencies you need to create a complete application model. ■ Define configuration. You can model configurations to show how the application, the middleware, or the infrastructure must be modified from their out-of-the box state to function properly. For example, any modifications to the OS or web servers fall into this category. These configurations can also define the login password and location of any systems of record that need to be integrated into the configuration. ■ Manifest middleware. Many applications require middleware. Middleware software packages also have release versions. Applications can depend on certain features or bug fixes of a particular release version of middleware. Pairing a version of the application to the right versions of middleware ensures that you have the right building blocks for the application. ■ Model infrastructure. The underlying infrastructure can also have a modular design. Modeling what the infrastructure contains can be as simple as the system the application runs on to the entire ecosystem of infrastructure, including the network, integrations to be modeled by service virtualization tools, and systems of record. © 2015, Forrester Research, Inc. Reproduction Prohibited January 29, 2015 FOR INFRASTRUCTURE & OPERATIONS PROFESSIONALS Market Overview: Application Release Automation Tools 3 Release packages can contain a combination of these components but must include a model for the application itself. The most basic release package model would include a bill of materials of the different prebuilt software components and the order in which to install them. The more you put into your model, the more you can understand the scope of what is required to run your business technology solution. In this case, your model is like the graphics resolution of a TV: the more detail, the higher the resolution. When you pair a version of the application model with the configuration, middleware, or infrastructure model, you have defined a version of the release package (see Figure 1). You can then make changes to any of these components to make the next version of the release package. Figure 1 Release Packages Are A Manifest In A Snapshot Of Time Sample release package Application version A.1 model Conguration model Middleware model Infrastructure conguration model 119004 Source: Forrester Research, Inc. Unauthorized reproduction or distribution prohibited. © 2015, Forrester Research, Inc. Reproduction Prohibited January 29, 2015 FOR INFRASTRUCTURE & OPERATIONS PROFESSIONALS Market Overview: Application Release Automation Tools 4 ARA Tools Move Release Packages Between Phased Environments As a version of the business technology solution moves through the life cycle, it typically starts in the dev environment, moves to the test environment, and then into the prod environment. Using continuous development techniques, versions can be in various stages of the life cycle at the same time (see Figure 2). Once you’ve defined a release package, you can deploy it on-premises or on any variation of cloud platform. You can create dev and test environments at will using these release packages. Figure 2 ARA Tools Create Release Packages And Move Them To Support The Life Cycle Various Various Version Version Version Version Version D B and C B.2 B.1 A.3 A.2 A.1 versions versions Development Test Production environments environments environment 119004 Source: Forrester Research,
Recommended publications
  • Magic Quadrant for Application Release Automation
    Magic Quadrant for Application Release Automation Published: 27 September 2017 ID: G00315074 Analyst(s): Colin Fletcher, Laurie F. Wurster The ARA market is rapidly evolving in response to growing enterprise requirements to both scale DevOps initiatives and improve release management agility across multiple cultures, processes and generations of technology. This research helps I&O leaders make better-informed decisions. Strategic Planning Assumption By 2020, 50% of global enterprises will have implemented at least one application release automation solution, up from less than 15% today. Market Definition/Description Application release automation (ARA) tools provide a combination of automation, environment modeling and release coordination capabilities to simultaneously improve the quality and the velocity of application releases. ARA tools enable best practices in moving application-related artifacts, applications, configurations and even data together across the application life cycle process. These tools are a key part of enabling the DevOps goal of achieving continuous delivery with large numbers of rapid, small releases. Approximately seven years old, the ARA solution market reached an estimated $228.2 million in 2016, up 31.4% from $173.6 million in 2015. The market is continues to be expected to grow at an estimated 20% compound annual growth rate (CAGR) through 2020. Magic Quadrant Figure 1. Magic Quadrant for Application Release Automation Source: Gartner (September 2017) Vendor Strengths and Cautions Arcad Software Founded in 1992, Arcad Software is a privately held company headquartered in Chavanod, France. The company was started by its founder to deliver automation-oriented solutions supporting the Page 2 of 28 Gartner, Inc. | G00315074 IBM i (introduced as AS/400, then later renamed eServer iSeries) platform.
    [Show full text]
  • Aplikacja Teamcity Laboratorium 2017 T
    Aplikacja TeamCity laboratorium 2017 T. Goluch 1. Wstęp Aplikacja TeamCity należy do grupy aplikacji ciągłej integracji (Continuous Integration). Ciągła integracja to praktyka programistyczna, która polega na częstym (ciągłym) budowaniu i testowaniu (integrowaniu) wytwarzanego oprogramowania za pomocą odpowiednich narzędzi. Cykl wytwarzania oprogramowania przedstawiony jest poniżej. Trigger (by change) Report Compile Test/Analyse Deploy Trigger – wyzwalacz, który rozpoczyna proces integracji; najczęściej stosowanym wyzwalaczem jest przesłanie kodu źródłowego do systemu kontroli wersji (source control system); Compile/Build – pierwszym krokiem jest zbudowanie aplikacji z kodu źródłowego; na tym etapie wykrywane są błędy w strukturze kodu, można również ustawić dodatkowe opcje kompilacji (w środowisku developerskim wyłączone ze względu np. na wydłużenie czasu kompilacji), które wyświetlają dodatkowe informacje, jak np. błędy w widokach; Deploy – następnym krokiem jest publikacja aplikacji na środowisko testów (dla aplikacji webowej jest to serwer np. IIS); Test/Analyse – najważniejszym krokiem jest uruchomienie testów oraz różnych aplikacji analizujących kod, np. pod kątem zgodności z przyjętymi standardami, i/lub pokrycie testami; Report – ostatnim krokiem jest stworzenie raportu z przebiegu całego procesu; w przypadku, kiedy nie zostały spełnione postawione warunki, informacja o błędzie przesyłana jest, np. za pomocą wiadomości e-mail, do odpowiednich osób. Aplikacja TeamCity posiada mechanizmy umożliwiające wykonanie wszystkich wymienionych kroków. Podstawową cechą TeamCity jest duży stopień niezależności od platformy. Sam serwer jest to aplikacja internetowa działająca w ramach kontenera serwletu JEE. Może być uruchamiana na wszystkich najnowszych wersjach systemu Windows, Linux i Mac OS X. Wspiera wiele języków programowania (m.in. Java, C#, PHP, Ruby, C, C++) oraz różnych narzędzi służących do publikowania aplikacji (m.in. Ant, NAnt, Rake, MSBuild, MSDeploy). Umożliwia również działanie w systemie pre-commit.
    [Show full text]
  • Bitbucket Pull Request to Teamcity
    Bitbucket Pull Request To Teamcity Jerold yawl his biometrician ripes uncleanly or segmentally after Mackenzie importune and anthologises deep, downstate and center. Sopping and well-coupled Johnny mountaineer so phlegmatically that Evelyn frills his Marlene. Chariot metes itinerantly? Make caution your build is rub and outlook does what it probably do: then the latest code and building this solution. Hi, how can copper help you? One on they update this fell by keeping their tools open to integration with other tools. Pull Requests and last Commit Status Publisher build features. You can also see release the build has passed. Earlier comment mention that setting teamcity. Compared to suggest general guide and had exactly the hurt, the new documentation provides more details and offers better navigation between sections. Create on canvas element for testing native browser support of emoji. Easily configure your CI chain to automatically analyze pull requests and branches. GUI to dispel more examples. Just food that GUID and paste it here. Is liable an adjective describing a filter with kernel also has zero mean? The release definition should this run at least once means the PR trigger switched on particular order why get the status. Finding code issues is great. Using different repos is an interesting idea. Bitbucket and get information about status of builds. Detects all pull requests. PR as comments like this. Suggestions cannot be applied while the pull that is closed. Bitbucket Cloud Pull Requests. What fix I important to disable this hate the future? Teamcity github 2fa Yoga Prasad. Get actionable metrics for everything business.
    [Show full text]
  • CI-CD-For-Infrastructure-Configuration
    Abstract & Overview Organizations of all sizes, from the leanest startup to the stodgiest enterprise, use CI/CD practices to greatly improve production and delivery of software. This yields higher- quality software at a lower cost and allows businesses to deliver ideas to market faster. As development teams adopt CI/CD practices, they start delivering new applications and releases faster and faster. This constantly changing software inevitably requires changes to infrastructure and configuration, but many operations teams aren’t accustomed to the pace—nor do they have the proper tools required. Trying to directly apply successful CI/CD practices for applications is highly unlikely to yield success for infrastructure and configuration changes. In this guide, we explore: • How and why CI/CD has been so successful for application changes • Infrastructure and configuration changes as a new bottleneck • Challenges with CI/CD for infrastructure and configuration changes • How to overcome challenges and implement CI/CD for infrastructure We include a hands-on guide for how to implement this with BuildMaster and Otter. You can do everything in this guide with BuildMaster Free and Otter Free editions! About Inedo, Otter, and BuildMaster We help organizations make the most of their Windows technology and infrastructure through our Windows-native and cross-platform DevOps tools. • BuildMaster, a tool designed to implement CI/CD, automates application releases. • Otter manages infrastructure. Harnessing the power of both tools allows users to manage infrastructure while enjoying all the benefits of CI/CD. Page 1 of 31 Page 2 of 31 Contents CI/CD for Applications: A Quick Refresher ................................................................................................................................................. 4 Pipelines: The Heart of CI/CD ....................................................................................................................................................................
    [Show full text]
  • Teamcity 7.1 Documentation.Pdf
    1. TeamCity Documentation . 4 1.1 What's New in TeamCity 7.1 . 5 1.2 What's New in TeamCity 7.0 . 14 1.3 Getting Started . 26 1.4 Concepts . 30 1.4.1 Agent Home Directory . 31 1.4.2 Agent Requirements . 32 1.4.3 Agent Work Directory . 32 1.4.4 Authentication Scheme . 33 1.4.5 Build Agent . 33 1.4.6 Build Artifact . 34 1.4.7 Build Chain . 35 1.4.8 Build Checkout Directory . 36 1.4.9 Build Configuration . 37 1.4.10 Build Configuration Template . 38 1.4.11 Build Grid . 39 1.4.12 Build History . 40 1.4.13 Build Log . 40 1.4.14 Build Number . 40 1.4.15 Build Queue . 40 1.4.16 Build Runner . 41 1.4.17 Build State . 41 1.4.18 Build Tag . 42 1.4.19 Build Working Directory . 43 1.4.20 Change . 43 1.4.21 Change State . 43 1.4.22 Clean Checkout . 44 1.4.23 Clean-Up . 45 1.4.24 Code Coverage . 46 1.4.25 Code Duplicates . 47 1.4.26 Code Inspection . 47 1.4.27 Continuous Integration . 47 1.4.28 Dependent Build . 47 1.4.29 Difference Viewer . 49 1.4.30 Guest User . 50 1.4.31 History Build . 51 1.4.32 Notifier . 51 1.4.33 Personal Build . 52 1.4.34 Pinned Build . 52 1.4.35 Pre-Tested (Delayed) Commit . 52 1.4.36 Project . 53 1.4.37 Remote Run . ..
    [Show full text]
  • Synechron Technology
    Technology Practice overview www.synechron.com Unlike other firms, Synechron’s excellence - to drive transformative Our Value “Power of 3” approach and solutions. We have the unique ability proposition financial services expertise gives to provide an end-to-end approach, About Synechron us a competitive edge to tackle our from business consulting through clients’ problems from any vantage technical development to digital A unique approach to market point with great depth. Synechron enhancement. This empowers us combines the “Power of 3” - business to deliver solutions to some of the differentiation in the financial Accelerating Digital for process knowledge, digital design toughest business challenges. services domain and core technology delivery Banks, Asset Managers, and Insurance companies. Synechron is a leading Digital Consulting firm and is working to Accelerate Digital initiatives for banks, asset managers, and insurance Technology Digital companies around the world. • Technology Consulting • Experience Design We achieve this by providing our clients with innovative solutions • Application Development • Deployment and DevOps that solve their most complex business challenges and combining • Automation • Emerging Technology Synechron’s unique, end-to-end Digital, Business Consulting, and • Enterprise Architecture & Cloud Frameworks Technology services. Based in New York, the company has 18 offices • Quality Assurance • Blockchain COE around the globe, with over 8,000 employees producing over $500M+ • Systems Integration • AI Automation
    [Show full text]
  • Continuous Delivery
    DZONE RESEARCH PRESENTS 2014 GUIDE TO CONTINUOUS DELIVERY BROUGHT TO YOU IN PARTNERSHIP WITH dzone.com/research/continuousdelivery © DZONE, INC. 2014 WELCOME TABLE OF CONTENTS Dear Reader, SUMMARY & HIGHLIGHTS 3 In recent years, we have grown accustomed to a KEY RESEARCH FINDINGS 4 constant stream of information that has fueled our news feeds, flooded our inboxes, and triggered INTRODUCING: CONTINUOUS DELIVERY constant notifications... and in all of the noise, BY STEVE SMITH 6 something has been lost. Clarity, concision, and relevance have become innocent bystanders in an CONTINUOUS DELIVERY PITFALLS age of information overload. While it is true the BY J. PauL REED 10 task of gathering information has become easier, finding the right information, when and where you THE CONTINUOUS DELIVERY need it, has become increasingly complex and, at TOOLCHAIN times, overwhelming. BY MattHEW SKELtoN 14 The guide you hold in your hands (or on your CONTINUOUS DELIVERY VISUALIZED 16 device) is a vital part of DZone’s fight against this growing trend. We recognize that as a technology INFRASTRUCTURE AS CODE: WHEN professional, having actionable knowledge at AUTOMATION ISN’t ENOUGH 22 your fingertips is a necessity. Your business BY MitcH PRONSCHINSKE challenges will not be put on hold while you try to identify the right questions to ask and sort CONTINUOUS DELIVERY MATURITY CHECKLIST 24 through endless information. In publishing our 2014 Guide to Continuous Delivery, we have worked SOLUTION DIRECTORY 25 hard to curate and aggregate a wealth of useful topic knowledge and insight into a concise and informative publication. While this is only our second publication of this CREDITS nature, we have come a long way so far and we have big plans for the future.
    [Show full text]
  • Azure Devops Server (TFS) / Azure Devops Services Plugin
    ApexSQL Azure DevOps toolkit - Azure DevOps Server (TFS) / Azure DevOps Services plugin Version 2018.x Release Notes and Requirements System requirements ApexSQL DevOps toolkit Hardware Dual Core 2.0 GHz CPU 4 GB memory SQL Server SQL Server 2005 and higher [1] OS Windows 7 SP1/Windows Server 2008 R2 SP1 and higher [1] Software .NET Framework 4.7.2 or higher ApexSQL Build 2018 R4 [3] ApexSQL Data Diff 2018 R6 [3] ApexSQL Diff 2018 R5 [3] ApexSQL Doc 2018 R4 [3] ApexSQL Enforce 2018 R6 [3] ApexSQL Generate 2018 R4 [3] ApexSQL Mask 2019 R2 [3] ApexSQL Script 2018 R4 [3] ApexSQL Trigger 2018 R3 [3] ApexSQL Unit Test 2018 R4 [3] Note The number of ApexSQL tools required is based on how extensive a CI/CD workflow pipeline is and how many steps it includes Source control integration available for Azure DevOps [4], Git [5], Mercurial [5], Subversion [5] and Perforce [5] Permissions and Windows user account with administrative privileges additional requirements See Minimum permissions required to install and use ApexSQL products See Minimum SQL Server permissions for ApexSQL Developer tools See Remote access for SQL Server instance See How to setup image based database provisioning Azure DevOps Server (TFS) / Azure DevOps Services plug-in Hardware 214 KB disk space Software TFS 2015 Update 2 or higher, Azure DevOps Services Bamboo plug-in Hardware 1.65 MB disk space Software Atlassian Bamboo 6.6.3 or higher Jenkins plugin Hardware 5.8 MB disk space Software Jenkins 2.138 or higher Octopus Deploy step templates Hardware 32 KB disk space Software
    [Show full text]
  • Apexsql Devops Toolkit – Teamcity Plugin
    ApexSQL DevOps toolkit – TeamCity plugin Version 2019.x Release Notes and Requirements System requirements ApexSQL DevOps toolkit Hardware Dual Core 2.0 GHz CPU 4 GB memory SQL Server SQL Server 2005 and higher [1] OS Windows 7 SP1/Windows Server 2008 R2 SP1 and higher [1] Software .NET Framework 4.7.2 or higher ApexSQL Build 2018 R5 [3] ApexSQL Data Diff 2018 R7 [3] ApexSQL Diff 2018 R5 [3] ApexSQL Doc 2018 R6 [3] ApexSQL Enforce 2018 R7 [3] ApexSQL Generate 2019 [3] ApexSQL Mask 2019 R3 [3] ApexSQL Refactor 2018 R8 [3] ApexSQL Script 2018 R4 [3] ApexSQL Trigger 2018 R3 [3] ApexSQL Unit Test 2018 R4 [3] Note The number of ApexSQL tools required is based on how extensive a CI/CD workflow pipeline is and how many steps it includes Source control integration available for Azure DevOps [4], Git [5], Mercurial [5], Subversion [5] and Perforce [5] Permissions and Windows user account with administrative privileges additional See Minimum permissions required to install and use ApexSQL requirements products See Minimum SQL Server permissions for ApexSQL Developer tools See Remote access for SQL Server instance See How to setup image based database provisioning TeamCity plug-in Hardware 16.3 MB disk space Software TeamCity 10.0 or higher Web dashboard Hardware 164 MB disk space Software Internet Explorer 11 or higher Edge build 14393 or higher Chrome 50 or higher Mozilla Firefox 50 or higher Opera 40 or higher Port TCP port 5019 (http) and 4443 (https) on ApexSQL DevOps toolkit - Web Dashboard web server (configurable) [1] See Supported systems
    [Show full text]
  • Key Facts Key Benefits Key Features Continuous Integration for Everybody
    7.0 Continuous Integration for Everybody “Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily — leading to multiple integrations per day. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.” Martin Fowler Key Facts “So the reason I made the TeamCity is a userfriendly continuous integration (CI) server for switch is because of the professional developers and build engineers. It is trivial to setup and time it take to set it up: 20 absolutely free for small teams. minutes. Everything was fully functional in under 20 minutes. I absolutely got no Key Benefits error at all. I just got through all the step of the wizard and • Automate code analyzing, compiling, and testing processes, with having then: done. Unit testing, code instant feedback on build progress, problems and test failures, all in simple, coverage, build, reports, etc... intuitive webinterface; And it’s absolutely free for • Run multiple builds and tests under different configurations and platforms small team.” simultaneously; Sebastien Lachance, Software Developer at • Make sure your team sustains an uninterrupted workflow with the help of BXSYSTEMS Pretested commits and Personal builds; • Have build history insight with customizable statistics on build duration, “Teamcity is totally awesome, success rate, code quality and custom metrics; after i got the grails project • Enable
    [Show full text]
  • TCD65-141111-2205-6028.Pdf
    1. TeamCity Documentation . 3 1.1 TeamCityReference . 4 1.1.1 What's New in TeamCity 6.5 . 4 1.1.2 Getting Started . 10 1.1.3 Concepts . 14 1.1.3.1 Agent Home Directory . 15 1.1.3.2 Agent Requirements . 16 1.1.3.3 Agent Work Directory . 16 1.1.3.4 Authentication Scheme . 16 1.1.3.5 Build Agent . 17 1.1.3.6 Build Artifact . 18 1.1.3.7 Build Chain . 18 1.1.3.8 Build Checkout Directory . 19 1.1.3.9 Build Configuration . 20 1.1.3.10 Build Configuration Template . 21 1.1.3.11 Build Grid . 22 1.1.3.12 Build History . 22 1.1.3.13 Build Log . 23 1.1.3.14 Build Number . 23 1.1.3.15 Build Queue . 23 1.1.3.16 Build Runner . 24 1.1.3.17 Build State . 24 1.1.3.18 Build Tag . 25 1.1.3.19 Build Working Directory . 25 1.1.3.20 Change . 26 1.1.3.21 Change State . 26 1.1.3.22 Clean Checkout . 27 1.1.3.23 Clean-Up . 28 1.1.3.24 Code Coverage . 28 1.1.3.25 Code Duplicates . 29 1.1.3.26 Code Inspection . 29 1.1.3.27 Continuous Integration . 29 1.1.3.28 Dependent Build . 30 1.1.3.29 Difference Viewer . 31 1.1.3.30 Guest User . 32 1.1.3.31 History Build . 32 1.1.3.32 Notifier . 33 1.1.3.33 Personal Build .
    [Show full text]
  • Aliakber Saifee
    MMXXI Ali­Akber Saifee [email protected] “Turn up the signal. Wipe out the noise. Send out the signals, deep and loud.” ­ Peter Gabriel Nutshell 15 years • Developing and designing Python applications & libraries • Developing test automation solutions. • Working in culturally & geographically diverse environments and teams. 10 years • Designing and maintaining software configuration management systems. • Leading development and quality assurance teams to build, deploy and release backend, web & mobile applica­ tions. 4 years • Developing C++ applications & libraries. 3 years • Developing and maintaining Java server applications. • Building Ruby/Ruby on Rails applications. Professional Experience • Reddit, Burnaby, Canada Senior Software Engineer November 2020 ­ Current Backend application development for the Trust & Safety – Performance optimization of comments API – Extraction of reporting functionality into an isolated service exposed to the clients through GraphQL – Built i18n support for the reporting sub­system – Worked on automated classification of spam content – Worked on solutions for detection & filtering of harassment and toxic messaging • Toptal, Remote Team Lead / Backend Software Engineer September 2017 ­ May 2019 Participated and led the development of internal tools and APIs for community & talent acquisition features. – Implemented GraphQL API for mobile & web clients – Implemented bot functionality to interact with customers over Slack. – Optimized unit & integration tests to reduce time spent in continuous integration.
    [Show full text]