There’s no doubt that 2020 presented the world with unprecedented times: households under lockdown to protect public health, food shortages, huge supermarket queues and social distancing. At the same time, a huge change is happening in the way people, businesses and countries operate ... and technology is taking centre stage.
From Terra Drones delivering medical supplies to AI systems helping healthcare workers detect and monitor the disease more efficiently, technology has never been the forefront in a more integral way to unify under a common cause and protect the vulnerable.
It isn’t just technology innovation hubs or large enterprises who lead in these fields, but everyday businesses that are appreciating how much of an enabler technology can be to their workforce and how relevant it is to their business continuity. Being able to scale services to meet demand either through a change in consumer behaviours or through internal user demand on core business services, adjusting at pace to accommodate new situations is critical for business survival.
Modern, remote ways of working are more of the rule rather than the exception here at Appvia. Collaboration tools such as Slack and Google's G Suite are used daily as are developer and infrastructure tools like Cloud Providers and Github. There is obviously no substitute for being in a room together physically to flesh out ideas or engineering challenges on a whiteboard, but we're adapting and utilising technology to stay connected and collaborative.
Here's how businesses can leverage technology during these difficult and uncertain times...
1. Get better visibility through product integration
If your teams work more regularly in specific products such as Slack, then integrating other third-party products into it can really help a team's efficiency. Examples of this would be integrating your code repositories to report changes i.e. new Pull Requests or Reviews requested by team members before those changes can be merged in.
Additionally, you can write your own custom integrations to existing products like cloud, to improve visibility of changes, costs or general activity you find useful as a team or organisation. This can also extend to more critical forms of communication such as production issues or security warnings that require a more rapid response from team members, increasing the likelihood of action to be taken at a quicker rate than through email alerts.
2. Use cloud services to reduce infrastructure capacity issues
As demand on some infrastructure services will be higher than usual, it’s possible that this will result in capacity constraints; be it through storage, network or compute demand. Ordering new hardware to increase capacity and having to physically go down to data centres to install it may not even be an option during increased lockdown.
By moving specific services, such as storage to the cloud, will allow a problem to be remediated with reduced effort and time.
3. Moving services that need to scale to the cloud
Although Cloud gets a lot of air time in the industry, a lot of application services still run on invested infrastructure, either in office buildings or co-located. Depending on the design of the service, the infrastructure and technologies surrounding it can often be a bottleneck and cause scalability challenges. Looking at porting services that drastically need to scale with demand to the cloud is a good way of removing that bottleneck.
4. Invest in good monitoring and telemetry technology
It exposes the right metrics so services can scale up and down to cope with demand and keep costs low. There’s no better way to meet demand than exposing metrics that define how your applications should scale. This could be specific application indicators based on the number of transactions or more operational based metrics like CPU and memory. Having good telemetry in your application stacks will also help improve visibility of latency across your stack or bottlenecks in infrastructure quickly, getting you to a resolution at a much quicker rate.
5. Use lightweight container technologies for local testing
If there are dependencies between teams, such as needing virtual machines to be provisioned before developers can test their code appropriately, then adopting container-based technologies will enable them to test code quickly and iterate faster. By being able to simulate an environment on their developer machine without needing infrastructure or resource-intensive technologies like virtual machines speeds up testing features, environment consistency, and getting releases out at a faster rate.
6. Use container orchestration technologies like Kubernetes or serverless
If your developers have made the move to containers or function-driven development with serverless, then implementing Kubernetes on your infrastructure or providing serverless-based technologies will make the release of applications across environments so much faster. By being able to create environments in seconds rather than hours, days or weeks will get those features tested and released to your customers in no time. In addition to this, it also reduces the overhead on infrastructure capacity by sharing resources more sensibly.
7. Continuous Integration (CI) systems
When development teams are committing features, it’s critical that there is visibility on the testing outcome of those features centrally. Having a CI system that shows what is failing where will help speed up remediation or developers tripping over one another. Preventing any features being able to be merged on CI failures will also keep the hygiene of the code up. Integrating CI into collaboration tools like Slack gives teams instant feedback in a central place and helps improve that transparency on what is going on.
8. Stay secure while delivering quickly
It is very common for project time pressures to compromise on security, especially if there is a big drive for change to help remediate other issues or new product ideas. Scaling securely is a difficult task, especially when it isn’t a visible tangible feature the business can appreciate. Our advice though is to make sure that you have a plan before any form of adoption of new technology. There is a huge wealth of experience and knowledge in the industry but it is a hard skill to acquire and time-consuming to learn.
Try to lean on products, tools, or reusable modules that offer repeatable ways to automate and deliver services in a secure way. Leverage SaaS features, such as Github's vulnerability identification that at least enable developers to quickly visualise and remediate potential code vulnerabilities and exploits. Make sure that you are aware of gaps in your workflows, products and processes and have a plan to remediate them effectively.
Looking ahead to cloud-native
The current situation is forcing many people and businesses to evaluate current technology choices and setups, some of which will accelerate cloud adoption beyond the speed they are comfortable with. The move to new technologies, especially going cloud-native, is difficult and comes with many undesirable complexes. And with teams working remotely it becomes even harder.
We believe all organisations should be able to experience the promise of the cloud. Appvia was founded to make the journey to cloud-native easy and attainable, without needing the knowledge or expertise in-house. Our products and tools make secure, scalable Kubernetes simple—like having a team of experts out of the box.