Organizations all over the world are striving to move their workloads into public cloud environments. With cloud initiatives, organizations expect to lower their resourcing on server maintenance and find new ways to increase scalability and resiliency. What determines who becomes the hero of the new era?
As public cloud platforms are today equally reachable by almost any organization globally despite their size or location, organizations' real competitive edge in their competition with peers will significantly depend on their agility and elasticity with their solution development and operations on cloud platforms.
According to the University of Berkeley’s vision for cloud services, serverless computing will become the default computing paradigm of the Cloud Era, largely replacing server-based computing and thereby bringing closure to the Client-Server Era.
We at NordHero believe that in order to become the true hero of the new era, organisations need to focus on fundamental business and technological agility. We believe that this can be reached by
- utilizing cloud-native serverless components to the full extent
- applying reactive principles in solution architecture
- setting up comprehensive and highly automated DevOps processes
- building the platform with a high self-service level and carefully considered governance practices.
We believe that the winning software systems of the Cloud Era build on:
Serverless Components: The system built on serverless components scale up and down very fast and almost endlessly. Although serverless is not an answer to every question, it often offers very high-performing and cost-effective building blocks for the organizations' needs. In most cases, serverless solutions will outperform any server-based option and require far less work to set up and maintain than a traditional solution. Due to the low pre-investments and fast solution ramp-up times, serverless typically offers an excellent choice for try-and-learn patterns required in rapidly changing and evolving business landscapes.
Reactive Architecture: As declared in-depth in the Reactive Manifesto, a reactive system aims to provide rapid and consistent response times. It also stays responsive even in the face of failure by utilizing replication, containment, isolation, and delegation. The reactive system is elastic and can react to input rate changes by increasing or decreasing allocated resources. Reactive architecture is typically achieved by utilizing serverless solutions and isolating solution components with asynchronous message passing between the components, ensuring loose coupling, isolation, and location transparency.
Automated DevOps practices: As organizations move from on-premise data centers to public cloud platforms and adopt serverless architectures, it becomes evident that the development team will most likely continue to be in charge of the solution also when set in production. Simultaneously, staying on par with the competition, the development team needs to be learning fast whether an idea is viable. The development team requires skills and processes to quickly test an idea and get real-life feedback to decide whether to continue improving or halt the idea’s development. To achieve this, the development team and business owner need a comprehensive set of skills, processes, and tools to drive the DevOps loop. With robust practices and automation, the winning teams can adapt to the fast phase of changing business requirements.
Effective Governance with Guardrails: The need for governance and innovation speed are often two opposing goals. However, while providing developers the needed agility, it should be possible to have guardrails that protect the organization and the developers from making accidental or deliberate bad choices, which can have high cost or security implications. Effective governance can be achieved through a multi-account or subscription strategy, templating, and a high automation level to let development teams create and tear down environments as needed with a self-service model. The essential guardrails to set in place include isolating subsystems with multiple sub-accounts, setting up account level and cross-account security, traceability and audit logging, and giving users within the sub-account only proportional access rights needed to carry out their jobs.
What do you think are the building blocks of being the hero of the new era?
We are currently looking for talented hands-on software architects to join our team. We are eager to hear your ideas, vision and manifesto of Cloud, Serverless and DevOps. Reach out and let’s start a conversation!