Container technology provides a standardized delivery method, packaging application code and code environment dependencies together into an environment-independent deliverable that can be used at any stage of the software lifecycle, revolutionizing traditional software delivery methods.
And, so to speak, even after the container technology, operational key problems such as the conversation, CI/CD have a qualitative leap, realize the dynamic creation and destruction of resources, more lightweight container technology environment can be ensured consistency can also further improve the iterative frequency, various container platform can better ensure application highly available, automatic telescopic, continuous business and so on.
Today I will share with you ACR, the container mirror repository that supports Double Eleven, and how it is implemented with IDE plug-ins and CICD/ cloud native application delivery chain to achieve one-click deployment and continuous integration. The following is the outline of this article:
-
What is the
Container image repository ACR -
How to match
Free IDE plug-insImplement one-click deployment -
How to use CICD/ Cloud native application delivery chain to achieve continuous integration and delivery
Want to listen to the online explanation of soft and cute sounds? Ali Cloud little sister live, hand in hand to teach you, December 5 at 8-9 PM, the studio waiting for you (there are bullet screen shots to send gifts!)
Container image repository ACR
In order to better support the mass distribution requirements of Double 11, the Alibaba Cloud Container Registery (ACR) team planned and updated iterations in advance, comprehensively improving the performance, observability and stability of mass distribution scenarios. Before the advent of the new Double 11, container mirror warehouse has reached several PB of image hosting volume, the monthly average image pull reached hundreds of millions of times, smooth through 544,000 transactions peak.
Ali cloud image warehouse ACR is divided into default instance version and enterprise version, although the combination of Ali cloud products to do multi-dimensional optimization, but not forced binding with Ali cloud. The default instance page of ACR provides container developers with secure image hosting and convenient image authorization functions, which facilitates users to manage the whole life cycle of images. Moreover, it simplifies the establishment and operation of Registry and supports image hosting in 20 regions around the world. ACR enterprise layout provides large-scale image distribution capability, enterprise security exclusive features, and cloud native application delivery chain for enterprise customers with high security requirements and large-scale deployment in multiple regions. It can realize automatic delivery of one application change and multiple scenarios, and the whole link can be observed, tracked, and set.
-
Official link address
How to achieve one-click deployment with free IDE plug-ins
Cloud Toolkit is a free local IDE plug-in that has been reviewed by many tech blogs and is a well-received plug-in. It helps developers develop, test, diagnose, and deploy applications more efficiently. After setting up the initial configuration of the plug-in, local applications can be deployed to any server Host with one click, even to the cloud (ECS, ACR, Kubernetes, small program cloud, etc.). Arthas diagnostics, Dubbo tools, Terminal, file uploads, function calculations and MySQL executators are built in to reduce the time required to switch work interfaces. Here’s how the plug-in can deploy an application to the container mirroring repository ACR with one click.
-
Official Download address
Each time a developer’s deployment package goes from mirroring to mirroring, manually, it goes through the following four steps: Log in to Aliccloud Docker Registr–> pull the image from Registry –> push the image to Registry –> select the appropriate image warehouse address, but using Cloud Toolkit, Developers can implement local IDE deployment to the mirror repository with one click.
(a) Configure plug-in preferences
After installing the plug-in, click: Tools –> Alibaba Cloud Toolkit–> Preferences–> Alibaba Cloud Toolkit–> Accounts on the left side of the list, the following interface appears, configure the AK and SK of Ali Cloud account, The preference configuration is complete.
(2) Set up local Docker image packaging
Click on the top menu Tools > Alibaba Cloud Toolkit > Preferences –> Alibaba Cloud Toolkit on the left side of the list –> Docker, as shown below, set up the local Docker image package.
(3) Deploy applications
Step 1: In Intellij IDEA, click on the top menu Tools –> Alibaba Cloud –>Deploy to ACR/ACK –>Deploy to ACR.
Step 2: Set the Image
-
In the Image TAB, select the local application’s Context Directory and Dockerfile (which are usually automatically identified and set based on your local application project).
-
Select the region, namespace, and mirror repository for the container mirroring service.
Step 3: Perform the deployment
After clicking the Run button, the local Docker image can be pushed to ACR.
How to use CICD/ Cloud native application delivery chain to achieve continuous integration and delivery
The cloud native delivery chain of ACR Enterprise edition has been further improved in hosting, delivery, distribution and other aspects. After the Double 11 promotion, it has accumulated the technical experience of cloud native application of ten thousand nodes collaboration.
Currently, the CSS supports cloud native application assets such as Container image and Helm Chart, and uses independent network access control to fine-grained control the access policies of public networks and VPC networks. Only the sources that meet the policies are allowed to access assets, ensuring access security.
At the same time, the process of the entire application delivery cycle is automated. The developer only needs to change the application once, and deliver the application in multiple scenarios according to the configuration.
During application delivery, ACR EE can automatically initiate static security scanning and customize security blocking policies. Once high-risk vulnerabilities are identified in static applications, the system automatically blocks subsequent deployment links. Based on the repair suggestions in the vulnerability report, users can update and optimize to build a new image version and initiate delivery again.
The construction of CICD system also needs to consider overall stability and continuously improve overall delivery capacity as much as possible, such as monitoring and alarm, fault tolerance and disaster recovery, dependency management, traffic limiting and degradation, and capacity planning. Here is the experience of the ACR team:
-
In terms of dependency governance, the relevant key links and external dependencies in the cloud native application delivery chain should be managed uniformly, hotspot warehouses should be identified and the execution results of the delivery chain should be tracked.
-
In terms of traffic limiting and degradation, it is better to analyze and identify the primary and secondary business functions of the core link of cloud native application distribution, and ensure the completion of the main business logic first, while the secondary business logic can be downgraded and processed later.
-
In terms of capacity planning, the platform expands resources on demand based on changes in upstream and downstream services to ensure normal delivery of cloud native applications.
Container mirror ACR and plug-in Cloud Toolkit for developers, free help technicians to improve the efficiency of development, deployment, in reducing time cost and improve the quality of the business, and put a top peak flow scenarios as a practical case, hope this article can help to people in need, and through the relevant article quick learning, Real business value.
If you have any questions, you can join the group to solve them: