Earlier in 2019 Atlassian presented their new cloud development platform FORGE at the Atlassian Summit. The idea is to have a tool that makes it easier and faster to develop apps for the Atlassian cloud suite using a serverless FaaS hosting platform, powered by AWS Lambda.
This new cloud development platform will probably be a welcome tool for new app developers and if received well it will push development for cloud to the front lines. All in accordance with the business strategies Atlassian seem to push towards cloud in general.
According to the article by Atlassian, Forge comes with three core components:
- A serverless Functions-as-a-Service (FaaS) hosted platform with Atlassian-operated compute and storage for app developers
- A flexible declarative UI language (Forge UI) that enables developers to build interactive user experiences across web and devices with just a few lines of code
- A state-of-the-art DevOps toolchain, powered by the intuitive Forge Command Line Interface (CLI).
A serverless Functions-as-a-Service
The first component with the FaaS I think sounds excellent as one of the big hurdles with app development for Atlassian (and other systems) is hosting and develop the app as a separate web service. Having FORGE do the heavy lifting should make that threshold a bit lower (depending on the cost of course).
Forge solves very real problems for developers by removing some of the complexity (and cost!) associated with cloud app development. Creating apps for most cloud ecosystem platforms holds developers responsible for building, hosting, and operating an entirely independent web service, which requires expertise in cloud architecture and management.
Atlassian list 3 specific areas that they hope that FORGE will help with:
- Trust: As personal information goes digital, privacy, transparency, and security are more important than ever before. With Forge UI, developers and app consumers benefit from built-in, best-in-class security for apps, by default. Plus, thanks to Atlaskit, when Atlassian makes an update, your apps won’t break.
- Running anywhere: Atlassian customers want experiences that are consistent across their products and apps, and across their devices and web. Forge’s UI enables users to build once for both web and mobile.
- Moving up the stack: In general, developers aren’t concerned with where their code is running – they simply want to spend less time on implementation details of the code, and more time on providing customer value. Forge’s serverless FaaS model enables developers to write single functions rather than building entire web applications.
There are also other areas where FORGE can help reduce pain points and increase security.
A FaaS platform also lets developers eliminate common pain points such as authentication, identity, scaling, and tenancy. Apps created with Forge will run inside a second security layer that enforces tenancy isolation and data egress restriction by design, which translates into more meaningful security and privacy guarantees for Atlassian users.
A flexible declarative UI language
The second part I am not sure if it's a good thing or not. For anyone developing only towards cloud based Atlassian systems it is of course awesome as it makes things easier and we get a more unified design across apps as well as systems. It is when dealing with multiple ecosystems such as Server or Data Center this can become a bit complicated.
On one hand it forces even server based apps to follow the design specifications of Forge UI, but on the other hand it can limit the app developers. Overall it should still be a good thing and as it is based on Atlaskit it should be pretty well aligned with the overall UI design for cloud.
Using Forge UI – one of the core components of the new platform – developers can create and customize apps in minutes. It’s a declarative language, making it easy to quickly build native, flexible, and trusted UI interfaces for apps. By building on the Atlassian infrastructure, an app’s user experience becomes more consistent with our product’s user experience by consistently running the latest version of Atlaskit – a win for developers and our customers.
A state-of-the-art DevOps toolchain
For the DevOps toolchain I would like to know more before making any assumptions as it seem to be based on Bitbucket pipelines that are still quite new. I like Bitbucket Pipelines, but I would like to see if this is just a built in version of it into FORGE or if it has some changes.
Things like defining environments within AWS Lambda and what the UI for this will look like. Is it "just" a CLI and if so, what capabilities can I expect within the CLI itself. Will this be connected to Bamboo for the build or can I choose other build tools such as TeamCity for example?
The fact that this part is barely mentioned in the article of the presentation is a bit of warning flag for me. If it is state-of-the-art, then please show me the tool chain and give me an example of a simple code update from development to production. Still, this is just me being a bit nit-picky as I am sure there are already videos out there for this or they will come soon enough.
Overall I think this will be a bit of change for many app developers today, but a good change.
The Forge CLI – another core component of the new platform – is a command line interface tool that makes managing Forge apps easy. We’re creating resources like built-in onboarding, intuitive commands, and a set of templates that anyone can use, making the process of getting started with Forge easy. In addition, the creation, testing, and deployment of apps is part of a DevOps toolchain with continuous delivery powered by Bitbucket Pipelines.
Welcome to the Forge - Presentation at Atlassian Summit 2019
Personally I think this is a great thing that will help app developers a lot. Old app developers might need a while to adjust, but in the long run I think it is a good thing. Adding this service not only ensure that things get more uniform in terms of design and coding, but it also will provide great insight into how a controlled DevOps toolchain is perceived outside of their own company.
I look forward to learn more about Atlassian Forge that is currently in Closed Beta that you can sign up for here.
What do you think of Atlassian Forge so far?