how to find open source monolith codebases? - github

I need to find monolith architecture codebases to make a research. Preferably in Python or JavaScript. Do you have a suggestion on how to find these codebases?
I currently searched for this topic on Github: https://github.com/topics/monolith
But it doesn't have many options.

Look at these repositories:
Monolithic model-view-controller full-stack web application built with
Python, Flask, SQL Alchemy, MySQL, Jinja, and Bootstrap. Application
Server hosted on AWS EC2 with Ubuntu, Gunicorn, and Nginx. MySQL
Database on AWS RDS. Redis hosted on AWS Elasticache. CI/CD with
Jenkins and AWS CodeDeploy
and:
This is one of my projects under Udacity's Cloud Native Application
Architecture Nanodegree. In this project, I have refactored
Udaconnect's monolithic architecture into a microservice architecture
using several message passing techniques. First, I have reviewed the
application and chose the best message passing techniques suitable for
each micr…
and:
SFA-API is the prototype of an API with two different architectures
(monolothic architecture and a microservice architecture).

Related

Hyperledger Console usability

I'm tasked with creating a hyperledger application that will represent a consortium of same-skilled organizations.
I have the barebones prototype with a network of 2 orgs, built by following the fabric-samples example that I created as a capstone project; I am looking to upgrade the application to a production level.
My question is, is there a GUI/platform available to create and maintain hyperledger fabric networks?
What are the alternatives for tools like the Console?
What would be the best way to start building such an application considering the goal is to get to the production level?
Is IBM Cloud Blockchain Platform the best option for me?
Thank you for taking the time to reply.
I know of Hyperledger Console. I have used it previously for school projects. But can it be used to create and maintain+govern a production-grade HLF app?
IBM Blockchain Platform on IBM Cloud is withdrawn (https://www.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=872/ENUSWP22-0062&infotype=AN&subtype=CA). But the console is open sourced as https://github.com/hyperledger-labs/fabric-operations-console

How to deploy code to IBM Cloud using DevOps approach?

Can somebody bring some light in IBM Cloud deployments tools / platforms whatever?
I am new to it, so I am looking at their docs, watching videos and still i am confused.
What I want to achieve is typical scenario fetch code from repo, build it, test it, deploy it to cloud. I found strategies / platforms how to achieve that and i still can't see differences advantages / disadvantages between them.
So we have:
toolchain
cloud foundry
code engine
Continuous Delivery (service)
and maybe something more? :)
I am looking at Cloud Foundry explained video and the guy is saying if you want to do not care about the bottom part like networking, security, containers you can choose deploy using K8S service. Wtf? So from total automatic thing you can now handle something in the cloud foundry by yourself. So for me its total mix of everything together and i don't know now which tool / platform / strategy to use.
Any comment is appreciated.
It all depends on your requirements.
IBM DevOps/Continuous Delivery/Toolchanis is set of services that can build and deploy your application to given runtime. You can find various tutorials here - https://www.ibm.com/cloud/architecture/courses/toolchain-tutorials. These tutorials shows you various things that you can embed in your build pipelines (like code scanning with CRA, image scanning, signing etc)
These runtimes can be different depending on your requirements:
CloudFoundry, where you deploy app using a buildpak, but this is rather fading technology, so I wouldn't recommend that
as docker image in K8s/OpenShift cluster - use this if your organization is planning or already utilizing Docker/Kubernetes/OpenShift. You will need to create K8s/OpenShift cluster first.
as serverless app, using the IBM Code Engine
If you are just starting and just want to deploy simple, single app to the Cloud I'd consider using IBM Code Engine and not investigate Toolchains for now. Check basic demo here - How to deploy source code with IBM Cloud Code Engine

Containers (Kubernetes) vs Web service (REST APIs)

I have a single screen desktop application developed in Java. It is a tool to convert files, given a file in .abc format, the tool converts it to .xyz format. Basically the tool works offline and acts as a translator to convert file from one form to another.
So now, to improve the infrastructure, there are discussions to move the tool to Kubernetes or to provide REST services for the file conversion. I completely have no idea about the containers nor the REST APIs as I am a front-end developer.
More about the tool, as I told earlier, the tool is a single page application, very light doing very minimal job, totally used by 200 users approximately. So, this being the shape and size of the application, which one would be the best approach to go with and why? Basically, I am looking for a short evaluation report of Kubernetes vs REST service and architecture recommendation with reasons.
Currently your application is a standalone application which is quite an old concept.
I can mention high-level changes needs to be done when your file conversion logic would be exposed over Rest Api in Kubernetes world.
you can go through one by one following mentioned areas to get a better understanding design-wise:
java code would be a backend code and its public methods that take inputs from UI actions will be exposed over rest API.
There are multiple rest API's (jersey, rest easy, etc or spring/spring-boot framework also provides rest API support) that you can go through any of them to get an understanding.
once your backend is exposed over the rest API then it needs to be containerized means your backend will be running under the container. Can go through docker documentation and can build one sample containerized app. There is huge material present in this area.
once your backend is containerized then it will be installed in a Kubernetes cluster
Kubernetes is basically a container orchestration tool and it's quite a wide thing. you can through its official documentation for basic understanding.
SPA will be running on a client machine like today also you are able to launch from your desktop but it will communicate with the Kubernetes cluster where your application is presently packaged in a container.
References:
docker :
https://docs.docker.com/
Kubernetes :
https://kubernetes.io/

Two different Web IDEs on HANA Cloud Platform

I was following the blog post SAP Web IDE - Enablement and noticed that I have been using a different Web IDE on HCP(HANA Cloud Platform). Can someone explain the two different Web IDEs.
One is accessed via tha HANA Instances page as seen below:
and as you can see this is an old version and looks significantly different:
and there is the other one (accessed via subscriptions menu) which is the up-to-date version and has many other capabilities:
So are these two IDEs different in terms of purpose?
As far as I understand, the second IDE(the new one) is used for local development and the application developed there can be deployed to HANA later on (the first one does not have any options related to deployment but it provides direct development on HANA) . Also there are other things that confuses me:
Can the second IDE connect to a HANA instance directly? We have xsjslib files that connects to the HANA DB and fetches data. ..or is the second editor is only for developing HTML5 applications without HANA connection?
Also in the this document it states that "If an HTML5 application requires connectivity to one or more back-end systems, destinations must be created or assigned". Can someone elaborate on this?
Thanks in advance.
I found the answer with a parallel post on SCN Network: http://scn.sap.com/message/16139215
The bottom line is that(quoting the answer from the link)
These are 2 different things, Web IDE and HANA Web Dev Workbench:
first is for SAPUI5/Fiori development/extension, second - HANA related
development.
So WebIDE is suitable for UI5 development meanwhile HANA Dev Workbench is for developing backend services.

Heroku-like services for Scala?

I love Heroku but I would prefer to develop in Scala rather than Ruby on Rails.
Does anyone know of any services like Heroku that work with Scala?
UPDATE: Heroku now officially supports Scala - see answers below for links
As of October 3rd 2011, Heroku officially supports Scala, Akka and sbt.
http://blog.heroku.com/archives/2011/10/3/scala/
Update
Heroku has just announced support for Java.
Update 2
Heroku has just announced support for Scala
Also
Check out Amazon Elastic Beanstalk.
To deploy Java applications using
Elastic Beanstalk, you simply:
Create your application as you
normally would using any editor or IDE
(e.g. Eclipse).
Package your
deployable code into a standard Java
Web Application Archive (WAR file).
Upload your WAR file to Elastic
Beanstalk using the AWS Management
Console, the AWS Toolkit for Eclipse,
the web service APIs, or the Command
Line Tools.
Deploy your application.
Behind the scenes, Elastic Beanstalk
handles the provisioning of a load
balancer and the deployment of your
WAR file to one or more EC2 instances
running the Apache Tomcat application
server.
Within a few minutes you will
be able to access your application at
a customized URL (e.g.
http://myapp.elasticbeanstalk.com/).
Once an application is running,
Elastic Beanstalk provides several
management features such as:
Easily deploy new application versions
to running environments (or rollback
to a previous version).
Access
built-in CloudWatch monitoring metrics
such as average CPU utilization,
request count, and average latency.
Receive e-mail notifications through
Amazon Simple Notification Service
when application health changes or
application servers are added or
removed.
Access Tomcat server log
files without needing to login to the
application servers.
Quickly restart
the application servers on all EC2
instances with a single command.
Another strong contender is Cloud Foundry. One of the nice features of Cloud Foundry is the ability to have a local version of "the cloud" running on your laptop so you can deploy and test offline.
I started working on the exact same thing as what you said a few weeks ago. I use Lift, which is a great framework and has a lot of potential, on top of Linux chroot environment.
I'm done with a demo version, but Linux chroot is not that stable (nor secure), so I'm now switching to FreeBSD jail on Amazon EC2, and hopefully it'll be done soon.
http://lifthub.net/
There are also other Java hosting environment including VMForce mentioned above.
If you are looking for a custom setup which also has the ease of deployment that heroku offers: http://dotcloud.com. They are invite only right now but I was given access in under three days. I am working on a Lift/MongoDB project there and it works well.
Off the top of my head, only VMForce comes to mind, but its not available yet. This will be a Java-oriented service, so that probably means you'll have to spend a wee bit of time figuring out how to package the app.
For more discussion, there was a debate about this in 2008.
I'm not entirely sure if it's really suitable or not, but people have deployed Scala applications to Google App Engine, for example http://mawson.wordpress.com/2009/04/10/first-steps-with-scala-on-google-app-engine/
Actually you can run scala on heroku right now. You don't believe it?
https://github.com/lstoll/heroku-playframework-scala
I'm not sure the tricks lstoll has used are legit but using the
new cedar platform where you can run custom processes and some
ingenious Gemfile hacking he has managed to bootstrap the Java
play platform into a process. Seems to work as he has a live
site running a test page.
Stax cloud service offers preconfigured lift project skeleton. Also, there is a tutorial on how to deploy lift project to appengine.