TranquilityBase.io – Eagle Console
TranquilityBase.io is open-source software for
- Creating an initial cloud Landing Zone
- Building out a Data center infrastructure
- Deploying pre-approved reference application architectures as IaC into cloud environments
GFT’s TranquilityBase.io is an open-source, cloud vendor-agnostic initiative which delivers a full cloud data center written in code which we refer to as DaC (Data center as Code).
A TranquilityBase.io Landing Zone is a turnkey solution that helps companies, with little cloud experience, quickly deploy a secure and scalable cloud infrastructure based on CSP (Cloud Service Provider) best practices. It can help save time by automating the deployment of an environment for running secure and scalable workloads while implementing an initial security baseline through the creation of core cloud resources. It takes the guesswork out of the initial cloud infrastructure deployment.
TranquilityBase.io uses IaC (Infrastructure-as-Code) to provision, version, and automatically configure the Landing Zone. The Landing Zone can then be developed from the solid baseline deployed by TranquilityBase.io into an operationally mature Compliant Cloud to meet further security, compliance, governance, and federation with existing toolsets and internal policies.
Landing Zone components use CSP native services/tooling. Open-source products are applied where applicable to enhance CSP services/tooling.
But TranquilityBase.io provides more than a simple Landing Zone – the fully formed and scripted software creates all of the initial infrastructure required to start a cloud migration effort in ‘minutes not months’. It offers security structures, policies, networks, storage, data processing programs, access rights and, pipeline management – all of the things required to manage and update a true ‘virtual data center’.
TranquilityBase.io can connect with existing CSP – (Google, Amazon, and soon Azure). As an open-source code project, the code base is continually updated by the developer community, who provide best-practice and practical knowledge of what is a highly complex and challenging environment.
The open-source code is modularized and well thought out – with no license fees for the user. The client simply downloads TranquilityBase.io from the website or relevant CSP marketplace and the software builds the appropriate Landing Zone in minutes. Development time is, therefore, shorter than ever and the client is able to save cost and increase efficiency; if further support is needed, GFT can help with the implementation as required.
The Eagle Console is a SSP (Self-Service Portal), can be used by development teams to quickly and easily provision applications using repeatable, immutable infrastructure in a consistent manner. These defined applications and processes are what we call ‘activators’ – that provide a combination of best practice application and technology patterns and a common CI/CD deployment platform for the required applications.
The portal is a Kubernetes-based web application that enables developers to select activators from a pre-defined and approved list for the particular organization, maintaining consistency and control. In this way, application environments can be provisioned in minutes with full traceability.
Developers are able to select activators with reference architectures or application designs from a pre-approved catalogue (Activator Store) add to a Solution as an Application and deploy it with the pre-configured software data center automatically.
Utilizing the TranquilityBase.io software, GFT is able to help clients take an innovative and accelerated approach to cloud migration, with a software data center written in code. It could hardly be simpler or more innovative, making future cloud migration and ongoing management very much: mission possible!
The Open-Source project consists of multiple repositories, the description below is related to the Eagle Console User Interface only, which is developed in Angular 8.
To allow developers from the community to easily start contributing, we prepared a set of Docker images and some mocked data in a MySQL 5.7 image, which will start automatically by running a simple ‘docker-compose’ command.
In order to set up our local environment we will need to install the following required tools:
- Visual Studio Code
- NodeJS 12 LTS
- Create a new folder (e.g. c:\projects)
- Go to Github repo (https://github.com/tranquilitybase-io/tb-eagle-console) and Fork it
- Clone your Fork into this folder:
- $ cd c:\projects
- $ git clone https://github.com/YOUR_FORK/tb-eagle-console.git .
- Install dependencies by running:
- $ npm install
- Run the API and DB development containers:
- $ docker-compose –f tb-houston-service.yml up -d
- Run Angular web server development environment:
- $ npm start
- It might take 5-10 min to pull the images and run the docker containers.
- Once this setup finishes, you can navigate to http://localhost:4200 and start hacking!
|Note: For development purposes only it is implemented with fragile login credentials:
1 – email@example.com – pass1
2 – firstname.lastname@example.org – pass2
Eagle enables the infrastructure team to build out the foundational components. A step-by-step process guides the team quickly through the necessary steps.
At the current stage of development, a simple FORM to create a new WAN VPN connection is implemented. Other screens are being designed and will come to the development team in a few days.
There is much more coming soon…
When the Landing Zone is complete, the infrastructure team can deploy and configure the Shared Services. As same as Landing Zone: a step-by-step process guides the team quickly through the necessary steps.
At the current stage of development, this screen is being designed.
There is much more coming soon…
Activator Store, Solutions and Applications
The term Activator is used as a reference architecture for a specific workload, defined in IaC and stored as Docker Image in a container registry. The Activator is the “scaffolding” for an Application and also includes an associated DevOps pipeline. In a nutshell: Activators are Docker Images that contain everything needed to install themselves.
Solutions are a high-level container for a Team’s Applications. A Solution can have 0..n Applications, and each Application has exactly one Activator.
An Application is created within a Solution from an Activator. The Application is a deployed instance of an Activator.
At the current stage of development, you can create Solutions, Applications and navigate through the Activator Store. Also, it is possible to simulate a deployment by clicking on the “Deploy” button, available at each tile in the grid.
Especially for Activator Store, you can:
- Admin user: “Grant Access” to a Team, “Lock”, “Deprecate” and “Undeprecate” Activators.
- Dev user: “Request Access” to a “Locked” Activator
There is much more coming soon…
The development of such a challenging project does not occur overnight, one kind of patience, consistency, perseverance and I would even say sedulity is needed. Especially in a multidisciplinary team spread around many countries and time zones.
To contribute on the Houston Service Python API, please follow the instructions in the following Wiki pages:
Obviously, I am addressing the User Interface in this article; however, there is a range of other, much more complex challenges in repositories related to the provisioning of Landing Zone in the cloud.
To give you an idea, on the tb-gcp repository, for example, to join the team you must, mandatorily, have already been taken:
- Professional Google Cloud Architect Certificate.
- Architecting with Google Kubernetes Engine Specialization
- Architecting Hybrid Cloud Infrastructure with Anthos Specialization
- Study Guide – Terraform Associate Certification (6 hours course)
And I dare to say that this is just the beginning. The main idea is much more complex and challenging, integrating multi-cloud all together – did I mentioned something about AWS and Azure? –obviously, requiring constant specialization of GFT professionals.
Before start contributing make sure you read the “contribution guidelines”:
Join the Slack community. Stay tuned on GitHub issues. Contribute with source code, documentation, QA, tests, UX/UI, security. Suggestions for improvement, bring it on code, performance or, even proposing a good practice in software development that isn’t being used yet.
In addition, if you are a Cloud Architect Leader I strongly encourage you to test and consider proposing to your team to use it as well. In the short term, this project is expected to have a Preview Release version in June/2020. A roadmap to a LTS (Long Term Supported) version is being designed.
I would be very happy to receive your criticisms and suggestions.
Cheers! See you in the clouds.