Quali's cloud sandboxes easily integrate with popular tools like Ansible, Jenkins & JFrog to automate the workflow, increase release velocity & enhance quality.
5. 01
02
03
Venture-funded start-up focused on Cloud
Automation and Orchestration. Managing
$Billions in Infrastructure.
Delivers “Cloud Sandboxes” - Replicas of
production environments delivered as-a-
service.
Strong Innovation DNA – Trusted by customers
Worldwide. Managing millions of Infrastructure
elements
About Quali
5
300+ customers – Cloud providers, Telcos, Enterprises
– across FSI, Retail, Healthcare and Government
~115 employees in USA, Israel and Europe focused on
serving customers worldwide300+
6. New Enterprise Trends Require High Performance IT
“Manage Change Better and Faster”
IoT
200X
Deployment
Frequency
24X
Faster failure
recovery
Lower change
failure rate
Less time on
unplanned and rework
Source: Gartner, Chef, Business Insider, Digital Trends
High Performance IT
22X 3X
34B+ devices
by 2020
Cloud
70% Hybrid clouds
in 2 years
Digitization
77%+ processes
in 5 years
Application
modernization
Containers and
Microservices
DevOps
Self-Service / Continuous Test /
Continuous Delivery
7. 46%
Lack Self-Service Access
33%
> 1 week
Time to
Deliver Infrastructure
Infrastructure Agility
26%
> 1 month
#2
Barrier to
DevOps
Automation
Automation
“Continuous Test”
Application Environment Complexity
68% 70% <23%
App Complexity
Impedes Agility
Want Hybrid
Clouds
Applications on
Hybrid Clouds
*Based on Quali 2016 survey of 2045 respondents
Common Challenges
8. How CI/CD is done today
Fragmentation and Lack of Standardization
Dev Load Security Integration
Staging/
Production
9. A pipeline contains multiple stages.
Each stage maps to a different CI/CD
phase (e.g. performance, security,…)
Before moving from one stage to the
next all the steps in the current stage
need to be passed.
Each Stage is fully customizable and
may have a unique set of relevant
steps. For instance: Smoke Test,
Performance, Security, End to End
Jenkins is a build management
tool. Jenkins Pipeline is a CI/CD
release automation tool.
Multiple Stages
Each Stage Gated
Each Stage Performs a
Specific Function
An Intro to Jenkins
10. The binary or “non-code” output of a
build.
Single access point organizing all
binary resources supporting a variety
of build tools, coding languages and
technologies
Highly scalable, with active-active
redundant architecture and built in
security features.
JFrog Artifactory is a binary
repository tool.
Stores Build Artifacts
Universal Artifact management
Enterprise-ready Repository
An Intro to Artifactory
11. Using simple human readable files
called playbooks executed against
inventories of target servers
Keep managed infrastructure
consistent against the desired state.
Does not require agent running on
nodes. Ansible engine has a small
footprint on the control machine.
Highly scalable.
Ansible is an Open source
Configuration Management and
Automation tool.
Deploy Applications
Configure Applications
Simple Agentless Architecture
An Intro to Ansible
12. An Intro to Quali Cloud Sandboxes
Blueprint Modeling Automation & Orchestration
Blueprint CatalogBuilt-In Networking
REST API
End User Portal
DevOps Plug-Ins
BUILD ANY ENVIRONMENT. DEPLOY AS-A-SERVICE
Bare Metal
TO ANY CLOUD*
ENVIRONMENTFEATURESINTERACE
Applications Data Test Tools
Physical Infra. Virtual Infra. Services
Network Storage
Compute Security
CLOUD SANDBOX
Model and Automate BI and Analytics
13. Positioning of Sandboxes in the CI/CD pipeline
Dev
Quali
Sandboxes
Deploy
Teardown
Deploy
Teardown
Deploy
Teardown
Deploy
Teardown
Deploy
Teardown
18. Summary
1 INCREASED AGILITY
Blueprint Automation within the CI/CD pipeline,
Enable Faster Time-to-Market for digitization
2BETTER VISIBILITY AND CONTROL
Centralized Management of your infrastructure
Blueprints and Applications Artifacts
3 REDUCED RISK
Production-like environment as-a-service with continuous
testing increase quality with better predictability
19. CloudShell Sandbox in the DevOps tool ecosystem
Test framework
Build / Release Automation
Repository
Bug tracking
Monitoring
Data Virtualization
Cloud & ContainersConfiguration
Management
Physical
Infrastructure
21. Future Educational Webinars
Cloud Automation Journey: turning
your Lab into a Service – Feb 7th
2017
Sandboxes and Data Virtualization
Security solution for Cyber
Ranges
Putting together an infrastructure environment for CI/CD is time consuming
Representing and deploying complex application infrastructure is error prone and difficult to troubleshoot
As a result, DevOps/QA team will take short cuts to solve the problem:
Increase Risk of unidentified issues in production
Expose private data in tested applications
Skip test scenarios resulting in poor test coverage
Let’s review how IT engineers attempt to implement the DevOps processes today.
It generally uses a Pipeline mechanism to trigger the deployment and test of the application at different stages (performance and load testing, security, integration).
At a lower level a large number of tools may be invoked, configuration management and automation frameworks such as Chef, Ansible and Puppet, Cloud Infrastructure template such as AWS Cloudformation and Openstack Heat, or container orchestration technologies such as Docker Swarm Mesos or Kubernetes.
These Infra as code solutions can be quite intimidating and error prone if not properly managed. [click annimation]
Besides, the lack of standardization can lead to fragmentation of solutions and complexity, especially for large portfolio of applications.
Finally it still difficult and time consuming to set up complex environment, resulting in delays impacting the agility of the end to end pipeline deployment.
Let’s now review in more details the solutions we will be discussing today.
Jenkins is a popular build management tool. The Jenkins pipeline plugin lets the test engineer define multiple gated stages mapped to different phases of the application release.
Jfrog Artifactory is a market leading repository tool used to store build artifacts in a highly scalable, enterprise-ready solution. it supports a large number of build tools and coding languages.
The Ansible tool is a widely used open source solution to deploy and configure Applications using a lightweight, agentless architecture.
These are the 3 tools that we are going to integrate with.
Let’s review more in details the Cloud Sandbox.
A Cloud Sandbox defines the environment an application tester will use to validate a specific use case. It includes the physical and virtual infrastructure, application workload, data, test tools and services.
What does it take to create a Sandbox: a designer or architect will model a blueprint interface, and attach automation and orchestration resources. The system includes out of the box networking for L1 through 3. Once a blueprint has been created it can be published to a catalog and deployed to the cloud of your choice [vcenter, openstack, azure and AWS are all supported out of the box].
Another important aspect is the added governance and control from the creation of blueprints to their activation into sandboxes.
Finally, blueprints can be activated through a RESTful API or accessed through an end user self service portal.
Let’s now look at the end to end solution combining the power of Jenkins, Artifactory, Ansible and Quali Sandboxes.
We use the Jenkins pipeline to manage the phases and gating definition of the CI process.
Map a different blueprint as you move through the various stages using our API . Key value is the time it takes to define the environment. Solve the problem of fragmentation by offering a layer on top. Blueprints lead to Standardization and repeatability. Each Jenkins job will also run a suite of test based on the phase definition.
Deploy and teardown a sandbox at each stage
We don’t replace the orchestration tools previously mentioned, we provide tight integration with them.
Sandbox may be deployed on the cloud of your choice, supporting Hybrid cloud deployment options
Application build is retrieved from the Artifactory repository
then automatically deployed using Ansible
We will now dive into the details of the architecture of this solution.
The Jenkins tools is typically deployed in a centrally distributed Master Slave configuration, where the Slave execute the job tied to the pipeline.
For each phase the Jenkins job calls the CloudShell web services deployed on the CloudShell web server front end using REST to create the Sandbox.
The Quali Application server then calls the CloudShell execution server to deploy the virtual machine and application.
It retrieves the build from Jfrog using web services. Finally, using an Ansible playbook from the management node, the application is installed on the target server.
Let’s look at how the Jenkins integration works.
A developer makes a code change in Git. It then triggers a build in Jenkins. Once the Build is done, the Test HA phase of the pipeline will run. We use pipeline steps in the Jenkins script “Create a sandbox” using the Quali jenkins integration to active the HA Sandbox in CloudShell. The Jenkins job will run test on that sandbox and upon successful completion will delete the Sandbox and move on to the next phase. In this phase related to performance testing, the plugin will trigger the deployment of the Performance Sandbox in CloudShell and run performance testing against that infrastructure, then terminate that Sandbox as well once the test has passed.
Let’s now zoom into a Sandbox and look at the application deployment flow.
As part of our previous example, let’s consider the deployment of the web server component of the sandbox.
As a first step CloudShell will deploy the host VM on the Cloud Infrastructure of choice, for example Vcenter.
Next CloudShell orchestration will retrieve the build package from the Jfrog Artifactory repo and copy it over to the target VM. In this case an Apache Web server package.
Finally, the Application is installed on the VM using an Ansible playbook activated by the CloudShell automation.
We’ll now move on to the demo:
The integration between Quali, Jfrog, Jenkins and Ansible provides an extensible end to end automation solution to deploy and test complex applications as part of the CI/CD process
This unique combination adds the values of word class solutions for enterprises that need to speed up their application deployments using devOps best practices