Page 47 - GCN, August/September 2018
P. 47

                                it efficient to migrate applications from one environment to another, while en- suring traceability via the immutable na- ture of the container.
Containers have four distinct advan- tages that, taken together, provide sig- nificantly increased efficiency. They:
• Reduce the need for duplicate oper- ating system code.
• Provide faster spin-up/launch of ap- plications (seconds versus minutes).
• Consume orders-of-magnitude less capacity (megabytes versus gigabytes).
• Can be executed on shared virtual machines or stand-alone, physical “bare metal” servers.
CHALLENGES TO OVERCOME
Containerization works particularly well in a multivendor environment because it provides increased portability and trace- ability. However, the technology intro- duces fresh challenges for government organizations, including:
• Monolithic architecture and lega- cy technology. Many older technologies (Oracle Forms, Microsoft .NET) are not effectively compatible with container- ization. The designs and architecture of some of these applications are mono- lithic and do not allow easy separation into independent modules suitable for containerization. Furthermore, con- tainerization could increase production problems because of the limited flexibil- ity and scalability of the application.
• Infrastructure constraints. Imple- mentation of a containerized ecosystem for a large program could call for hun- dreds of thousands of containers. The sheer number and resulting complexity could increase risks that a security at- tack might succeed. It also increases the amount of network traffic, potentially degrading performance. Troubleshoot- ing applications and diagnosing a prob- lem among the vast number of contain- ers can be a challenge.
• Lack of streamlined processes. In government organizations, development and operations teams often work sepa-
rately and use separate environments. Although many development teams use an agile approach, most operations teams do not. Thus, their processes don’t support continuous container-based handoffs and deployments. Consequent- ly, resolving conflicts and quality issues can be delayed, offsetting the efficiency gains from containerization.
• Organizational culture and knowl- edge. One of the biggest challenges in working with containers is a lack of staff knowledge about the technology. Other challenges are the culture and structure of teams. With containerization, devel- opers deploy software while infrastruc- ture teams mainly set up and maintain environments. Traditionally organized IT teams might not transition effectively to these new roles.
GETTING STARTED
Before adopting containerization, agen- cies should first determine the results they are seeking and understand the changes the technology will bring. An initial effort should study the existing en- vironment, present technology options to stakeholders, define a strategy and implementation plan, and test the select- ed technology. To inform that strategy and implementation plan, we’ve identi- fied four best practices to overcome the challenges identified above:
• Migrate to a microservices archi- tecture. A microservices architecture approach to application development breaks an application into simple, well- defined modules that are not dependent on one another. The mutually indepen- dent nature of each microservice pro- vides an excellent set of building blocks for containerization.
• Set up the infrastructure required for container operations. The type of container and associated developer tools are among the first decisions that need to be made. The table on Page 46 shows types of technologies and specific tools. Agencies can select tools individually or adopt them as a cloud-based group
called a containers-as-a-service platform. • Change development and opera- tions processes. Containerization al- lows development teams to package all their code and necessary dependencies in one container and then automatically deploy that container across multiple environments (e.g., development, qual- ity control and production), either on- premises or in the cloud. Consequently, the time spent installing and configuring dependencies is eliminated, dramatically reducing deployment time and increas-
ing efficiency.
• Manage organizational impacts.
Agencies should understand that adopt- ing microservices and containerization is a journey that requires careful nurturing and support. Teams should be ready to operate differently by adopting an agile and continuous deployment mindset.
Despite its relative novelty, container- ization is rapidly changing the technol- ogy landscape, and government agencies should seriously examine the technology sooner rather than later to take advan- tage of the benefits it offers. These ben- efits primarily include:
• Faster deployment of applications.
• The ability to change or add one feature to an application without rede- signing the whole application (when containerization is combined with a well- designed microservices architecture).
• Lower costs and risks associated with multiple computing environments.
Those benefits are particularly impor- tant to government agencies because laws and policies tend to change fre- quently, one facet at a time, while the government’s monolithic technology tends to be much less flexible and more expensive to change. Careful planning and investment, aligned with the best practices discussed in this article, will position agencies to use containerization in their missions to efficiently and effec- tively serve the American public. •
— Sanjeev Pulapaka is a solution archi- tect and Munish Satia is a senior techni- cal architect at REI Systems.
GCN AUGUST/SEPTEMBER 2018 • GCN.COM 47







































































   45   46   47   48   49