Aug 10 2020
Software

How App Developers Can Meet Customer Demand During a Crisis

By embracing on-demand infrastructure services, containers and microservices, agencies can stay on track when it comes to development.

Let’s set the stage: You’re the manager of an application development team in a government agency or IT office. The size of the team doesn’t really matter; it could be half a dozen or an army. The IT experts in your arsenal aren’t that important either. Your team could be building Java desktop applications or websites using more modern technologies like golang or node.js. You could be building applications for other employees in your government, for citizens in your locality or for other users.

Suddenly, your entire workforce is working from home. On top of adjusting to new remote working technologies, your employees are managing all of the complexities that come with life during a pandemic. You’ve begun to fear that the accelerated pace at which your team developed is in danger of grinding to a halt. And on top of that, there is now more complicated work for your team to do.

This is the world in which many of us find ourselves today. Organizations suddenly have their entire workforces working remotely. Applications that were never expected to support more than a meager amount of traffic are now seeing 10, 20 or 50 times what they were originally designed to handle. New features and apps are needed now that we never dreamed would exist. What’s a development organization to do?

Let’s examine a few principles that, when used effectively, can help state and local agencies get through the current situation and continue to thrive during normal operations.

Anything as a Service to the Rescue

You’ve heard it all before: Software as a Service, Platform as a Service, Networking as a Service, Storage as a Service — the list goes on and on. But what do these things really mean? At their core, they mean “on-demand.” Your infrastructure can’t support something, but someone else’s can.

These technologies are proven, solid and have strong security capabilities. The companies behind these technologies — AWS, GoogleIBMMicrosoftRed Hat and others — have been facilitating “as a service” platforms for decades now, and their solutions are trusted by companies in the Fortune 500, the U.S. government and all over the world.

In a time like this, these providers can be your lifeline to continuing operations and maintaining scale. Tools exist to enable you to use these technologies without changing much of your processes. The ability to scale out to the cloud is within the grasp of your organization today.

On top of these always-on data centers, there are modern tools that can help you orchestrate your workloads and scale to support the ever-growing needs of your customers. Kubernetes, an open-source project originally started by Google, has become the de facto standard for orchestrating workloads on-premises and in the cloud. Using Kubernetes, in conjunction with Linux containers, virtually any workload can be maintained, managed and scaled.

MORE FROM STATETECH: Find out what states can get out of digital services teams.

How Containers Can Help Agencies with Development

Linux containers are one of the key components of modern application development.

container is simply a way of packaging an application, or part of an application, in a way that makes it portable and fully self-contained. A container can be distributed across many systems without requiring any changes. In fact, the same container that a developer builds on a local system can make it through testing and QA to user acceptance and, eventually, to production, without a single modification. Containers are much more lightweight than virtual machines and far less resource-intensive. They make better use of the infrastructure hosting them, and they’re quicker and easier to scale than VMs.

Due to their scale and lightweight nature, containers are built to support the next technology in this toolkit: microservices. Microservices are an application architecture pattern where the features and functions of an application are deconstructed down into their smallest constituent parts. These parts are used together to build an application.

Microservices provide many benefits. First, they enable agile development practices by breaking applications into smaller, more manageable parts. They also allow applications to scale more efficiently. By breaking applications into smaller pieces, bottlenecks are compartmentalized into smaller chunks that can be scaled independently of the rest of the application. Microservices make applications more modular, which supports quicker and more efficient feature development. That’s what allows sites like Facebook and Twitter to roll out new features daily, even hourly. Finally, the granularity and generic nature of microservices encourage reusability between applications.

If you’re among the group yet to adopt containers, here’s why you’re not left behind: Containers and microservices are not an all or nothing proposition. Simple modifications to existing monolithic applications can expose application programming interfaces. These are programmatic hooks into the application that allow communication with other modules. APIs are at the heart of microservices and can enable you to start developing new features for your existing applications.

Modern architectures do not need to be released with a big bang. On the contrary, they are practically designed to be implemented piecemeal or as time and resources allow. API managers exist to help you maintain your growing catalog of APIs as you migrate to microservices.

READ MORE: Find out how to bridge the gap between central IT and state agencies.

Government Can Never Forget About Cybersecurity

During the difficulty and chaos of our current situation, one thing still remains true: Security concerns cannot be forgotten. It might be easy to push security to the side when wrapped up in urgent activities, but that must be avoided at all costs. Doing so can lead to mistakes and vulnerabilities that can end up crippling an organization.

The exciting fact is there are plenty of tools, enabled by containers and microservices architectures, that can make implementing security controls easier and more seamless. APIs and microservices provide connection points for more granular and more thorough security practices. And if security vulnerabilities are found, microservices architectures serve to limit the extent of those vulnerabilities, while containers provide a mechanism to more quickly remediate them.

During these chaotic times, it is exceptionally easy to back yourself into a corner and conclude that any significant application development needs to stop. Don’t give in to that tendency. Technologies like Linux containers, Kubernetes, APIs and microservices can help quickly fix existing issues while creating new features efficiently and more securely.

It takes a little investment in both effort and finances to get started, but this will provide a foundation for continued progress toward modernization, now and in the future. Use this time to your benefit and start on the path to becoming a modern application development shop using cutting-edge technologies.

LEARN MORE: Discover how agencies can built both trust and operational excellence in a post-pandemic world.

RossHelen/Getty Images
Close

Become an Insider

Unlock white papers, personalized recommendations and other premium content for an in-depth look at evolving IT