02. October 2023
Cloud infrastructure and its management: an indispensable feature of the modern digital product
Hosting:Azure / Hetzner / VMware
Type:Server / Mobile apps / Web apps
SCM:SVN / Bitbucket / GitLab
Stack:
Server:Docker / Ansible / Terraform / Harbor / Nexus / AKS / Kubespray / MySQL / Jenkins / Tomcat
Mobile_v1(iOS/Android):Python / Ansible / Jenkins / OTA
Mobile_v2(iOS/Android):Ansible / GitLabCI / OTA
Web apps:Nginx / Ansible / Docker / AKS
Period:2017 - current time
Executive summary
For a long period of time Silk Data partnered with LookUp! On the cloud infrastructure implementation and management project. LookUP! Is a cross-platform solution that help publishers and writers to post their books and articles. There have been 3 main directions: 1) server side, 2) web part and 3) mobile application.
The collaboration allowed to raise company’s flexibility and scalability along with management simplicity.
Why Do You Need Cloud Infrastructure Implementation & Management?
Cloud infrastructure implementation & management is a process of building and managing computer resources such as virtual servers and data warehouses in the special remote servers called ‘clouds’.
There are several reasons why this process is crucial for business:
Scalability: Cloud resources can be scaled up or down as needed. This allows companies to respond quickly to changing workloads and requirements.
Flexibility and adaptability: Cloud infrastructure allows companies to quickly build and test new applications and services without having to purchase and configure new hardware.
Resource savings: The cloud enables optimised resource utilisation, which can save money on hardware and energy costs.
Availability and resilience: Cloud providers typically provide high availability and data backup, which provides resilience for websites and applications.
Security management: Cloud providers invest in data and infrastructure security, which helps protect information from cyber threats and data loss.
Simplify administration: Cloud platforms provide tools to automate and manage resources, making management processes more efficient.
All these features are especially important in the modern world of digital transformation, as the usage of efficient and up-to-date IT resources has become the decisive factor.
Solution 1. Server side
There is a great amount of work that has been done along with improvements and positive changes achieved. Let’s have a closer look:
Done:
Coordination of the upcoming work with the customer: selection of a cloud provider, approximate cost estimation, migration strategy, step-by-step migration plan.
The project was prepared for lift-and-shift migration, including full containerisation of each service. This means that all the information about all the server parts was gathered in the data centre and got ready to transfer.
The project was launched based on virtual machines with gradual migration of some services to Azure Kubernetes Service cluster and use of Azure Database for MySQL service.
Transition to a new type of storage - Azure BLOB-storage. It is a scalable and secure object store for cloud workloads, archives, data lakes, high performance computing and machine learning.
Implemented auto-scaling for some services to optimise costs. The principle of such a system is that all the highest uploads will be automatically tracked, so the company relieved itself from overpaying for unnecessary server capacity.
Implemented Ansible, Terraform, Grafana, Prometheus, Sentry as indispensable DevOps tools for automatizing, monitoring and guaranteeing the infrastructure.
Dynamic Dev environment based on Kubespray.
Jenkins pipeline preparation and fine tuning. A special set of plugins that allows to define the life cycle of product building and delivering.
Migration of code with history preservation from SVN to GitLab . This was necessary to improve the development process, as GitLab offers more opportunities for code collaboration and project management.
Maintenance, support and monitoring of AKS client clusters.
Plans:
Migrate to Helm-charts to simplify the delivery of new versions.
Migrate the entire Dev environment (VMware - Kubespray) to Azure Cloud.
Connect logging system to make it easier to track bugs.
Connect antivirus to make user content downloads more secure.
On-demand Jenkins agents / GitLab runners to optimise CICD costs.
Solution 2. Web part
Working on the second direction also led us to the impressive results:
Done:
Ansible has been implemented.
Containerised web applications for some customers to run in K8s clusters.
Migrated some customers to Let's Encrypt certificates to optimise costs. Let's Encrypt is a free, automated and open certificate authority that provides free SSL/TLS certificates to encrypt server-to-server and client-to-client traffic. By migrating customers to Let's Encrypt certificates, you can reduce the cost of purchasing paid certificates.
Plans:
Abandon Jenkins pipeline in favour of GitLabCI. We believe that it’s about to improve the CI/CD process, as GitLabCI may offer more features or better integration with other tools.
Simplify client customisation management.
Solution 3. Mobile application
Mobile application is a must-have these days, so LookUp! Needed improvements in this sphere as well. That’s our report:
Done:
Ansible was adopted for easier management of client customisations (100+);
Transition from manual local builds to automated builds using Jenkins pipeline(v1) / GitLabCI(v2) and Ansible;
Automatic artifact delivery to customer OTA servers, which means that application or device updates are automatically uploaded to customer servers for further distribution.
Plans:
Automatically upload apps in Google Play / App Store;
Simplified migration of CICD servers to fresh Android SDK versions, which means that the process of updating development tools on continuous integration servers will be easier.
General results
Silk Data provided all its resources and expertise in order to fulfil all the LookUP! wishes and successfully finish the project and all its main directions. All the requirements were met, and the company expectations were even exceeded.
Our cooperation is still not over, as we’ve already mentioned a great number of future plans aimed to further system improvements. We’re happy to announce that LookUP! remains one of our most trusted and precious partners with reach perspectives of further projects.