Building Unified PaaS Architecture for Agile Development
Now that we have embarked in an era where information changes at unprecedented speeds, it is essential for us to remain one step ahead of our competitors. How then, do we ensure that we remain both fast and agile in our business innovation and response to our customers? Digital transformation is the one and only answer for enterprises looking to maintain substantial growth, and an agile and efficient IT system is essential to this transformation. All of today’s mainstream models for enterprise IT application development are functionality and process based. These models tend to be costly and too cumbersome to meet current requirements, putting enterprises at a disadvantage. The time is ripe for a revolution in IT application development methodology and technology.
Most mainstream enterprises have adopted the waterfall development model. This model has several disadvantages. First, business requirements are segmented — business departments raise IT requirements based on enterprise operations demands, and IT departments develop their applications according to these requirements. Second, the IT application development process is a sequential one, which means that progress flows steadily downward through the phases of requirement analysis, solution design, coding, testing, and deployment. Only one or two releases are launched per year. The time-to-market cycle could even be longer if the development process is hampered by cross-departmental barriers. Substantial changes to requirements result in significant delays in delivery or even in a delivery crisis.
The DevOps model contrasts sharply with the waterfall model. It combines development and operations into one process, and is an improvement in many ways. This model allows for trial-and-error tests to be performed quickly on applications, greatly reducing time to market. Having learned from successful Internet companies, an increasing number of enterprises have begun to embrace the DevOps model when developing IT applications. However, this change in mindset is far from enough. It is up to us to set up the architecture and build an advanced development model to ensure that the DevOps model becomes the first choice for enterprises around the world.
Over the past decade, enterprises have shifted away from using monolithic architectures to Service-Oriented Architecture (SOA) models, and now to a microservices model.
More and more enterprises recognize that microservice-based architecture will definitely be the preference for agile development of Cloud Native applications in the era of cloudification. Shifting to this new mode may increase complexity, for example, call chain and dependency management among multiple microservices can be a complicated issue. The PaaS platform is the inevitable solution to these new problems. It can provide unified services, microservice management, and runtime frameworks for the application layer, perfectly shielding complex resource distribution and deployment differences.
Since enterprises have realized the importance of PaaS in recent years, departments within enterprises have accelerated the adoption and application of PaaS. However, a universally accepted technique for implementing PaaS has yet to reach the forefront, and different departments tend to use their own preferred techniques.
For example, R&D departments may emphasize acceleration of service innovation in order to reduce time spent in the development environment. Therefore, they may prefer to choose techniques such as Cloud Foundry, which helps to create better development pipelines, support multiple languages, and enable multi-services access. On the other hand, O&M departments may prioritize the unification and standardization of IT resources and deployment required for all applications in order to optimize overall O&M efficiency, with an emphasis on cross-data center and global O&M efficiency. Therefore, those departments may prefer to use Kubernetes and Docker Compose/Swarm, which boast excellent open source architectures. In such cases, new silo systems are formed when new development platforms are constructed for the sake of more agile systems. This is counterproductive, as these differing development architectures and deployment modes will then hold back the progress of increased agility and high efficiency.
Enterprise IT application development is a systematic issue, involving processes, methods, architecture, and organizations. In order to be effective, PaaS must be oriented toward the Cloud Native architecture of the future. Additionally, PaaS must be compatible with current enterprise SOA, be able to adapt with SOA, and be designated for applications.
To meet this need, a unified PaaS must be constructed, because it boosts the ‘as-a-service’ model and improves microservice development and management both technologically and architecturally. A unified PaaS can also unleash the full potential of development processes and organizational collaboration.
Figure 1: Unified and open PaaS architecture
A unified PaaS aims to ensure that application development, application deployment, operations management, and organizational collaboration remain consistent with one another. This will help enterprises achieve agile development and service innovation while responding rapidly to their customers. The following section covers our proposal for creating three unified processes for a unified PaaS.
Process automation is essential to a unified R&D process. Without automated tools, achieving true DevOps has proven to be an almost impossible task, as it is difficult to break barriers between development and O&M in a traditional R&D environment. The pipeline technology has been introduced during development in order to automate a series of R&D activities such as coding, compiling, testing, deployment, releasing, and upgrading. The pipeline acts as a bridge between development, testing, and O&M departments, driving efficient and effective inter-departmental collaboration. Though different enterprises use different development tools and conventions, the PaaS pipeline supports open ecosystem access and flexible process customization, allowing enterprises to tailor process automation to their needs.
Resource orchestration and scheduling for deployment is mainly designed to achieve the efficient allocation and dynamic adjustment of inter-and intra-data center resources according to a Service Level Agreement (SLA). ‘Efficient’ is used here to describe quick scheduling and optimized resource utilization.
Application resources are diverse and complex, including hosts, networks, operating systems, databases, and middleware. Automated PaaS technologies will spur the automated application and scheduling of resources for development, deployment, and operations. This will achieve consistent, automated, and service-based Development, Test, Acceptance, and Production (DTAP).
In addition, self-service applications, deployments, and upgrades can be enabled within the PaaS environment at anytime, which can decrease the time developers spend on non-critical service activities by more than 40 percent, allowing them to focus on core business activities. PaaS also reduces service faults by managing the consistency of the running environment for development and production.
A traditional monolithic application can be transformed into a distributed application by dividing its services into microservices. For instance, how will microservices discover and communicate with each other? How will we track service call chains and locate problems? PaaS implements the unified microservice management framework on the distributed management layer, shielding complex functions such as mutual discovery, routing, call chain tracing, and disconnection. In this way, developers can focus on developing the service logic without the distraction of complex management issues that can be caused by a distributed system. Each microservice team can develop and release services independently and rapidly. Though more agile than monolithic applications, distributed applications leave us with far more complex management issues.
Another key issue of PaaS microservice management framework is the management capability of existing SOA middleware in enterprises. Enterprises may have a large number of middleware services and it is impossible to transfer all of these services to the microservice architecture at the same time. Therefore, it is critical to build an appropriate middleware cloud to integrate these services to PaaS while shielding developers from implementation differences.
PaaS features the three unified processes, and supports the complete automation of the development, deployment, and operations of IT applications. This is a foundation for creating agile systems, which is also the ultimate goal of PaaS.
Huawei, a leading global ICT solutions provider, operates in more than 170 countries in the enterprise, carrier, and consumer businesses. Huawei owns an IT system that provides technical support for customers, suppliers, partners, and Huawei employees around the globe. This complex system covers over 60 data centers, more than 1,000 applications, and tens of thousands of business processes. Each year, Huawei’s IT system receives tens of thousands of new requirements and change requests, requiring an enormous investment in R&D.
In addition to being a customer-oriented business, the PaaS platform is also leading the way for Huawei’s journey towards agile business operations and application development. With all of there in mind, Huawei has released the FusionStage PaaS. This platform is focused on unified automation of R&D processes, orchestration and scheduling of application resources, and management of microservices. It has been developed to implement automatic R&D, deployment, and operations, allowing it to support agile business operation.
With the FusionStage PaaS leading the way, Huawei is moving from IT 1.0 to IT 2.0, and will be implementing global data center deployment on the cloud. On this platform, applications in data centers located in eight regions around the globe can be deployed and upgraded at any time. Dozens of automatic deployments will happen every day, and thousands of releases can be automated each year. Application time to market will be reduced from weeks to days, leading to greater enterprise IT agility and efficiency.
FusionStage is a universal PaaS platform providing development & deployment management, service operations management, and other public IT services. With this platform, enterprises will be able to focus on developing their own services and applications, improving development efficiency, and implementing IT agility.
FusionStage PaaS will be deployed on the Huawei enterprise cloud and other public clouds, such as Open Telekom Cloud (OTC) for DT.
FusionStage revolutionizes how developers and enterprises work, transitioning them away from IT development and enabling them to zero-in on application development. Huawei is truly proud to announce the release of FusionStage and usher in an era of new, groundbreaking transformations.