CONTINUOUS INTEGRATION & CONTINUOUS DELIVERY
What is Continuous Integration?
In software development there are countless ways of organizing work, according to different technologies, workgroups, projects, etc. Continuous Integration (CI) is a practice that increases the effectiveness and efficiency of the results of a team of developers.
It consists of combining changes made in the project’s code in a central repository periodically, then run tests and detect and repair errors as soon as possible.
This mechanism allows to improve the quality of the software, to deliver progress to the client more frequently and to add participants to the development team, who do not necessarily know the whole project in depth.
Continuous Delivery and Automation
As a complement to Continuous Integration, Continuous Delivery (CD) is designed to facilitate the publication of the combined code in each iteration and to deploy it in a test environment with the same characteristics as production – automatically and without technical assistance.
This delivery process automation involves the integration of execution systems, cloud services, software repositories and communication systems for controlling the different stages and states.
Digital Products Development Model #DevOps
In conclusion, this development methodology (DevOps) based on continuous integration and continuous delivery of changes in the software, allows developers to be focused specifically only on developing and can deploy their code automatically in minutes.
It involves a change in the team’s culture and has clear and tangible advantages that touch different levels of the organization.
Increases the effectiveness and focus of the digital development team.
Reduces costs and time dedication of the IT team.
Substantially improves the customer’s time-to-market (TTM).
Increases the final quality of the code because reduces the number of errors and deviations.
We help companies to adopt Continuous Delivery.
At the end of the journey,
your digital business will be delivering high-quality software, fast.
We designed two alternatives with different ecosystems that offer similar scopes, each with a different approach.
Managed: based on the use of external microservices such as GitHub, Circle CI, Drone, etc. and the implementation of Kubernetes as a service from your cloud provider.
WHAT IS IT THAT WE DO?
We enable digital development teams to adopt high-speed delivery.
Managed Kubernetes & Agnostic cloud
Mantaining your own Kubernetes cluster implicates countless hours that causes dev teams to loose project focus. We guarantee that your Kubernetes cluster is highly-available, infrastructure agnostic and seamlessly integrated to your Continuous Integration & Delivery workflow.
– Kubernetes version and Security OS updates.
– Ongoing management of your Cloud infrastructure.
– Horizontal and Vertical scale management.
– Kubernetes garbage collector periodic clean-up.
Centralized YAML Configuration Management
Having a central version control repository with configuration files helps you control your clustered applications easily and in an auditable way.
– GitLab, GitHub, Bitbucket or any Git repository management.
– Integration and Delivery pipeline configuration on GitLab Runner, CircleCI, Drone or Travis.
– Support for adopting Software Development LifeCycle.
We use Let’s Encrypt as the new Certificate Authority (CA) that offers FREE SSL certificates that are just as secure as paid certificates.
– CertBot integration with Kubernetes Ingress
– Automatic SSL renewal process without any service downtime
Continuous Integration & Delivery
Your custom named environments are flexible and you can modify your pipeline at any time, adding or subtracting steps in the development process effortlessly.
– Git repository management with build environments supporting up to 5 concurrent builds
– Docker registry tightly integrated with your microservice ecosystem
– Continuous Build, Incremental testing and Automated release management
Backup & Restore
We store incremental databases and public multimedia files for all your applications and restore them in the event of system failure.
– Scheduled daily backups.
– Week and monthly data retention.
– Restore routines ensuring full recovery of the entire micro-service ecosystem.
Monitoring & Alerts
We use real-time monitoring tools to gather your cloud metrics and trigger alerts to our DevOps engineers so we can have proactive response.
– 24×7 site monitoring uptime checks. Availability and response times of your application’s public domains.
– 24×7 VPS Resources Real-Time Monitoring (RTM). We monitor your nodes gathering information on CPU (Central Processing Unit), RAM (Random Access Memory), Storage and Network traffic.
– Notifications are sent via Slack/HipChat/RocketChat/Mattermost and e-mail.