Modern enterprise Application architecture-deliver agile, portable, and controlled applications with Docker CaaS

Source: Internet
Author: User
Tags docker hub
This is a creation in Article, where the information may have evolved or changed.

At the beginning of the year, the fiery unicorn IT company Docker released a new enterprise-class product Docker Datacenter (DDC). As a company with native Docker container technology, every market move will make it hard for companies in the lightweight container ecosystem to underestimate. To speculate Docker's understanding of business change, the understanding of container technology stacks, and the positioning of new products and services in the ecosystem, there is a need for a more profound understanding of Docker's products. and its technical white paper is just the entrance to the product we know about Docker. Here I am based on their superficial understanding of the container-related technology stack, translation of this short technical white paper, hoping to bring a little help to everyone.

Title: Modern Enterprise Application architecture-delivering agile, portable, and controlled applications with Docker CaaS

The full text reads as follows:

Summary

The developer does not accept locked platforms. Like the story of the little girl and the Three Bears, developers have been looking for a way to develop their environment with the right balance between freedom and restraint. In the process, they discovered that the platform-as-a-service (PaaS) model was too high, too abstract, too constrained, and sacrificed flexibility to implement a fully locked, black-box environment, and they also found that the individual container services provided by the infrastructure as a service (IaaS) model were not enough, Because that kind of service resides only in its own infrastructure and lacks foresight. In the quest for appropriate solutions, some organizations have begun to provide Docker-based "container as a Service" (CaaS) environments that provide agility for development teams, control for operations teams, and portability across infrastructure for applications-from on-premises data centers to public clouds, Across many network and storage device vendors.

The Docker platform provides an integrated suite of infrastructure-independent CAAS models. With this approach, IT operations teams can secure, configure, and manage infrastructure, as well as infrastructure, and developers can build and deploy their apps in a self-service way.

In this white paper, we will discuss the driving forces of the new software model, the capabilities of the Docker platform, the need to refine CaaS, and the importance of addressing core issues in building, delivering (transporting) and running applications.

Important conclusions include:

• How cloud, data, and microservices are changing the business
• Understand the evolution of Docker
The ability and advantage of Docker CaaS model

I. Change of business through software

The era of private data centers running finished software and a huge single code base that was updated once a year has gone away. Everything is changing. Whether it's migrating to the cloud, porting between clouds, modernizing legacy programs with a modern approach, or building new applications and data structures, we want the same results – speed. The faster you move, the more successful your company will be.

Software is the key IP (intellectual property) that defines your company, even if your company actually sells goods that may be just a T-shirt, a car, or compound interest (compounding interest). Software is how you engage with customers, how to attract new users, how to understand their data, how to promote your products or services, and how to handle their orders.

To do this, today's software is tending to be customized. Software fragments designed for a very specific job are called microservices (Microservice). The design goal of MicroServices is to have every service built by the necessary components run a specific job on the appropriate type of underlying infrastructure resources. Next, these services are loosely coupled and can be modified at any time without worrying about the sequencing of service operations.

This approach, while beneficial for continuous improvement, presents many challenges in the process of achieving the final outcome. First, it creates a new, ever-expanding matrix of services, dependencies, and infrastructure that makes it difficult to manage itself. In addition, it does not take into account the large number of existing legacy programs, completely heterogeneous application stacks and the actual process that must be guaranteed to run.

Ii. the evolution of Docker and the power of and

In the 2013, Docker appeared in the public eye with a built, delivered, and ubiquitous application container. Similar to the shipping of today's containers, a software container is a standard unit of software that looks the same outside the container, regardless of the code and dependencies that are stored inside it. This allows developers and system administrators to transport containers across infrastructure and in a variety of environments without having to make any modifications and consider different configurations in different environments. Docker's journey begins at this point.

Agility: The speed and simplicity of Docker makes Docker popular with developers when it's launched, and also makes the heat of its open-source projects soar at a meteor-like rate. Developers can now easily package software and their dependencies into a single container. Developers can use any language, version, and tool, as these are packaged in a container, which standardizes all heterogeneity and does not pay any price.

Portability: The nature of Docker technology allows the developers to realize that their application containers are now portable and in a way that was previously impossible. They can deliver applications directly from the development environment to test and product environments, and the code always works as designed. Any differences in the environment will not affect the application within the container. The application does not need to be modified to work properly in a production environment. This is also a boon for IT operations teams because they can now migrate applications across data centers to avoid vendor platform lock-in.

Control: New issues such as security, manageability, and scalability need to be answered further as the application progresses along the lifecycle to the production environment. Docker standardizes your environment while maintaining the heterogeneity you need for your business. Docker provides the ability to set the right level of control and the flexibility to maintain service levels, performance, and governance. IT operations teams can maintain peak service levels through provisioning, security hardening, monitoring and scaling infrastructure and applications. No two programs or business is the same, Docker allows you to decide how to control your application environment.

The core of Docker's growth process is the power of and. Docker is the only solution that provides agility, portability, and control for developers and IT operations teams across all phases of the application lifecycle. Judging from these core principles, the CaaS is just as good and fast as the new application built by it.

Third, Docker Containers as a Service (CaaS)

What is container as a service (CaaS)? It is an IT controlled, secure application environment based on infrastructure and content that enables developers to build and deploy applications in a self-service way.

In the CaaS diagram above, the development and IT operations teams collaborate with each other through registry. The registry service is used to maintain a secure, signed image warehouse. The developer on the left can pull the software to local and build the software at its own pace via the registry service. When the software passes the integration test, the developer pushes back the content (push back) registry to save the latest version. Deployment steps vary from one internal process to another, either automatically through tools or manually.

The IT ops group in the right of the middle manages contracts for different vendors for the production environment infrastructure, such as compute, network, and storage. These teams are responsible for providing the computing resources required by the application, using the Docker Universal control plane to monitor the cluster and applications from anywhere. They can migrate applications between clouds, or scale services to maintain peak service levels.

Iv. Key Features and considerations

Docker CaaS provides organizations with a framework for unifying the various systems, languages, and tools in their environments and providing the business with the level of control, security, or privilege required. Because it is a Docker native solution that supports all Docker APIs, Docker CaaS can seamlessly deploy applications from the on-premises development environment to the production environment without changing the code or simplifying the deployment cycle.

The following features make up the minimum requirements for an organization's application environment. In this paradigm, development and operations teams are empowered to use their best tools without worrying about damaging the system, other people's workflow, or locking state.

1, the needs of developers and operations. Many tools only address functional requirements for a single team, but CaaS breaks the cycle of continuous improvement. To get real acceleration from development to production, you need to meet the needs of both types of users in one continuous cycle. Docker provides unique capabilities for each team, while providing a consistent API across the entire platform, ensuring a seamless transition from one team to another.

2. All phases of the application life cycle. from continuous integration to continuous delivery and development operations (DEVOPS), these practices are designed to eliminate the waterfall development approach and the lag time it brings. By providing tools for development and operations teams, Docker can seamlessly support applications from build, test, and deployment to all phases of the production environment.

3, any language. developer Agility means that developers are free to choose the programming language, version, and tools they need to use any application feature when building their application. Also, the ability to run multiple versions of a language at the same time provides great flexibility for developers. Docker lets your team focus on building the application itself rather than thinking about building an app that can run in Docker.

4, any operating system. The vast majority of organizations have more than one operating system. Some tools work better on Linux, while others may be more likely to run on Windows. The application platform needs to consider and support this diversity. Otherwise, it can only be solved part of the problem. Docker was originally built for the Linux community, but Docker and Microsoft are starting to implement Docker on Windows Server to support millions of of existing enterprise applications and future enterprise applications.

5, any infrastructure. when it comes to infrastructure, organizations want choice, backup, and leverage. Does this mean that you need to have multiple private data centers, a hybrid cloud or multiple cloud providers, but the key point is the ability to move application loads between environments without problems. The Docker technology architecture separates infrastructure from applications, enabling application containers to run across infrastructure on any infrastructure.

6. Open API, plug-in architecture and eco-system. A platform cannot count as a real platform if it is just a closed island. If you want to upgrade your existing environment first, it is generally not feasible to implement new technologies. One of the basic guiding principles of Docker is an open platform. Openness means that APIs and plugins allow you to capitalize on your existing investments and let Docker adapt to your environment and process. Openness can make ecosystems more active, and when your CaaS adds specific functionality, it can give you more flexibility and more choice.

Although CaaS has many features, these features are critical because the new custom application paradigm introduces more heterogeneity to your technical architecture. The Docker CaaS platform is fundamentally designed to support this diversity and provides the appropriate control for any size.

Five, Docker CaaS

Platform components: The Docker CaaS platform is comprised of a range of integrated software solutions and a flexible deployment model to meet your business needs.

On- Premises data Center/virtual Private Cloud (VPC): for organizations that want to use their own networks, Docker Trusted registry and Docker Universal Control plan can be deployed in a local data center or virtual private cloud. And can connect to your existing infrastructure and systems, such as storage, Active DIRECTORY/LDAP, and monitoring and logging solutions. The image file is stored in your own storage architecture, Trusted registry provides storage and management service capabilities, and provides role-based basic access control of the image. Universal Control Plane provides visual management of the Docker environment, including swarm clusters, Trusted registry warehouses, containers, and multi-container applications.

in the Cloud: for organizations that accept SaaS Solutions, Docker Hub and Docker cloud provide registry and control plane services based on Docker running and management. Hub is a cloud registry service for storing and managing image files and user rights. Docker Cloud supplies and manages deployment clusters, while also monitoring and managing deployed applications. Use Docker cloud to connect to the cloud infrastructure of your choice or use your own physical node to deploy your app.

Your Docker CaaS can be designed for centralized control and management, or distributed management to empower the respective application teams. This flexibility allows you to build a model that works best for your business, just as you choose the infrastructure and content implementation process. CaaS is an extension of the concept of building, delivering, and running applications.

In fact, because CaaS unifies the nature of the cross-environment, it accelerates many of the processes in which it initiatives are accepted. Each organization has its own initiatives: from containerized, including transformation and migration of existing applications, to microservices, to continuous integration, continuous delivery and devops, and embracing, migrating, blending, and supporting multiple clouds for all types of cloud. In each scenario, the Docker CaaS brings agility, portability, and control, allowing the organization to accept those use cases.

Vi. Power of and

In short, the changes in the cloud, applications, and data have changed the dialogue between technology and commerce, from "How do you help me cut costs" into "How do you speed up my business". As you embark on your journey, Docker offers additional flexibility to help you choose where to store your app's content and where to deploy your console. Adapt your CAAS to your business needs, whether deployed on an on-premises data center or virtual private cloud, or as a cloud service that is being consumed smoothly. Whatever your business, the Docker CaaS platform provides agility, portability, and control to build the best applications as fast and well as possible, delivering peak performance at the best cost, without being locked by the platform.

, Bigwhite. All rights reserved.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.