JAX enter: Is software reliability simply a business decision or does it have other consequences as well? What are the implications for software developers?
Few people have a proper understanding of software reliability so terms like the dreaded five 9s related to uptime guarantees (i.e 99.999% which is downtime of about 5mins/year) get bandied about seemingly by the same folks who howl if slack or github go down for a minute. The main thing is you cannot add in software reliability as an after-thought, it needs to be designed in and part of architectural decisions from the beginning. Software reliability engineering needs to be much more proactive less reactive.
JAX enter: More often than not, architecture is seen as a separate concern from development process. Why is that and what should the relationship between the two be?
Is this true? Who does that.
JAX enter: Could you share some dos and don’ts of modern software architecture?
Don’t just do it because Netflix are doing it. Do understand your problem space & customers. Sometimes it is better to innovate the old than adopt new architectures you are not able to resource properly. Containers need headcount.
JAX enter: How important are so-called “soft skills” in creating a usable software architecture and design?
Critical. That and diverse teams – also critical.
JAX enter: Serverless is definitely one of the fast-paced changes to software architectures right now. What does it bring to the table?
They say serverless means you ‘don’t pay for idle’ but probably more accurately is you end up sharing idle costs with everyone else. The big benefit for devs is the ability to scale extremely quickly. For companies it is all about the opportunity to monetize services at a much finer level of granularity based on rich usage feedback.
JAX enter: How will serverless change in 2018 and beyond?
Companies will keep vomiting out new serverless offerings – for instance loads of composition frameworks are on offer now: AWS Step Functions, Microsoft Durable Functions, Huawei FunctionGraph workflows, etc. Eventually consolidation will kick in. For me the tooling for serverless is still missing – that needs to get a lot better.
JAX enter: When serverless reaches maturity, what impact will it have on DevOps?
DevOps folks are no longer commissioning servers or low level work, instead they have to understand the architecture at a fine-grain level and learn to build complex monitoring. And one person in the team will have to get good at calling up the serverless provider and getting issues dealt with when something goes wrong: plead for increases to burst limits or deal with things when they lock out your application for fitting the profile of a bitcoin mining app.
JAX enter: Will microservices become a default architecture? Why/why not?
No, because it is hard to do microservices. People will talk about it as if it is default but just a few will do it well.
JAX enter: Security threats are on the rise, that’s a given. That being said, how can we balance security and innovation in software development?
By understanding that all the open source projects you are using and building on top of need proper funding.
JAX enter: Last but not least, what are the top architecture trends for 2018 and beyond?
Now I work at CloudBees my head is in the continuous delivery space and GitOps, operation by pull request, is going to be the key to effectively dealing with major architecture changes. For instance successfully implementing deep observability in your application.